[Tex/LaTex] utmthesis error: You can’t pop an empty literal stack for entry

bibliographiescitingnatbib

I am using a custom .bst file for thesis write up and getting the above Error for few references.

\documentclass[12pt]{article}
\usepackage{natbib}
\begin{document}

This is an example fo citation \citep{abdelhamid2012mac}. This is another citation \citep{agrawal1994fast, ali1997partial}. \citet{ali1997partial} is the final one.

\bibliographystyle{utmthesis-authordate}
%\bibliographystyle{utmthesis-numbering}
\bibliography{phdrefrences}
\end{document}

here are the entries in the bibliography file

@ARTICLE{abdelhamid2012mac,
   author = {Abdelhamid, Neda and Ayesh, Aladdin and Thabtah, Fadi and Ahmadi,  Samad and Hadi, Wael},
   title = {MAC: A Multiclass Associative Classification Algorithm},
   journal = {Journal of Information \& Knowledge Management},
   year = {2012},
   volume = {11},
   pages = {1-10},
   number = {02},
   publisher = {World Scientific}
}
@CONFERENCE{agrawal1994fast,
  author = {Agrawal, Rakesh and Srikant, Ramakrishnan and others},
  title = {Fast algorithms for mining association rules},
  booktitle = {Proc. 20th Int. Conf. Very Large Data Bases, VLDB},
  year = {1994},
  volume = {1215},
  pages = {487--499}
}
@CONFERENCE{agrawal1994fast,
   author = {Agrawal, Rakesh and Srikant, Ramakrishnan and others},
   title = {Fast algorithms for mining association rules},
   booktitle = {Proc. 20th Int. Conf. Very Large Data Bases, VLDB},
   year = {1994},
   volume = {1215},
   pages = {487--499}
}

The references are shown in the bibliography but I want to resolve the warning.

This is BibTeX, Version 0.99d (MiKTeX 2.9 64-bit)
The top-level auxiliary file: References.aux
The style file: utmthesis-authordate.bst
Database file #1: phdrefrences.bib
You can't pop an empty literal stack for entry agrawal1994fast
while executing---line 1711 of file utmthesis-authordate.bst
You can't pop an empty literal stack for entry ali1997partial
while executing---line 1711 of file utmthesis-authordate.bst
(There were 2 error messages)

Best Answer

The bibliography style needs the month field. It erroneously calls skip$ instead of pushing an empty string literal in line 538.

The function should be:

FUNCTION {format.month}
{
  month empty$
    { "" }
    { " " month * }
  if$
}

The call format.month output in line 1208 expects format.month to leave a string on the stack.

So, either

  1. fix the bst file, replacing the function as above, or

  2. ensure every inproceedings/conference entry has a field month

In any case, you should report this issue, e.g. at the github page.

(Note: it is more common to name the entry type inproceedings rather than conference. Intuitively, I would assume that conference refers to a whole conference, not a single talk. inproceedings is more clear: it refers to one "entity" in the proceedings of the conference.)

Related Question