Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Crash with animated/live backgrounds #116

Open
BenBE opened this issue Oct 7, 2021 · 2 comments
Open

Crash with animated/live backgrounds #116

BenBE opened this issue Oct 7, 2021 · 2 comments
Labels
bug Something isn't working experimental Things we want to play with outside the stable build

Comments

@BenBE
Copy link
Collaborator

BenBE commented Oct 7, 2021

Crash on experimental branch using animated/live backgrounds:

main [grab:  2806054 retr:  8208613 copy:   246660 prep:  4396040 mask: 11148906 post:       61 v4l2:  6063207 FPS: 30.42] ai: [wait: 22613512 prep:  1334692 tflt:  6603206 mask:   417547 FPS: 31.18] 
(experimental-0-gabee2f87:172148): Gdk-CRITICAL **: 23:59:05.322: gdk_window_get_toplevel: assertion 'GDK_IS_WINDOW (window)' failed

Thread 16 "backscrub" received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0x7fffa7fff700 (LWP 172168)]
0x00007ffff676e72d in ?? () from /usr/lib/x86_64-linux-gnu/libgdk-3.so.0
LEGEND: STACK | HEAP | CODE | DATA | RWX | RODATA
───────────────────────────────────────────────────────────────────────────────────────────────────────────────[ REGISTERS ]────────────────────────────────────────────────────────────────────────────────────────────────────────────────
 RAX  0x0
 RBX  0x7fffa7ffd240 ◂— 0x0
 RCX  0x7fff9c000048 —▸ 0x7fff9c122e60 ◂— 0x80
 RDX  0x0
 RDI  0x7fff9c0008d6 ◂— 0x7000600050007
 RSI  0x1
 R8   0x7
 R9   0x9a
 R10  0x7fffa7ff9d40 —▸ 0x7fff9c0aa4b0 —▸ 0x7fff9c322d00 —▸ 0x7fff9c0bfef0 —▸ 0x7fff9c913cf0 ◂— ...
 R11  0x0
 R12  0x7fff9c323b40 ◂— 0x1
 R13  0x7fff9c1e96d0 ◂— 0x1
 R14  0x555555ee5de0 ◂— 0x555555ee5de0
 R15  0x7fffa7ffd330 ◂— 0x7fff01010000
 RBP  0x555555ee5de0 ◂— 0x555555ee5de0
 RSP  0x7fffa7ffd210 ◂— 0x0
 RIP  0x7ffff676e72d ◂— mov    eax, dword ptr [rax + 0x100]
─────────────────────────────────────────────────────────────────────────────────────────────────────────────────[ DISASM ]─────────────────────────────────────────────────────────────────────────────────────────────────────────────────
 ► 0x7ffff676e72d    mov    eax, dword ptr [rax + 0x100]
   0x7ffff676e733    test   eax, eax
   0x7ffff676e735    jne    0x7ffff676e723 <0x7ffff676e723>
    ↓
   0x7ffff676e723    pop    rbp
   0x7ffff676e724    ret    
 
   0x7ffff676e725    nop    dword ptr [rax]
   0x7ffff676e728    call   gdk_window_get_toplevel <gdk_window_get_toplevel>
 
   0x7ffff676e72d    mov    eax, dword ptr [rax + 0x100]
   0x7ffff676e733    test   eax, eax
   0x7ffff676e735    jne    0x7ffff676e723 <0x7ffff676e723>
 
   0x7ffff676e737    mov    rdi, rbp
─────────────────────────────────────────────────────────────────────────────────────────────────────────────────[ STACK ]──────────────────────────────────────────────────────────────────────────────────────────────────────────────────
00:0000│ rsp  0x7fffa7ffd210 ◂— 0x0
01:0008│      0x7fffa7ffd218 —▸ 0x7ffff676ea60 ◂— jmp    0x7ffff676e93d
02:0010│      0x7fffa7ffd220 ◂— 0x3c0
03:0018│      0x7fffa7ffd228 ◂— 0x0
... ↓
07:0038│      0x7fffa7ffd248 ◂— 0xf000000140
───────────────────────────────────────────────────────────────────────────────────────────────────────────────[ BACKTRACE ]────────────────────────────────────────────────────────────────────────────────────────────────────────────────
 ► f 0     7ffff676e72d
   f 1     7ffff676ea60
   f 2     7ffff6bb224a gtk_widget_queue_draw_area+202
   f 3     7ffff6bb989c gtk_widget_queue_draw+188
   f 4     7ffff7f780ed
   f 5     7ffff7f7a0f4 cvShowImage+132
   f 6     7ffff7f72cfd
   f 7     5555555a8adc read_thread(std::shared_ptr<background_t>)+1346
────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
pwndbg> bt full
#0  0x00007ffff676e72d in  () at /usr/lib/x86_64-linux-gnu/libgdk-3.so.0
#1  0x00007ffff676ea60 in  () at /usr/lib/x86_64-linux-gnu/libgdk-3.so.0
#2  0x00007ffff6bb224a in gtk_widget_queue_draw_area () at /usr/lib/x86_64-linux-gnu/libgtk-3.so.0
#3  0x00007ffff6bb989c in gtk_widget_queue_draw () at /usr/lib/x86_64-linux-gnu/libgtk-3.so.0
#4  0x00007ffff7f780ed in  () at /usr/lib/x86_64-linux-gnu/libopencv_highgui.so.4.2
#5  0x00007ffff7f7a0f4 in cvShowImage () at /usr/lib/x86_64-linux-gnu/libopencv_highgui.so.4.2
#6  0x00007ffff7f72cfd in cv::imshow(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, cv::_InputArray const&) () at /usr/lib/x86_64-linux-gnu/libopencv_highgui.so.4.2
#7  0x00005555555a8adc in read_thread(std::shared_ptr<background_t>) ()
#8  0x00005555555ab06e in void std::__invoke_impl<void, void (*)(std::shared_ptr<background_t>), std::shared_ptr<background_t> >(std::__invoke_other, void (*&&)(std::shared_ptr<background_t>), std::shared_ptr<background_t>&&) ()
#9  0x00005555555aafac in std::__invoke_result<void (*)(std::shared_ptr<background_t>), std::shared_ptr<background_t> >::type std::__invoke<void (*)(std::shared_ptr<background_t>), std::shared_ptr<background_t> >(void (*&&)(std::shared_ptr<background_t>), std::shared_ptr<background_t>&&) ()                                                                                                                                                                                     
#10 0x00005555555aaf0b in void std::thread::_Invoker<std::tuple<void (*)(std::shared_ptr<background_t>), std::shared_ptr<background_t> > >::_M_invoke<0ul, 1ul>(std::_Index_tuple<0ul, 1ul>) ()
#11 0x00005555555aae9e in std::thread::_Invoker<std::tuple<void (*)(std::shared_ptr<background_t>), std::shared_ptr<background_t> > >::operator()() ()
#12 0x00005555555aae30 in std::thread::_State_impl<std::thread::_Invoker<std::tuple<void (*)(std::shared_ptr<background_t>), std::shared_ptr<background_t> > > >::_M_run() ()
#13 0x00007ffff7425de4 in  () at /usr/lib/x86_64-linux-gnu/libstdc++.so.6
#14 0x00007ffff71cb609 in start_thread (arg=<optimized out>) at pthread_create.c:477
        ret = <optimized out>
        pd = <optimized out>
        unwind_buf = {
          cancel_jmp_buf = {{
              jmp_buf = {140736011958016, -8222578280321195037, 140737488343726, 140737488343727, 140737488343728, 140736011950592, 8222666242538660835, 8222559887469503459},
              mask_was_saved = 0
            }},
          priv = {
            pad = {0x0, 0x0, 0x0, 0x0},
            data = {
              prev = 0x0,
              cleanup = 0x0,
              canceltype = 0
            }
          }
        }
        not_first_call = 0
#15 0x00007ffff70f2293 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Doesn't happen right away, but after some (random) delay …

@BenBE BenBE added bug Something isn't working experimental Things we want to play with outside the stable build labels Oct 7, 2021
@phlash
Copy link
Collaborator

phlash commented Nov 7, 2021

Hopefully addressed by #122, let's leave this open for a while to check...

@BenBE
Copy link
Collaborator Author

BenBE commented Nov 7, 2021

Latest build from experimental seems stable with the recently applied changes. No crashes seen so far with build experimental-0-g04bc4b3c (04bc4b3).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working experimental Things we want to play with outside the stable build
Projects
None yet
Development

No branches or pull requests

2 participants