Comment # 2 on bug 1042012 from
With disassemble /s to_cdata in gdb I see

 248         if (!cd) {
    0x0000000000619314 <+116>:   je     0x619375 <to_cdata+213>

 249             lua_pushnil(L);
 250             return NULL;
 251         }
 252         *ct = cd->type;
 => 0x0000000000619316 <+118>:   movdqa (%rax),%xmm0

 253         lua_getuservalue(L, idx);
    0x000000000061931a <+122>:   mov    %r13d,%esi
    0x000000000061931d <+125>:   mov    %rbx,%rdi

that is that movdqa instruction does cause the segementation fault:

 Transcript written on luaimage.log.
 ../../../texk/web2c/luatexdir/luaimage.test: line 12: 31382 Segmentation fault
(core dumped) ./luatex -ini luaimage
 FAIL luatexdir/luaimage.test (exit status: 1)

On frame above the function to_cdata() its self is called with


 Dump of assembler code for function check_cdata:
 ../../../texk/web2c/luatexdir/luaffi/ctype.c:
 269     {
    0x0000000000619390 <+0>:     push   %r13
    0x0000000000619392 <+2>:     push   %r12
    0x0000000000619394 <+4>:     mov    %esi,%r12d
    0x0000000000619397 <+7>:     push   %rbp
    0x0000000000619398 <+8>:     push   %rbx
    0x0000000000619399 <+9>:     mov    %rdx,%rbx
    0x000000000061939c <+12>:    mov    %rdi,%rbp
    0x000000000061939f <+15>:    sub    $0x8,%rsp

 270         void* p = to_cdata(L, idx, ct);
    0x00000000006193a3 <+19>:    callq  0x6192a0 <to_cdata>

 271         if (ct->type == INVALID_TYPE) {
 => 0x00000000006193a8 <+24>:    testb  $0x7c,0x19(%rbx)

 270         void* p = to_cdata(L, idx, ct);
    0x00000000006193ac <+28>:    mov    %rax,%r13

 271         if (ct->type == INVALID_TYPE) {
    0x00000000006193af <+31>:    jne    0x6193c5 <check_cdata+53>


You are receiving this mail because: