Bug 417798 - Info Center crashed in findNICs()
Summary: Info Center crashed in findNICs()
Status: RESOLVED FIXED
Alias: None
Product: kinfocenter
Classification: Applications
Component: general (show other bugs)
Version: 5.18.0
Platform: Compiled Sources Linux
: NOR crash
Target Milestone: ---
Assignee: David Hubner
URL:
Keywords: drkonqi
Depends on:
Blocks:
 
Reported: 2020-02-17 17:44 UTC by mrbscottc
Modified: 2020-02-18 09:30 UTC (History)
2 users (show)

See Also:
Latest Commit:
Version Fixed In: 5.18.1


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description mrbscottc 2020-02-17 17:44:09 UTC
Application: kinfocenter (5.18.0)
 (Compiled from sources)
Qt Version: 5.13.2
Frameworks Version: 5.67.0
Operating System: Linux 5.3.0-28-generic x86_64
Windowing system: X11
Distribution: KDE neon User Edition 5.18

-- Information about the crash:
- What I was doing when the application crashed: I was clicking on the menu items in Info Center and when I got the the "Network Information" tab and clicked on "Network Interfaces," it crashed the application. Before I clicked on the former, I also clicked on Samba Status and it functioned normally, as well as every other menu selection in the app.

The crash can be reproduced every time.

-- Backtrace:
Application: Info Center (kinfocenter), signal: Segmentation fault
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
[Current thread is 1 (Thread 0x7f87edfab000 (LWP 31913))]

Thread 4 (Thread 0x7f87c6006700 (LWP 31917)):
#0  0x00007f87e5b479f3 in futex_wait_cancelable (private=<optimized out>, expected=0, futex_word=0x55d8c18516c8) at ../sysdeps/unix/sysv/linux/futex-internal.h:88
#1  __pthread_cond_wait_common (abstime=0x0, mutex=0x55d8c1851678, cond=0x55d8c18516a0) at pthread_cond_wait.c:502
#2  __pthread_cond_wait (cond=0x55d8c18516a0, mutex=0x55d8c1851678) at pthread_cond_wait.c:655
#3  0x00007f87c76a3ebb in ?? () from /usr/lib/x86_64-linux-gnu/dri/i965_dri.so
#4  0x00007f87c76a3ab7 in ?? () from /usr/lib/x86_64-linux-gnu/dri/i965_dri.so
#5  0x00007f87e5b416db in start_thread (arg=0x7f87c6006700) at pthread_create.c:463
#6  0x00007f87ea27088f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 3 (Thread 0x7f87d3535700 (LWP 31916)):
#0  0x00007f87ea25f0b4 in __GI___libc_read (fd=15, buf=0x7f87d3534b60, nbytes=16) at ../sysdeps/unix/sysv/linux/read.c:27
#1  0x00007f87e3c362d0 in ?? () from /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#2  0x00007f87e3bf10b7 in g_main_context_check () from /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#3  0x00007f87e3bf1570 in ?? () from /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#4  0x00007f87e3bf16dc in g_main_context_iteration () from /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#5  0x00007f87eabb6acb in QEventDispatcherGlib::processEvents (this=0x7f87cc000b20, flags=...) at kernel/qeventdispatcher_glib.cpp:425
#6  0x00007f87eab56f9a in QEventLoop::exec (this=this@entry=0x7f87d3534d70, flags=..., flags@entry=...) at kernel/qeventloop.cpp:225
#7  0x00007f87ea9723aa in QThread::exec (this=<optimized out>) at thread/qthread.cpp:531
#8  0x00007f87e80770e5 in ?? () from /usr/lib/x86_64-linux-gnu/libQt5DBus.so.5
#9  0x00007f87ea973b52 in QThreadPrivate::start (arg=0x7f87e82eed80) at thread/qthread_unix.cpp:360
#10 0x00007f87e5b416db in start_thread (arg=0x7f87d3535700) at pthread_create.c:463
#11 0x00007f87ea27088f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 2 (Thread 0x7f87db63d700 (LWP 31915)):
#0  0x00007f87ea263bf9 in __GI___poll (fds=0x7f87db63cca8, nfds=1, timeout=-1) at ../sysdeps/unix/sysv/linux/poll.c:29
#1  0x00007f87e5f67747 in ?? () from /usr/lib/x86_64-linux-gnu/libxcb.so.1
#2  0x00007f87e5f6936a in xcb_wait_for_event () from /usr/lib/x86_64-linux-gnu/libxcb.so.1
#3  0x00007f87de422e10 in QXcbEventQueue::run (this=0x55d8c16307d0) at qxcbeventqueue.cpp:228
#4  0x00007f87ea973b52 in QThreadPrivate::start (arg=0x55d8c16307d0) at thread/qthread_unix.cpp:360
#5  0x00007f87e5b416db in start_thread (arg=0x7f87db63d700) at pthread_create.c:463
#6  0x00007f87ea27088f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 1 (Thread 0x7f87edfab000 (LWP 31913)):
[KCrash Handler]
#6  0x00007f87bf598016 in findNICs () at ./Modules/nics/nic.cpp:254
#7  0x00007f87bf5983dc in KCMNic::update (this=this@entry=0x55d8c1d43660) at ./Modules/nics/nic.cpp:105
#8  0x00007f87bf598cf8 in KCMNic::KCMNic (this=0x55d8c1d43660, parent=<optimized out>) at ./Modules/nics/nic.cpp:92
#9  0x00007f87bf59981b in KPluginFactory::createInstance<KCMNic, QWidget> (parentWidget=<optimized out>, parent=<optimized out>, args=...) at /usr/include/KF5/KCoreAddons/kpluginfactory.h:532
#10 0x00007f87eba943d6 in KPluginFactory::create (this=this@entry=0x55d8c1774a20, iface=0x7f87ed206fd8 "KCModule", parentWidget=parentWidget@entry=0x0, parent=parent@entry=0x55d8c1cce440, args=..., keyword=...) at ./src/lib/plugin/kpluginfactory.cpp:145
#11 0x00007f87edb942d8 in KPluginFactory::create<KCModule> (args=..., keyword=..., parent=0x55d8c1cce440, parentWidget=0x0, this=0x55d8c1774a20) at /usr/include/KF5/KCoreAddons/kpluginfactory.h:574
#12 KService::createInstance<KCModule> (error=0x7ffc54f8edf8, args=..., parent=0x55d8c1cce440, parentWidget=0x0, this=<optimized out>, this=<optimized out>) at /usr/include/KF5/KService/kservice.h:550
#13 KService::createInstance<KCModule> (error=0x7ffc54f8edf8, args=..., parent=0x55d8c1cce440, this=<optimized out>) at /usr/include/KF5/KService/kservice.h:525
#14 KCModuleLoader::loadModule (mod=..., report=report@entry=KCModuleLoader::Inline, parent=0x55d8c1cce440, args=...) at ./src/kcmoduleloader.cpp:112
#15 0x00007f87edb9bb2f in KCModuleProxyPrivate::loadModule (this=this@entry=0x55d8c20970f0) at ./src/kcmoduleproxy.cpp:94
#16 0x00007f87edb9c6a8 in KCModuleProxy::realModule (this=<optimized out>) at ./src/kcmoduleproxy.cpp:67
#17 0x000055d8c13988b0 in KcmContainer::setKcm (this=0x55d8c1755bb0, info=...) at ./kcmcontainer.cpp:87
#18 0x000055d8c1395486 in KInfoCenter::setKcm (this=this@entry=0x55d8c16db1a0, kcmItem=kcmItem@entry=0x55d8c176c1f0) at ./infocenter.cpp:217
#19 0x000055d8c1395520 in KInfoCenter::itemClickedSlot (this=0x55d8c16db1a0, item=0x55d8c176c1f0) at ./infocenter.cpp:209
#20 0x000055d8c139c210 in KInfoCenter::qt_static_metacall (_o=<optimized out>, _c=<optimized out>, _id=<optimized out>, _a=<optimized out>) at ./obj-x86_64-linux-gnu/kinfocenter_autogen/EWIEGA46WW/moc_infocenter.cpp:89
#21 0x00007f87eab89805 in QMetaObject::activate (sender=0x55d8c16d88d0, signalOffset=<optimized out>, local_signal_index=local_signal_index@entry=0, argv=<optimized out>, argv@entry=0x7ffc54f8f290) at kernel/qobject.cpp:3809
#22 0x00007f87eab89ec7 in QMetaObject::activate (sender=<optimized out>, m=m@entry=0x55d8c15a1300 <SidePanel::staticMetaObject>, local_signal_index=local_signal_index@entry=0, argv=argv@entry=0x7ffc54f8f290) at kernel/qobject.cpp:3660
#23 0x000055d8c139bf8f in SidePanel::clicked (this=<optimized out>, _t1=<optimized out>) at ./obj-x86_64-linux-gnu/kinfocenter_autogen/EWIEGA46WW/moc_sidepanel.cpp:172
#24 0x00007f87eab8991f in QtPrivate::QSlotObjectBase::call (a=0x7ffc54f8f3c0, r=0x55d8c16d88d0, this=<optimized out>) at ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:394
#25 QMetaObject::activate (sender=sender@entry=0x55d8c16d88d0, signalOffset=<optimized out>, local_signal_index=local_signal_index@entry=1, argv=<optimized out>, argv@entry=0x7ffc54f8f3c0) at kernel/qobject.cpp:3789
#26 0x00007f87eab89ec7 in QMetaObject::activate (sender=sender@entry=0x55d8c16d88d0, m=m@entry=0x7f87ec545ca0 <QAbstractItemView::staticMetaObject>, local_signal_index=local_signal_index@entry=1, argv=argv@entry=0x7ffc54f8f3c0) at kernel/qobject.cpp:3660
#27 0x00007f87ec09f435 in QAbstractItemView::clicked (this=this@entry=0x55d8c16d88d0, _t1=...) at .moc/moc_qabstractitemview.cpp:654
#28 0x00007f87ec0a2503 in QAbstractItemView::mouseReleaseEvent (this=this@entry=0x55d8c16d88d0, event=event@entry=0x7ffc54f8fc90) at itemviews/qabstractitemview.cpp:1931
#29 0x00007f87ec115ff3 in QTreeView::mouseReleaseEvent (this=0x55d8c16d88d0, event=0x7ffc54f8fc90) at itemviews/qtreeview.cpp:1901
#30 0x00007f87ebe8dcb8 in QWidget::event (this=this@entry=0x55d8c16d88d0, event=event@entry=0x7ffc54f8fc90) at kernel/qwidget.cpp:9339
#31 0x00007f87ebf32a1e in QFrame::event (this=0x55d8c16d88d0, e=0x7ffc54f8fc90) at widgets/qframe.cpp:550
#32 0x00007f87ec0ab403 in QAbstractItemView::viewportEvent (this=this@entry=0x55d8c16d88d0, event=event@entry=0x7ffc54f8fc90) at itemviews/qabstractitemview.cpp:1753
#33 0x00007f87ec11580c in QTreeView::viewportEvent (this=0x55d8c16d88d0, event=0x7ffc54f8fc90) at itemviews/qtreeview.cpp:1311
#34 0x00007f87eab58bbd in QCoreApplicationPrivate::sendThroughObjectEventFilters (receiver=receiver@entry=0x55d8c1716110, event=event@entry=0x7ffc54f8fc90) at kernel/qcoreapplication.cpp:1221
#35 0x00007f87ebe4ce85 in QApplicationPrivate::notify_helper (this=this@entry=0x55d8c162de40, receiver=receiver@entry=0x55d8c1716110, e=e@entry=0x7ffc54f8fc90) at kernel/qapplication.cpp:3697
#36 0x00007f87ebe55388 in QApplication::notify (this=<optimized out>, receiver=0x55d8c1716110, e=0x7ffc54f8fc90) at kernel/qapplication.cpp:3163
#37 0x00007f87eab58e38 in QCoreApplication::notifyInternal2 (receiver=0x55d8c1716110, event=0x7ffc54f8fc90) at kernel/qcoreapplication.cpp:1095
#38 0x00007f87eab5901e in QCoreApplication::sendSpontaneousEvent (receiver=receiver@entry=0x55d8c1716110, event=event@entry=0x7ffc54f8fc90) at kernel/qcoreapplication.cpp:1502
#39 0x00007f87ebe5397f in QApplicationPrivate::sendMouseEvent (receiver=receiver@entry=0x55d8c1716110, event=event@entry=0x7ffc54f8fc90, alienWidget=0x55d8c1716110, nativeWidget=0x55d8c16db1a0, buttonDown=buttonDown@entry=0x7f87ec5568b0 <qt_button_down>, lastMouseReceiver=..., spontaneous=true, onlyDispatchEnterLeave=false) at kernel/qapplication.cpp:2649
#40 0x00007f87ebea86b1 in QWidgetWindow::handleMouseEvent (this=this@entry=0x55d8c18861e0, event=event@entry=0x7ffc54f90120) at kernel/qwidgetwindow.cpp:662
#41 0x00007f87ebeab64a in QWidgetWindow::event (this=0x55d8c18861e0, event=0x7ffc54f90120) at kernel/qwidgetwindow.cpp:281
#42 0x00007f87ebe4ceac in QApplicationPrivate::notify_helper (this=this@entry=0x55d8c162de40, receiver=receiver@entry=0x55d8c18861e0, e=e@entry=0x7ffc54f90120) at kernel/qapplication.cpp:3703
#43 0x00007f87ebe544b0 in QApplication::notify (this=0x7ffc54f90530, receiver=0x55d8c18861e0, e=0x7ffc54f90120) at kernel/qapplication.cpp:3449
#44 0x00007f87eab58e38 in QCoreApplication::notifyInternal2 (receiver=0x55d8c18861e0, event=0x7ffc54f90120) at kernel/qcoreapplication.cpp:1095
#45 0x00007f87eab5901e in QCoreApplication::sendSpontaneousEvent (receiver=receiver@entry=0x55d8c18861e0, event=event@entry=0x7ffc54f90120) at kernel/qcoreapplication.cpp:1502
#46 0x00007f87eb12c495 in QGuiApplicationPrivate::processMouseEvent (e=0x55d8c209bb70) at kernel/qguiapplication.cpp:2111
#47 0x00007f87eb12d5e5 in QGuiApplicationPrivate::processWindowSystemEvent (e=e@entry=0x55d8c209bb70) at kernel/qguiapplication.cpp:1846
#48 0x00007f87eb10779b in QWindowSystemInterface::sendWindowSystemEvents (flags=flags@entry=...) at kernel/qwindowsysteminterface.cpp:1148
#49 0x00007f87de423dda in xcbSourceDispatch (source=<optimized out>) at qxcbeventdispatcher.cpp:105
#50 0x00007f87e3bf1417 in g_main_context_dispatch () from /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#51 0x00007f87e3bf1650 in ?? () from /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#52 0x00007f87e3bf16dc in g_main_context_iteration () from /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#53 0x00007f87eabb6aaf in QEventDispatcherGlib::processEvents (this=0x55d8c16905f0, flags=...) at kernel/qeventdispatcher_glib.cpp:423
#54 0x00007f87eab56f9a in QEventLoop::exec (this=this@entry=0x7ffc54f904c0, flags=..., flags@entry=...) at kernel/qeventloop.cpp:225
#55 0x00007f87eab60310 in QCoreApplication::exec () at kernel/qcoreapplication.cpp:1403
#56 0x000055d8c13942e9 in main (argc=<optimized out>, argv=<optimized out>) at ./main.cpp:79

Reported using DrKonqi
Comment 1 Harald Sitter 2020-02-17 21:24:42 UTC
What's the output of `ip a` on your system?
Comment 2 Harald Sitter 2020-02-18 09:30:47 UTC
Git commit 8cb749531a3c3ab139e51bd1f741edddccf69873 by Harald Sitter.
Committed on 18/02/2020 at 09:29.
Pushed by sitter into branch 'Plasma/5.18'.

make sure ifa_addr isn't null

Summary:
the manpage:
       The ifa_addr field points to a structure containing the interface
       address.  (The sa_family subfield should be consulted to determine
       the format of the address structure.)  This field may contain a null
       pointer.

why that exactly happens I do not know in absence of more debug info.
I expect it's something to do with an interface being up but not quite
somehow. I utterly failed to simulate this though :|
because of that I do not know if such a device has any use being listed,
and I am adding some possibly relevant debug output in the hopes of
maybe getting some data reported.
if these devices still turn out useful, the MyNIC construction needs
partially moving before the ifa_addr check.
FIXED-IN: 5.18.1

Test Plan: hoping for the best!

Reviewers: ngraham

Subscribers: plasma-devel

Tags: #plasma

Differential Revision: https://phabricator.kde.org/D27467

M  +7    -0    Modules/nics/nic.cpp

https://commits.kde.org/kinfocenter/8cb749531a3c3ab139e51bd1f741edddccf69873