Wireshark-bugs: [Wireshark-bugs] [Bug 12955] New: Interface list issues after system sleep/resum
Date: Tue, 27 Sep 2016 12:54:16 +0000
Bug ID | 12955 |
---|---|
Summary | Interface list issues after system sleep/resume (duplicate entries, double-free) |
Product | Wireshark |
Version | Git |
Hardware | x86-64 |
OS | Linux (other) |
Status | UNCONFIRMED |
Severity | Major |
Priority | Low |
Component | Qt UI |
Assignee | [email protected] |
Reporter | [email protected] |
Build Information: Wireshark 2.3.0 (v2.3.0rc0-820-g8b04755 from master) Copyright 1998-2016 Gerald Combs <[email protected]> and contributors. License GPLv2+: GNU GPL version 2 or later <http://www.gnu.org/licenses/old-licenses/gpl-2.0.html> This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. Compiled (64-bit) with Qt 5.7.0, with libpcap, with POSIX capabilities (Linux), with libnl 3, with GLib 2.48.2, with zlib 1.2.8, without SMI, with c-ares 1.11.0, with Lua 5.2.4, with GnuTLS 3.4.15, with Gcrypt 1.7.3, with MIT Kerberos, with GeoIP, with QtMultimedia, without AirPcap. Running on Linux 4.7.2-1-ARCH, with Intel(R) Core(TM) i7-6700HQ CPU @ 2.60GHz (with SSE4.2), with 31996 MB of physical memory, with locale en_GB.UTF-8, with libpcap version 1.7.4, with GnuTLS 3.4.15, with Gcrypt 1.7.3, with zlib 1.2.8. Built using gcc 6.2.1 20160830. -- At times I have experienced the problem of duplicate interfaces in the interfaces list after resuming from system sleep while Wireshark is open (idle, not capturing). To reproduce: 1. Open Wireshark 2. System sleep and resume Expected result: Sane number of interfaces (no duplicates). Actual result: A number of duplicates for every interface, after two sleep/resume I see 10 and 13 duplicates of each interface (Wireshark 2.0.5 and git master respectively). any, bluetooth-monitor, bluetooth0, dbus-session, dbus-system, eth0, he6, lo, nflog, nfqueue, usbmon*, wlan0. Wireshark 2.0.5 had no extcap interfaces, git master also has a number of extcap interfaces (cisco, randpkt, ssh, udp, a custom ssh-tcpdump). I also got this double-free for git master (not always reproducible, maybe a race condition): ==31972==ERROR: AddressSanitizer: attempting double-free on 0x6060000d5fe0 in thread T0: #0 0x7fa5f90e4b00 in __interceptor_free /build/gcc-multilib/src/gcc/libsanitizer/asan/asan_malloc_linux.cc:45 #1 0x55f7c93f67f4 in scan_local_interfaces ui/iface_lists.c:144 #2 0x55f7c88cd83a in WiresharkApplication::refreshLocalInterfaces() ui/qt/wireshark_application.cpp:893 #3 0x55f7c88cd754 in iface_mon_event_cb ui/qt/wireshark_application.cpp:867 #4 0x55f7c9497ca2 in iface_mon_handler2 caputils/iface_monitor.c:113 #5 0x7fa5e3aac08d (/usr/lib/libnl-3.so.200+0xf08d) #6 0x7fa5e3cddeff (/usr/lib/libnl-route-3.so.200+0x1feff) #7 0x7fa5e3aa9112 in nl_cache_parse (/usr/lib/libnl-3.so.200+0xc112) #8 0x7fa5e3aad9fa in nl_msg_parse (/usr/lib/libnl-3.so.200+0x109fa) #9 0x55f7c9497cdd in iface_mon_handler caputils/iface_monitor.c:123 #10 0x7fa5e3aaf38b in nl_recvmsgs_report (/usr/lib/libnl-3.so.200+0x1238b) #11 0x7fa5e3aaf7c8 in nl_recvmsgs (/usr/lib/libnl-3.so.200+0x127c8) #12 0x55f7c9497cf7 in iface_mon_event caputils/iface_monitor.c:130 #13 0x55f7c88cd81c in WiresharkApplication::ifChangeEventsAvailable() ui/qt/wireshark_application.cpp:883 #14 0x55f7c8b1ed03 in WiresharkApplication::qt_static_metacall(QObject*, QMetaObject::Call, int, void**) ui/qt/moc_wireshark_application.cpp:228 #15 0x7fa5e26e34e8 in QMetaObject::activate(QObject*, int, int, void**) (/usr/lib/libQt5Core.so.5+0x2b24e8) #16 0x7fa5e275dc6d in QSocketNotifier::activated(int, QSocketNotifier::QPrivateSignal) (/usr/lib/libQt5Core.so.5+0x32cc6d) #17 0x7fa5e26f0191 in QSocketNotifier::event(QEvent*) (/usr/lib/libQt5Core.so.5+0x2bf191) #18 0x7fa5e3397e3b in QApplicationPrivate::notify_helper(QObject*, QEvent*) (/usr/lib/libQt5Widgets.so.5+0x153e3b) #19 0x7fa5e339f5b0 in QApplication::notify(QObject*, QEvent*) (/usr/lib/libQt5Widgets.so.5+0x15b5b0) #20 0x7fa5e26b7c7f in QCoreApplication::notifyInternal2(QObject*, QEvent*) (/usr/lib/libQt5Core.so.5+0x286c7f) #21 0x7fa5e270ca2c (/usr/lib/libQt5Core.so.5+0x2dba2c) #22 0x7fa5f87dce66 in g_main_context_dispatch (/usr/lib/libglib-2.0.so.0+0x49e66) #23 0x7fa5f87dd0cf (/usr/lib/libglib-2.0.so.0+0x4a0cf) #24 0x7fa5f87dd17b in g_main_context_iteration (/usr/lib/libglib-2.0.so.0+0x4a17b) #25 0x7fa5e270c57e in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) (/usr/lib/libQt5Core.so.5+0x2db57e) #26 0x55f7c81df292 in main_window_update wireshark-qt.cpp:131 #27 0x55f7c948efab in sync_pipe_open_command capchild/capture_sync.c:916 #28 0x55f7c948f34d in sync_pipe_run_command_actual capchild/capture_sync.c:978 #29 0x55f7c94903b7 in sync_pipe_run_command capchild/capture_sync.c:1156 #30 0x55f7c9490cac in sync_interface_list_open capchild/capture_sync.c:1260 #31 0x55f7c94899a2 in capture_interface_list capchild/capture_ifinfo.c:112 #32 0x55f7c93f6819 in scan_local_interfaces ui/iface_lists.c:145 #33 0x55f7c88cd83a in WiresharkApplication::refreshLocalInterfaces() ui/qt/wireshark_application.cpp:893 #34 0x55f7c88cd754 in iface_mon_event_cb ui/qt/wireshark_application.cpp:867 #35 0x55f7c9497ca2 in iface_mon_handler2 caputils/iface_monitor.c:113 #36 0x7fa5e3aac08d (/usr/lib/libnl-3.so.200+0xf08d) #37 0x7fa5e3cddeff (/usr/lib/libnl-route-3.so.200+0x1feff) #38 0x7fa5e3aa9112 in nl_cache_parse (/usr/lib/libnl-3.so.200+0xc112) #39 0x7fa5e3aad9fa in nl_msg_parse (/usr/lib/libnl-3.so.200+0x109fa) #40 0x55f7c9497cdd in iface_mon_handler caputils/iface_monitor.c:123 #41 0x7fa5e3aaf38b in nl_recvmsgs_report (/usr/lib/libnl-3.so.200+0x1238b) #42 0x7fa5e3aaf7c8 in nl_recvmsgs (/usr/lib/libnl-3.so.200+0x127c8) #43 0x55f7c9497cf7 in iface_mon_event caputils/iface_monitor.c:130 #44 0x55f7c88cd81c in WiresharkApplication::ifChangeEventsAvailable() ui/qt/wireshark_application.cpp:883 #45 0x55f7c8b1ed03 in WiresharkApplication::qt_static_metacall(QObject*, QMetaObject::Call, int, void**) ui/qt/moc_wireshark_application.cpp:228 #46 0x7fa5e26e34e8 in QMetaObject::activate(QObject*, int, int, void**) (/usr/lib/libQt5Core.so.5+0x2b24e8) #47 0x7fa5e275dc6d in QSocketNotifier::activated(int, QSocketNotifier::QPrivateSignal) (/usr/lib/libQt5Core.so.5+0x32cc6d) #48 0x7fa5e26f0191 in QSocketNotifier::event(QEvent*) (/usr/lib/libQt5Core.so.5+0x2bf191) #49 0x7fa5e3397e3b in QApplicationPrivate::notify_helper(QObject*, QEvent*) (/usr/lib/libQt5Widgets.so.5+0x153e3b) #50 0x7fa5e339f5b0 in QApplication::notify(QObject*, QEvent*) (/usr/lib/libQt5Widgets.so.5+0x15b5b0) #51 0x7fa5e26b7c7f in QCoreApplication::notifyInternal2(QObject*, QEvent*) (/usr/lib/libQt5Core.so.5+0x286c7f) #52 0x7fa5e270ca2c (/usr/lib/libQt5Core.so.5+0x2dba2c) #53 0x7fa5f87dce66 in g_main_context_dispatch (/usr/lib/libglib-2.0.so.0+0x49e66) #54 0x7fa5f87dd0cf (/usr/lib/libglib-2.0.so.0+0x4a0cf) #55 0x7fa5f87dd17b in g_main_context_iteration (/usr/lib/libglib-2.0.so.0+0x4a17b) #56 0x7fa5e270c57e in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) (/usr/lib/libQt5Core.so.5+0x2db57e) #57 0x7fa5e26b60d9 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) (/usr/lib/libQt5Core.so.5+0x2850d9) #58 0x7fa5e26be5cb in QCoreApplication::exec() (/usr/lib/libQt5Core.so.5+0x28d5cb) #59 0x55f7c81e2a84 in main wireshark-qt.cpp:856 #60 0x7fa5e0476290 in __libc_start_main (/usr/lib/libc.so.6+0x20290) #61 0x55f7c81df169 in _start (/tmp/wsbuild/run/wireshark+0x21bd169) 0x6060000d5fe0 is located 0 bytes inside of 54-byte region [0x6060000d5fe0,0x6060000d6016) freed by thread T0 here: #0 0x7fa5f90e4b00 in __interceptor_free /build/gcc-multilib/src/gcc/libsanitizer/asan/asan_malloc_linux.cc:45 #1 0x55f7c93f67f4 in scan_local_interfaces ui/iface_lists.c:144 #2 0x55f7c88cd83a in WiresharkApplication::refreshLocalInterfaces() ui/qt/wireshark_application.cpp:893 #3 0x55f7c88cd754 in iface_mon_event_cb ui/qt/wireshark_application.cpp:867 #4 0x55f7c9497ca2 in iface_mon_handler2 caputils/iface_monitor.c:113 #5 0x7fa5e3aac08d (/usr/lib/libnl-3.so.200+0xf08d) previously allocated by thread T0 here: #0 0x7fa5f90e5210 in __interceptor_realloc /build/gcc-multilib/src/gcc/libsanitizer/asan/asan_malloc_linux.cc:75 #1 0x7fa5e054e92f in __vasprintf_chk (/usr/lib/libc.so.6+0xf892f) SUMMARY: AddressSanitizer: double-free /build/gcc-multilib/src/gcc/libsanitizer/asan/asan_malloc_linux.cc:45 in __interceptor_free
You are receiving this mail because:
- You are watching all bug changes.
- Follow-Ups:
- Prev by Date: [Wireshark-bugs] [Bug 12954] New: SMB2 dissector fails on GetInfo Request messages with an assertion exception
- Next by Date: [Wireshark-bugs] [Bug 12956] New: checkAPIs.pl sees shadow variable where there is none
- Previous by thread: [Wireshark-bugs] [Bug 12954] New: SMB2 dissector fails on GetInfo Request messages with an assertion exception
- Next by thread: [Wireshark-bugs] [Bug 12955] Interface list issues after system sleep/resume (duplicate entries, double-free)
- Index(es):