Segmentation fault while retrieving latest headers
Submitted by nar..@..il.com
Assigned to pan..@..e.bugs
Link to original bug (#790772)
Description
When trying to retrieve the latest headers the following happens:
Relevant runlog before the crash:
(...) (socket-impl-openssl.cc:786:set_watch_mode) set_watch_mode IGNORE: _tag_watch is now 0 (socket-impl-openssl.cc:757:set_watch_mode) socket 0x7f71bc001310 calling set_watch_mode 0; _channel is 0x7f71bc001790 (socket-impl-openssl.cc:770:set_watch_mode) channel 0x7f71bc001790 setting mode read (socket-impl-openssl.cc:786:set_watch_mode) set_watch_mode READ: _tag_watch is now 5507 (socket-impl-openssl.cc:743:gio_func) gio_func: sock 0x7f71bc001310, channel 0x7f71bc001790, cond IN (socket-impl-openssl.cc:757:set_watch_mode) socket 0x7f71bc001310 calling set_watch_mode 2; _channel is 0x7f71bc001790 (socket-impl-openssl.cc:766:set_watch_mode) channel 0x7f71bc001790 setting mode IGNORE (socket-impl-openssl.cc:786:set_watch_mode) set_watch_mode IGNORE: _tag_watch is now 0 (socket-impl-openssl.cc:757:set_watch_mode) socket 0x7f71bc001310 calling set_watch_mode 0; _channel is 0x7f71bc001790 (socket-impl-openssl.cc:770:set_watch_mode) channel 0x7f71bc001790 setting mode read (socket-impl-openssl.cc:786:set_watch_mode) set_watch_mode READ: _tag_watch is now 5509 (socket-impl-openssl.cc:743:gio_func) gio_func: sock 0x7f71bc001310, channel 0x7f71bc001790, cond IN (socket-impl-openssl.cc:757:set_watch_mode) socket 0x7f71bc001310 calling set_watch_mode 2; _channel is 0x7f71bc001790 (socket-impl-openssl.cc:766:set_watch_mode) channel 0x7f71bc001790 setting mode IGNORE (socket-impl-openssl.cc:786:set_watch_mode) set_watch_mode IGNORE: _tag_watch is now 0 (socket-impl-openssl.cc:757:set_watch_mode) socket 0x7f71bc001310 calling set_watch_mode 0; _channel is 0x7f71bc001790 (socket-impl-openssl.cc:770:set_watch_mode) channel 0x7f71bc001790 setting mode read (socket-impl-openssl.cc:786:set_watch_mode) set_watch_mode READ: _tag_watch is now 5511 (socket-impl-openssl.cc:743:gio_func) gio_func: sock 0x7f71bc001310, channel 0x7f71bc001790, cond IN (queue.cc:292:process_task) in process_task with a task of type XOVER (queue.cc:348:process_task) online (queue.cc:360:process_task) break (queue.cc:292:process_task) in process_task with a task of type XOVER (queue.cc:348:process_task) online (queue.cc:360:process_task) break (queue.cc:292:process_task) in process_task with a task of type XOVER (queue.cc:348:process_task) online (queue.cc:360:process_task) break (queue.cc:292:process_task) in process_task with a task of type XOVER (queue.cc:348:process_task) online (queue.cc:360:process_task) break (queue.cc:292:process_task) in process_task with a task of type XOVER (queue.cc:348:process_task) online (queue.cc:360:process_task) break (queue.cc:292:process_task) in process_task with a task of type XOVER (queue.cc:348:process_task) online (queue.cc:360:process_task) break (queue.cc:292:process_task) in process_task with a task of type XOVER (queue.cc:348:process_task) online (queue.cc:360:process_task) break (queue.cc:292:process_task) in process_task with a task of type XOVER (queue.cc:348:process_task) online (queue.cc:360:process_task) break (queue.cc:292:process_task) in process_task with a task of type XOVER (queue.cc:348:process_task) online (queue.cc:360:process_task) break (queue.cc:292:process_task) in process_task with a task of type XOVER (queue.cc:348:process_task) online (queue.cc:360:process_task) break (socket-impl-openssl.cc:703:timeout_func) error: channel 0x7f71cc0051f0 not responding. (socket-impl-openssl.cc:757:set_watch_mode) socket 0x7f71cc001310 calling set_watch_mode 2; _channel is 0x7f71cc001740 (socket-impl-openssl.cc:766:set_watch_mode) channel 0x7f71cc001740 setting mode IGNORE (socket-impl-openssl.cc:786:set_watch_mode) set_watch_mode IGNORE: _tag_watch is now 0 (nntp.cc:63:fire_done_func) I (0x55d54933da00) am setting my _listener to 0 Segmentation fault (core dumped)
Backtrace:
(gdb) run
Starting program: /usr/bin/pan
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/usr/lib/libthread_db.so.1".
[New Thread 0x7fffea691700 (LWP 6623)]
[New Thread 0x7fffe9e90700 (LWP 6624)]
[New Thread 0x7fffe8b1d700 (LWP 6625)]
[New Thread 0x7fffe3fff700 (LWP 6626)]
[New Thread 0x7fffe37fe700 (LWP 6627)]
[New Thread 0x7fffe2ffd700 (LWP 6628)]
[New Thread 0x7fffe1f35700 (LWP 6629)]
[New Thread 0x7fffe1734700 (LWP 6630)]
[Thread 0x7fffe1734700 (LWP 6630) exited]
(pan:6619): GLib-CRITICAL **: g_hash_table_lookup: assertion 'hash_table != NULL' failed
(pan:6619): GLib-CRITICAL **: g_hash_table_insert_internal: assertion 'hash_table != NULL' failed
(pan:6619): GLib-CRITICAL **: g_hash_table_lookup: assertion 'hash_table != NULL' failed
(pan:6619): GLib-CRITICAL **: g_hash_table_insert_internal: assertion 'hash_table != NULL' failed [Thread 0x7fffe1f35700 (LWP 6629) exited]
Thread 1 "pan" received signal SIGSEGV, Segmentation fault. 0x00007ffff4d75230 in ____strtoll_l_internal () from /usr/lib/libc.so.6
(gdb) thread apply all bt
Thread 7 (Thread 0x7fffe2ffd700 (LWP 6628)):
#0 0x00007ffff4e2ce79 in syscall () at /usr/lib/libc.so.6
#1 0x00007ffff634a6b1 in g_cond_wait () at /usr/lib/libglib-2.0.so.0
#2 0x00007ffff633d3bc in () at /usr/lib/libglib-2.0.so.0
#3 0x00007ffff6311fd6 in () at /usr/lib/libglib-2.0.so.0
#4 0x00007ffff63171eb in () at /usr/lib/libglib-2.0.so.0
#5 0x00007ffff50fb08a in start_thread () at /usr/lib/libpthread.so.0
#6 0x00007ffff4e3247f in clone () at /usr/lib/libc.so.6
Thread 6 (Thread 0x7fffe37fe700 (LWP 6627)):
#0 0x00007ffff4e2ce79 in syscall () at /usr/lib/libc.so.6
#1 0x00007ffff634a6b1 in g_cond_wait () at /usr/lib/libglib-2.0.so.0
#2 0x00007ffff633d3bc in () at /usr/lib/libglib-2.0.so.0
#3 0x00007ffff6311fd6 in () at /usr/lib/libglib-2.0.so.0
#4 0x00007ffff63171eb in () at /usr/lib/libglib-2.0.so.0
#5 0x00007ffff50fb08a in start_thread () at /usr/lib/libpthread.so.0
#6 0x00007ffff4e3247f in clone () at /usr/lib/libc.so.6
Thread 5 (Thread 0x7fffe3fff700 (LWP 6626)):
#0 0x00007ffff4e2ce79 in syscall () at /usr/lib/libc.so.6
#1 0x00007ffff634a6b1 in g_cond_wait () at /usr/lib/libglib-2.0.so.0
#2 0x00007ffff633d3bc in () at /usr/lib/libglib-2.0.so.0
#3 0x00007ffff6311fd6 in () at /usr/lib/libglib-2.0.so.0
#4 0x00007ffff63171eb in () at /usr/lib/libglib-2.0.so.0
#5 0x00007ffff50fb08a in start_thread () at /usr/lib/libpthread.so.0
#6 0x00007ffff4e3247f in clone () at /usr/lib/libc.so.6
Thread 4 (Thread 0x7fffe8b1d700 (LWP 6625)):
#0 0x00007ffff4e2ce79 in syscall () at /usr/lib/libc.so.6
#1 0x00007ffff634a6b1 in g_cond_wait () at /usr/lib/libglib-2.0.so.0
#2 0x00007ffff633d3bc in () at /usr/lib/libglib-2.0.so.0
#3 0x00007ffff6311fd6 in () at /usr/lib/libglib-2.0.so.0
#4 0x00007ffff63171eb in () at /usr/lib/libglib-2.0.so.0
#5 0x00007ffff50fb08a in start_thread () at /usr/lib/libpthread.so.0
#6 0x00007ffff4e3247f in clone () at /usr/lib/libc.so.6
Thread 3 (Thread 0x7fffe9e90700 (LWP 6624)):
#0 0x00007ffff4e27f7b in poll () at /usr/lib/libc.so.6
#1 0x00007ffff6322ed3 in () at /usr/lib/libglib-2.0.so.0
#2 0x00007ffff6323f42 in g_main_loop_run () at /usr/lib/libglib-2.0.so.0
#3 0x00007ffff30ee208 in () at /usr/lib/libgio-2.0.so.0
#4 0x00007ffff63171eb in () at /usr/lib/libglib-2.0.so.0
#5 0x00007ffff50fb08a in start_thread () at /usr/lib/libpthread.so.0
#6 0x00007ffff4e3247f in clone () at /usr/lib/libc.so.6
Thread 2 (Thread 0x7fffea691700 (LWP 6623)):
#0 0x00007ffff4e27f7b in poll () at /usr/lib/libc.so.6
#1 0x00007ffff6322ed3 in () at /usr/lib/libglib-2.0.so.0
#2 0x00007ffff6322fae in g_main_context_iteration () at /usr/lib/libglib-2.0.so.0
#3 0x00007ffff6323002 in () at /usr/lib/libglib-2.0.so.0
#4 0x00007ffff63171eb in () at /usr/lib/libglib-2.0.so.0
#5 0x00007ffff50fb08a in start_thread () at /usr/lib/libpthread.so.0
#6 0x00007ffff4e3247f in clone () at /usr/lib/libc.so.6
Thread 1 (Thread 0x7ffff7f9d480 (LWP 6619)):
#0 0x00007ffff4d75230 in ____strtoll_l_internal () at /usr/lib/libc.so.6
#1 0x00005555556910e7 in pan::TaskXOver::on_nntp_done(pan::NNTP*, pan::Health, pan::StringView const&) ()
#2 0x000055555569af46 in pan::NNTP::fire_done_func(pan::Health, pan::StringView const&) ()
#3 0x000055555569afe6 in pan::NNTP::on_socket_error(pan::Socket*) ()
#4 0x00005555556b53bd in pan::GIOChannelSocketGnuTLS::gio_func(_GIOChannel*, GIOCondition) ()
---Type <return> to continue, or q <return> to quit---
#5 0x00005555556b55dc in pan::GIOChannelSocketGnuTLS::timeout_func(void*) ()
#6 0x00007ffff631fcb3 in () at /usr/lib/libglib-2.0.so.0
#7 0x00007ffff63210be in g_main_context_dispatch () at /usr/lib/libglib-2.0.so.0
#8 0x00007ffff6322f69 in () at /usr/lib/libglib-2.0.so.0
#9 0x00007ffff6323f42 in g_main_loop_run () at /usr/lib/libglib-2.0.so.0
#10 0x00007ffff74e727f in gtk_main () at /usr/lib/libgtk-3.so.0
#11 0x00005555555bc0f8 in main ()
(gdb) quit
$ ldd /usr/bin/pan linux-vdso.so.1 (0x00007ffe8c9a0000) libgtkspell3-3.so.0 => /usr/lib/libgtkspell3-3.so.0 (0x00007fe29ae6a000) libgtk-3.so.0 => /usr/lib/libgtk-3.so.0 (0x00007fe29a54f000) libgdk-3.so.0 => /usr/lib/libgdk-3.so.0 (0x00007fe29a258000) libpango-1.0.so.0 => /usr/lib/libpango-1.0.so.0 (0x00007fe29a009000) libcairo.so.2 => /usr/lib/libcairo.so.2 (0x00007fe299ceb000) libgdk_pixbuf-2.0.so.0 => /usr/lib/libgdk_pixbuf-2.0.so.0 (0x00007fe299ac7000) libgobject-2.0.so.0 => /usr/lib/libgobject-2.0.so.0 (0x00007fe299871000) libglib-2.0.so.0 => /usr/lib/libglib-2.0.so.0 (0x00007fe299552000) libenchant.so.1 => /usr/lib/libenchant.so.1 (0x00007fe299347000) libgmime-3.0.so.0 => /usr/lib/libgmime-3.0.so.0 (0x00007fe2990ce000) libgnutls.so.30 => /usr/lib/libgnutls.so.30 (0x00007fe298d63000) libz.so.1 => /usr/lib/libz.so.1 (0x00007fe298b4c000) libstdc++.so.6 => /usr/lib/libstdc++.so.6 (0x00007fe2987c5000) libgcc_s.so.1 => /usr/lib/libgcc_s.so.1 (0x00007fe2985ae000) libpthread.so.0 => /usr/lib/libpthread.so.0 (0x00007fe298390000) libc.so.6 => /usr/lib/libc.so.6 (0x00007fe297fd8000) libgmodule-2.0.so.0 => /usr/lib/libgmodule-2.0.so.0 (0x00007fe297dd4000) libpangocairo-1.0.so.0 => /usr/lib/libpangocairo-1.0.so.0 (0x00007fe297bc7000) libX11.so.6 => /usr/lib/libX11.so.6 (0x00007fe297888000) libXi.so.6 => /usr/lib/libXi.so.6 (0x00007fe297677000) libXfixes.so.3 => /usr/lib/libXfixes.so.3 (0x00007fe297471000) libcairo-gobject.so.2 => /usr/lib/libcairo-gobject.so.2 (0x00007fe297268000) libatk-1.0.so.0 => /usr/lib/libatk-1.0.so.0 (0x00007fe297042000) libatk-bridge-2.0.so.0 => /usr/lib/libatk-bridge-2.0.so.0 (0x00007fe296e10000) libepoxy.so.0 => /usr/lib/libepoxy.so.0 (0x00007fe296b2a000) libpangoft2-1.0.so.0 => /usr/lib/libpangoft2-1.0.so.0 (0x00007fe296916000) libfontconfig.so.1 => /usr/lib/libfontconfig.so.1 (0x00007fe2966d1000) libgio-2.0.so.0 => /usr/lib/libgio-2.0.so.0 (0x00007fe296327000) libm.so.6 => /usr/lib/libm.so.6 (0x00007fe295fdb000) libXinerama.so.1 => /usr/lib/libXinerama.so.1 (0x00007fe295dd8000) libXrandr.so.2 => /usr/lib/libXrandr.so.2 (0x00007fe295bcd000) libXcursor.so.1 => /usr/lib/libXcursor.so.1 (0x00007fe2959c2000) libXcomposite.so.1 => /usr/lib/libXcomposite.so.1 (0x00007fe2957bf000) libXdamage.so.1 => /usr/lib/libXdamage.so.1 (0x00007fe2955bc000) libxkbcommon.so.0 => /usr/lib/libxkbcommon.so.0 (0x00007fe29537c000) libwayland-cursor.so.0 => /usr/lib/libwayland-cursor.so.0 (0x00007fe295174000) libwayland-egl.so.1 => /usr/lib/libwayland-egl.so.1 (0x00007fe294f72000) libwayland-client.so.0 => /usr/lib/libwayland-client.so.0 (0x00007fe294d63000) libXext.so.6 => /usr/lib/libXext.so.6 (0x00007fe294b51000) librt.so.1 => /usr/lib/librt.so.1 (0x00007fe294949000) libthai.so.0 => /usr/lib/libthai.so.0 (0x00007fe29473f000) libpixman-1.so.0 => /usr/lib/libpixman-1.so.0 (0x00007fe294497000) libfreetype.so.6 => /usr/lib/libfreetype.so.6 (0x00007fe2941d1000) libpng16.so.16 => /usr/lib/libpng16.so.16 (0x00007fe293f9b000) libxcb-shm.so.0 => /usr/lib/libxcb-shm.so.0 (0x00007fe293d97000) libxcb.so.1 => /usr/lib/libxcb.so.1 (0x00007fe293b6e000) libxcb-render.so.0 => /usr/lib/libxcb-render.so.0 (0x00007fe293960000) libXrender.so.1 => /usr/lib/libXrender.so.1 (0x00007fe293755000) libffi.so.6 => /usr/lib/libffi.so.6 (0x00007fe29354c000) libpcre.so.1 => /usr/lib/libpcre.so.1 (0x00007fe2932d9000) libgpgme.so.11 => /usr/lib/libgpgme.so.11 (0x00007fe293095000) libidn.so.11 => /usr/lib/libidn.so.11 (0x00007fe292e61000) libp11-kit.so.0 => /usr/lib/libp11-kit.so.0 (0x00007fe292b31000) libunistring.so.2 => /usr/lib/libunistring.so.2 (0x00007fe2927c0000) libtasn1.so.6 => /usr/lib/libtasn1.so.6 (0x00007fe2925ad000) libnettle.so.6 => /usr/lib/libnettle.so.6 (0x00007fe292376000) libhogweed.so.4 => /usr/lib/libhogweed.so.4 (0x00007fe292140000) libgmp.so.10 => /usr/lib/libgmp.so.10 (0x00007fe291ead000) /lib64/ld-linux-x86-64.so.2 => /usr/lib64/ld-linux-x86-64.so.2 (0x00007fe29b4f0000) libdl.so.2 => /usr/lib/libdl.so.2 (0x00007fe291ca9000) libdbus-1.so.3 => /usr/lib/libdbus-1.so.3 (0x00007fe291a58000) libatspi.so.0 => /usr/lib/libatspi.so.0 (0x00007fe291826000) libharfbuzz.so.0 => /usr/lib/libharfbuzz.so.0 (0x00007fe291588000) libexpat.so.1 => /usr/lib/libexpat.so.1 (0x00007fe291356000) libmount.so.1 => /usr/lib/libmount.so.1 (0x00007fe291100000) libresolv.so.2 => /usr/lib/libresolv.so.2 (0x00007fe290ee9000) libdatrie.so.1 => /usr/lib/libdatrie.so.1 (0x00007fe290ce1000) libbz2.so.1.0 => /usr/lib/libbz2.so.1.0 (0x00007fe290ad1000) libXau.so.6 => /usr/lib/libXau.so.6 (0x00007fe2908cd000) libXdmcp.so.6 => /usr/lib/libXdmcp.so.6 (0x00007fe2906c7000) libassuan.so.0 => /usr/lib/libassuan.so.0 (0x00007fe2904b4000) libgpg-error.so.0 => /usr/lib/libgpg-error.so.0 (0x00007fe29029f000) libsystemd.so.0 => /usr/lib/libsystemd.so.0 (0x00007fe290020000) libgraphite2.so.3 => /usr/lib/libgraphite2.so.3 (0x00007fe28fdf4000) libblkid.so.1 => /usr/lib/libblkid.so.1 (0x00007fe28fba7000) libuuid.so.1 => /usr/lib/libuuid.so.1 (0x00007fe28f9a0000) libgcrypt.so.20 => /usr/lib/libgcrypt.so.20 (0x00007fe28f684000) liblzma.so.5 => /usr/lib/liblzma.so.5 (0x00007fe28f45e000) liblz4.so.1 => /usr/lib/liblz4.so.1 (0x00007fe28f249000)
Version: 0.14.3