On Fri, May 18, 2012 at 6:56 PM, Marco Pessotto wrote:
Taco Hoekwater
writes: I guessed as much. Unfortunately, as I cannot reproduce the bug, this is where it ends for me. Perhaps Hartmut has a 32-bit system somewhere (CC).
Best wishes, Taco
PS Hartmut: full thread is here: http://archive.contextgarden.net/message/20120516.012657.49ebfe34.en.html
Just for the sake of giving more (probably useless) information:
1. I updated the sources today and rebuild luatex (0.70.2). Same crash (not that I thought it would be magically fixed by itself, but just to be sure).
2. I diffed the luatex sources of texlive-2011 with the pretest one, and are just a bunch of chunks. Now, I don't know anything about C, but it doesn't seem a radical change.
Taco didn't commit any update at all, except for version change (and Khaled did some math-related updates recently).
So I thought that maybe it's poppler the culprit, and I tried to rebuild with the sistem poppler. But here it fails miserably during compilation.
You can try to checkout revision 26300 from TeX Live repository. That should give you a good reference. http://tug.org/svn/texlive?view=revision&revision=26301
Now, shooting in the dark: the sources of TeXlive ship poppler 0.20. I compiled and tested the svn trunk of luatex, and it works (no crash, as reported by Luigi), but it's linked against poppler 0.18, as far as I can see.
You are not shooting in the dark. This was my earlier guess as well. It's crashing while dealing with pdf and basically the only relevant change between TL 2011 & 12 is a different poppler version.
Well, that was all I could do, please let me know if I can do anything else.
If you could also try to build revision 26300 with debugging symbols (and possibly try to upload the binary somewhere, so that others could try as well), that might help. I either have or can try to install a virtual machine with i386-linux, but building TeX Live in virtual machine will take forever, so having a working binary with all debugging symbols could help. (I'm not 100% sure if the binary for mac has been compiled before or after poppler update.) If you like debugging, you could set a few breakpoints in the following lines that work with poststruct: ./texk/web2c/luatexdir/lua/lpdflib.c: pdf_set_pos(static_pdf, static_pdf->posstruct->pos); ./texk/web2c/luatexdir/lua/lpdflib.c: (void) calc_pdfpos(static_pdf->pstruct, static_pdf->posstruct->pos); ./texk/web2c/luatexdir/lua/lpdflib.c: (void) calc_pdfpos(static_pdf->pstruct, static_pdf->posstruct->pos); ./texk/web2c/luatexdir/lua/lpdflib.c: lua_pushnumber(L, static_pdf->posstruct->pos.h); ./texk/web2c/luatexdir/lua/lpdflib.c: lua_pushnumber(L, static_pdf->posstruct->pos.v); ./texk/web2c/synctexdir/synctex-luatex.h:#define SYNCTEX_CURV (dimen_par(page_height_code)-static_pdf->posstruct->pos.v) ./texk/web2c/synctexdir/synctex-luatex.h:#define SYNCTEX_CURH static_pdf->posstruct->pos.h and compare behaviour of old & new luatex. But that's just a blind guess. Mojca