Dear devs, The example below crashes LuaTeX with a segmentation fault. It is reproducible with LuaTeX 1.10.1 7143 and LuaTeX 1.11.2 7226. To this end I built 7226 from source with --debugopt to get a backtrace, which can be found below as well.
Cheers, Henri --- \directlua{token.set_macro(-1, "foo","\string\\,")} \show\foo \foo \bye --- (gdb) run Starting program: /usr/local/bin/luatex test.tex This is LuaTeX, Version 1.11.2 (TeX Live 2020/dev) restricted system commands enabled. (./test.tex Program received signal SIGSEGV, Segmentation fault. get_sa_item (head=0x41002, n=n@entry=92) at ../../../source/texk/web2c/luatexdir/utils/managed-sa.c:65 65 if (head->tree != NULL) { (gdb) bt full #0 get_sa_item (head=0x41002, n=n@entry=92) at ../../../source/texk/web2c/luatexdir/utils/managed-sa.c:65 No locals. #1 0x00000000005607d0 in get_cat_code (h=h@entry=-1, n=n@entry=92) at ../../../source/texk/web2c/luatexdir/tex/textcodes.c:68 sa_value = <optimized out> s = <optimized out> #2 0x00000000004d8a8c in set_macro (L=<optimized out>) at ../../../source/texk/web2c/luatexdir/lua/lnewtokenlib.c:1204 p = <optimized out> q = <optimized out> t = <optimized out> se = 0x295bf9a "" name = <optimized out> str = <optimized out> s = <optimized out> lname = 3 lstr = 2 cs = 743 cc = <optimized out> ct = -1 n = <optimized out> a = 0 nncs = <optimized out> #3 0x00000000006dc924 in luaD_precall (L=L@entry=0x1202678, func=func@entry=0x2214490, nresults=nresults@entry=0) at ../../../source/libs/lua53/lua53-src/src/ldo.c:434 n = <optimized out> f = 0x4d8890 <set_macro> ci = 0x123c830 #4 0x00000000006f62c2 in luaV_execute (L=L@entry=0x1202678) at ../../../source/libs/lua53/lua53-src/src/lvm.c:1134 b = <optimized out> nresults = 0 i = <optimized out> ra = 0x2214490 ci = 0x12221c0 cl = 0x2952f00 k = 0x294ea40 base = <optimized out> #5 0x00000000006dcef7 in luaD_call (nResults=<optimized out>, func=<optimized out>, L=0x1202678) at ../../../source/libs/lua53/lua53-src/src/ldo.c:499 No locals. #6 luaD_callnoyield (L=0x1202678, func=<optimized out>, nResults=<optimized out>) at ../../../source/libs/lua53/lua53-src/src/ldo.c:509 No locals. #7 0x00000000006db78c in luaD_rawrunprotected (L=0x1202678, f=0x6d0800 <f_call>, ud=0x7fffffffdf80) at ../../../source/libs/lua53/lua53-src/src/ldo.c:142 oldnCcalls = 0 lj = {previous = 0x0, b = {{__jmpbuf = {832, -3576387603206626035, 18884312, 1, 18884216, 0, 3576387604335174925, -3576387282536356595}, __mask_was_saved = 0, __saved_mask = {__val = {0, 18884312, 18884216, 7198250, 35733824, 72057594037927937, 140737488346976, 0, 0, 0, 0, 0, 0, 0, 0, 0}}}}, status = 0} #8 0x00000000006dd3af in luaD_pcall (L=L@entry=0x1202678, func=func@entry=0x6d0800 <f_call>, u=u@entry=0x7fffffffdf80, old_top=832, ef=<optimized out>) at ../../../source/libs/lua53/lua53-src/src/ldo.c:729 status = <optimized out> old_ci = 0x12026d8 old_allowhooks = 1 '\001' old_nny = 1 old_errfunc = 0 oldtop = <optimized out> #9 0x00000000006d3907 in lua_pcallk (L=0x1202678, nargs=nargs@entry=0, nresults=nresults@entry=0, errfunc=errfunc@entry=51, ctx=ctx@entry=0, k=k@entry=0x0) at ../../../source/libs/lua53/lua53-src/src/lapi.c:969 c = {func = 0x2214480, nresults = 0} status = <optimized out> func = <optimized out> #10 0x0000000000463b5f in luatokencall (p=p@entry=9030, nameptr=nameptr@entry=0) at ../../../source/texk/web2c/luatexdir/lua/luastuff.c:653 base = 51 ls = {s = 0x295e890 "\240܂\367\377\177", size = 0} i = 0 l = 32 s = 0x0 lua_id = <optimized out> stacktop = 50 #11 0x0000000000567a83 in conv_toks () at ../../../source/texk/web2c/luatexdir/tex/textoken.c:2859 old_setting = <optimized out> p = <optimized out> q = <optimized out> save_scanner_status = 0 save_def_ref = 0 save_warning_index = 0 bool = <optimized out> s = 9030 sn = 0 u = 0 c = <optimized out> str = <optimized out> i = 0 #12 0x0000000000503a25 in expand () at ../../../source/texk/web2c/luatexdir/tex/expand.c:259 t = <optimized out> p = <optimized out> ---Type <return> to continue, or q <return> to quit--- cur_ptr = <optimized out> cv_backup = 0 cvl_backup = 0 radix_backup = 0 co_backup = 0 backup_backup = 7961 save_scanner_status = <optimized out> #13 0x0000000000503f85 in get_x_token () at ../../../source/texk/web2c/luatexdir/tex/expand.c:501 No locals. #14 0x0000000000513ae5 in main_control () at ../../../source/texk/web2c/luatexdir/tex/maincontrol.c:1014 No locals. #15 0x000000000050f4ac in main_body () at ../../../source/texk/web2c/luatexdir/tex/mainbody.c:567 pdftex_map = "pdftex.map" bad = <optimized out> #16 0x0000000000446d2e in main (ac=<optimized out>, av=<optimized out>) at ../../../source/texk/web2c/luatexdir/luatex.c:609 No locals. ___________________________________________________________________________________ If your question is of interest to others as well, please add an entry to the Wiki! maillist : ntg-context@ntg.nl / http://www.ntg.nl/mailman/listinfo/ntg-context webpage : http://www.pragma-ade.nl / http://context.aanhet.net archive : https://bitbucket.org/phg/context-mirror/commits/ wiki : http://contextgarden.net ___________________________________________________________________________________