texlive-install: core dumped

Ken Brown kbrown@cornell.edu
Sun Jun 30 15:36:00 GMT 2013


On 6/30/2013 7:50 AM, Helmut Karlowski wrote:
> Ken Brown, 30.06.2013 04:34:00:
>> If you want to try debugging this with gdb, the texlive-debuginfo
>> package contains the files you need.
>
> Thanks! Found the bug:
>
> In
>
> texk/web2c/luatexdir/lua/loslibext.c:649
>
> In
>
> 632     static void find_env(lua_State * L)
> 633     {
> 634         char *envitem, *envitem_orig;
> (gdb)
> 635         char *envkey;
> 636         char **envpointer;
> 637         envpointer = environ;
> 638         lua_getglobal(L, "os");
> 639         if (envpointer != NULL && lua_istable(L, -1)) {
> 640             luaL_checkstack(L, 2, "out of stack space");
> 641             lua_pushstring(L, "env");
> 642             lua_newtable(L);
> 643             while (*envpointer) {
> 644                 /* TODO: perhaps a memory leak here  */
> (gdb)
> 645                 luaL_checkstack(L, 2, "out of stack space");
> 646                 envitem = xstrdup(*envpointer);
> 647                 envitem_orig = envitem;
> 648                 envkey = envitem;
> 649                 while (*envitem != '=') {
> 650                     envitem++;
> 651                 }
> 652                 *envitem = 0;
> 653                 envitem++;
> 654                 lua_pushstring(L, envkey);
> (gdb)
> 655                 lua_pushstring(L, envitem);
> 656                 lua_rawset(L, -3);
> 657                 envpointer++;
> 658                 free(envitem_orig);
> 659             }
> 660             lua_rawset(L, -3);
> 661         }
> 662         lua_pop(L, 1);
> 663     }
>
>
> It crashes in line 649, because my shell put an item without '=' in the
> environment, and there is no 0-check in find_env(), which appears to be
> a good thing. Fixed.

I'm glad you found it.  Does the malformed environment string also 
explain the other strange errors you were seeing?

Ken


--
Problem reports:       http://cygwin.com/problems.html
FAQ:                   http://cygwin.com/faq/
Documentation:         http://cygwin.com/docs.html
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple



More information about the Cygwin mailing list