GNOME Bugzilla – Bug 645198
Segfault while scrolling the path bar
Last modified: 2011-03-21 15:36:53 UTC
When i scroll the path bar, i get a segfault. Here is the stack trace: Program received signal SIGSEGV, Segmentation fault. -----------------------------------------------------------------------------------------------------------------------[regs] RAX: 0x0000000000000000 RBX: 0x00007FFFE2A85060 RCX: 0x0000000000000004 RDX: 0x0000000000000018 o d I t s z A P c RSI: 0x00000000023C3000 RDI: 0x00000000029FD460 RBP: 0x00007FFFE2A84E80 RSP: 0x00007FFFE2A84E10 RIP: 0x00000000004542B8 R8 : 0x00007F901E9FE528 R9 : 0x0000000000007397 R10: 0x0000000000000000 R11: 0x0000000000000001 R12: 0x0000000000453D8B R13: 0x00000000026FD8F0 R14: 0x0000000002870260 R15: 0x00007FFFE2A85060 CS: 0033 DS: 0000 ES: 0000 FS: 0000 GS: 0000 SS: 002B -----------------------------------------------------------------------------------------------------------------------[code] => 0x4542b8 <nautilus_path_bar_scroll_down+553>: mov rax,QWORD PTR [rax+0x10] 0x4542bc <nautilus_path_bar_scroll_down+557>: mov QWORD PTR [rbp-0x18],rax 0x4542c0 <nautilus_path_bar_scroll_down+561>: mov rax,QWORD PTR [rbp-0x68] 0x4542c4 <nautilus_path_bar_scroll_down+565>: mov rdx,QWORD PTR [rbp-0x18] 0x4542c8 <nautilus_path_bar_scroll_down+569>: mov QWORD PTR [rax+0xa0],rdx 0x4542cf <nautilus_path_bar_scroll_down+576>: mov eax,DWORD PTR [rbp-0x1c] 0x4542d2 <nautilus_path_bar_scroll_down+579>: cmp eax,DWORD PTR [rbp-0x28] 0x4542d5 <nautilus_path_bar_scroll_down+582>: jl 0x45429f <nautilus_path_bar_scroll_down+528> ----------------------------------------------------------------------------------------------------------------------------- 0x00000000004542b8 in nautilus_path_bar_scroll_down (path_bar=0x26fd8f0) at nautilus-pathbar.c:931 931 up_button = up_button->prev; gdb$ bt
+ Trace 226380
If you can reproduce it, can you please install debuginfo packages of gtk+, glib2, X11 and provide updated traces, tia.
gdb$ bt
+ Trace 226388
I can't really reproduce this here, but we were actually unconditionally iterating over pointers in a while(), so I see how it could crash. I pushed a fix to master.
The fix seems to work. I can't reproduce the problem anymore.
Thanks for testing, glad it worked.