lua-users home
lua-l archive

[Date Prev][Date Next][Thread Prev][Thread Next] [Date Index] [Thread Index]


On Wed, Jul 1, 2020, at 15:26, Roberto Ierusalimschy wrote:

> We don't have access to an arch linux platform. Can you try to gather
> more information? (For instance, compile Lua with -g, try different
> numbers, etc.)

I can reproduce and it. Different numbers also crash.

Doing this prevents the crash (!)

    --- src/lobject.old.c   2020-07-01 16:35:34.525256170 +0200
    +++ src/lobject.c   2020-07-01 16:34:38.293400900 +0200
    @@ -346,6 +346,7 @@
       if (ttisinteger(obj))
         len = lua_integer2str(buff, MAXNUMBER2STR, ivalue(obj));
       else {
    +    fprintf(stderr, "%p\n", buff);
         len = lua_number2str(buff, MAXNUMBER2STR, fltvalue(obj));
         if (buff[strspn(buff, "-0123456789")] == '\0') {  /* looks like an int? */
           buff[len++] = lua_getlocaledecpoint();

Here is the stacktrace in GDB  with -g and Valgrind output:

https://gist.github.com/catwell/2834a61cca8118b6d5fc4786e7ebed8e

-- 
Pierre Chapuis