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