Skip to content

apt python3.10 broken? (cxa_thread_atexit crash) #63

Description

@ndrewh

Occurs on python3.10 from apt (dev branch), only when outside of a venv?

Dump of assembler code for function __cxa_thread_atexit_impl:
   0x00007f46ce25fc80 <+0>:	endbr64
   0x00007f46ce25fc84 <+4>:	push   %r13
   0x00007f46ce25fc86 <+6>:	mov    %rsi,%r13
   0x00007f46ce25fc89 <+9>:	mov    $0x20,%esi
   0x00007f46ce25fc8e <+14>:	push   %r12
   0x00007f46ce25fc90 <+16>:	mov    %rdx,%r12
   0x00007f46ce25fc93 <+19>:	push   %rbp
   0x00007f46ce25fc94 <+20>:	mov    %rdi,%rbp
   0x00007f46ce25fc97 <+23>:	mov    $0x1,%edi
   0x00007f46ce25fc9c <+28>:	push   %rbx
   0x00007f46ce25fc9d <+29>:	xor    %fs:0x30,%rbp
   0x00007f46ce25fca6 <+38>:	rol    $0x11,%rbp
   0x00007f46ce25fcaa <+42>:	sub    $0x8,%rsp
   0x00007f46ce25fcae <+46>:	call   0x7f46ce242400
   0x00007f46ce25fcb3 <+51>:	test   %rax,%rax
   0x00007f46ce25fcb6 <+54>:	je     0x7f46ce25fd28 <__cxa_thread_atexit_impl+168>
   0x00007f46ce25fcb8 <+56>:	mov    %rbp,(%rax)
   0x00007f46ce25fcbb <+59>:	mov    %rax,%rbx
   0x00007f46ce25fcbe <+62>:	mov    0x1d42db(%rip),%rbp        # 0x7f46ce433fa0
   0x00007f46ce25fcc5 <+69>:	mov    %r13,0x8(%rax)
   0x00007f46ce25fcc9 <+73>:	mov    0x1d40c0(%rip),%rax        # 0x7f46ce433d90
   0x00007f46ce25fcd0 <+80>:	lea    0xa08(%rbp),%rdi
   0x00007f46ce25fcd7 <+87>:	mov    %fs:(%rax),%rdx
   0x00007f46ce25fcdb <+91>:	mov    %rdx,0x18(%rbx)
   0x00007f46ce25fcdf <+95>:	mov    %rbx,%fs:(%rax)
   0x00007f46ce25fce3 <+99>:	call   0x7f46ce2b1ef0 <___pthread_mutex_lock>
   0x00007f46ce25fce8 <+104>:	test   %r12,%r12
   0x00007f46ce25fceb <+107>:	jne    0x7f46ce25fd38 <__cxa_thread_atexit_impl+184>
   0x00007f46ce25fced <+109>:	mov    0x1d40a4(%rip),%r12        # 0x7f46ce433d98
   0x00007f46ce25fcf4 <+116>:	mov    %fs:(%r12),%rax
=> 0x00007f46ce25fcf9 <+121>:	lock addq $0x1,0x468(%rax)
(gdb) p/x $fs_base
$10 = 0x7f448b074400
(gdb) x/8gx 0x7f448b074400
0x7f448b074400:	0x00007f448b074400	0xabababababababab
0x7f448b074410:	0x00007f448b074400	0xabababababababab
0x7f448b074420:	0x00007f46cef96fe3	0xabababababababab
0x7f448b074430:	0xabababababababab	0xabababababababab
(gdb) p/x $r12
$11 = 0xfffffffffffffba0
(gdb) x/8gx 0x7f448b074400+0xfffffffffffffba0
0x7f448b073fa0:	0x0000000000000000	0x00007f448b64d250
0x7f448b073fb0:	0x0000000000000000	0x0000000000000000
0x7f448b073fc0:	0x0000000000000000	0x0000000000000000
0x7f448b073fd0:	0x0000000000000000	0x0000000000000000
(gdb) bt
#0  0x00007f46ce25fcf9 in __cxa_thread_atexit_impl (func=<optimized out>, obj=0x7f448b073e70, dso_symbol=<optimized out>) at ./stdlib/cxa_thread_atexit_impl.c:137
#1  0x00007f46ccf7579d in __cxa_thread_atexit ()
#2  0x00007f46cd6a049f in _GetErrorObj() ()
#3  0x00007f46cd71a471 in pkgInitConfig(Configuration&) ()
#4  0x00007f468ad8478c in ?? ()
#5  0x00007f46ce7bd008 in ?? ()
#6  0x00007f46ce774adc in _PyObject_MakeTpCall ()
#7  0x00007f46ce710a1c in _PyEval_EvalFrameDefault ()

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't workinghas-workaroundbug with a usable workaround

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions