telans / knetstats Goto Github PK
View Code? Open in Web Editor NEWSimple network interface and statistics viewer
License: GNU General Public License v2.0
Simple network interface and statistics viewer
License: GNU General Public License v2.0
KNetStats shows as available network interfaces which are not configured (no IPv4 address, state DOWN
):
3: wlp4s0: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN group default qlen 1000
link/ether xx:xx:xx:xx:xx:xx brd ff:ff:ff:ff:ff:ff permaddr xx:xx:xx:xx:xx:xx
They must be omitted, i.e. no systray icon should be shown.
The information window could show all configured IPv6 addresses for the interface along with their netmasks and the IPv6 router.
I'm not touching its interfaces or configuration, just left it running. After some time, a few minutes, it crashes reliably:
Thread 1 "knetstats" received signal SIGSEGV, Segmentation fault.
__vfscanf_internal (s=0x0, format=0x4232ca "%llu", argptr=argptr@entry=0x7fffffffd570, mode_flags=mode_flags@entry=2) at vfscanf-internal.c:345
Downloading source file /usr/src/debug/glibc-2.37-5.fc38.x86_64/stdio-common/vfscanf-internal.c
345 ORIENT;
(gdb)
(gdb)
(gdb)
(gdb)
(gdb)
(gdb)
(gdb) bt
#0 __vfscanf_internal (s=0x0, format=0x4232ca "%llu", argptr=argptr@entry=0x7fffffffd570, mode_flags=mode_flags@entry=2) at vfscanf-internal.c:345
#1 0x00007ffff60777df in __isoc99_fscanf (stream=<optimized out>, format=<optimized out>) at isoc99_fscanf.c:30
#2 0x00000000004172aa in KNetStatsView::readInterfaceNumValue(char const*) (this=0x5e8e80, name=0x423296 "rx_bytes") at /tmp/KNetStats-main/src/knetstatsview.cpp:187
#3 0x0000000000416abe in KNetStatsView::updateStats() (this=0x5e8e80) at /tmp/KNetStats-main/src/knetstatsview.cpp:117
#4 0x00000000004183cf in QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, void (KNetStatsView::*)()>::call(void (KNetStatsView::*)(), KNetStatsView*, void**)
(f=(void (KNetStatsView::*)(class KNetStatsView * const)) 0x416734 <KNetStatsView::updateStats()>, o=0x5e8e80, arg=0x7fffffffd920) at /usr/include/qt5/QtCore/qobjectdefs_impl.h:152
#5 0x0000000000418289 in QtPrivate::FunctionPointer<void (KNetStatsView::*)()>::call<QtPrivate::List<>, void>(void (KNetStatsView::*)(), KNetStatsView*, void**)
(f=(void (KNetStatsView::*)(class KNetStatsView * const)) 0x416734 <KNetStatsView::updateStats()>, o=0x5e8e80, arg=0x7fffffffd920) at /usr/include/qt5/QtCore/qobjectdefs_impl.h:185
#6 0x00000000004180c1 in QtPrivate::QSlotObject<void (KNetStatsView::*)(), QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) (which=1, this_=0x6445e0, r=0x5e8e80, a=0x7fffffffd920, ret=0x0)
at /usr/include/qt5/QtCore/qobjectdefs_impl.h:418
#7 0x00007ffff68e8481 in QtPrivate::QSlotObjectBase::call(QObject*, void**) (a=0x7fffffffd920, r=<optimized out>, this=0x6445e0) at ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398
#8 doActivate<false>(QObject*, int, void**) (sender=0x631450, signal_index=3, argv=0x7fffffffd920) at kernel/qobject.cpp:3925
#9 0x00007ffff68e33a7 in QMetaObject::activate(QObject*, QMetaObject const*, int, void**) (sender=<optimized out>, m=m@entry=0x7ffff6b66560 <QTimer::staticMetaObject>, local_signal_index=local_signal_index@entry=0, argv=argv@entry=0x7fffffffd920)
at kernel/qobject.cpp:3985
#10 0x00007ffff68eb9fd in QTimer::timeout(QTimer::QPrivateSignal) (this=<optimized out>, _t1=...) at .moc/moc_qtimer.cpp:205
#11 0x00007ffff68decab in QObject::event(QEvent*) (this=0x631450, e=0x7fffffffda90) at kernel/qobject.cpp:1369
#12 0x00007ffff75aeb75 in QApplicationPrivate::notify_helper(QObject*, QEvent*) (this=<optimized out>, receiver=0x631450, e=0x7fffffffda90) at kernel/qapplication.cpp:3640
#13 0x00007ffff68b41a8 in QCoreApplication::notifyInternal2(QObject*, QEvent*) (receiver=0x631450, event=0x7fffffffda90) at kernel/qcoreapplication.cpp:1064
#14 0x00007ffff68b43c2 in QCoreApplication::sendEvent(QObject*, QEvent*) (receiver=<optimized out>, event=<optimized out>) at kernel/qcoreapplication.cpp:1462
#15 0x00007ffff6905a9b in QTimerInfoList::activateTimers() (this=0x5864d0) at kernel/qtimerinfo_unix.cpp:643
#16 0x00007ffff6906399 in timerSourceDispatch(GSource*, GSourceFunc, gpointer) (source=<optimized out>) at kernel/qeventdispatcher_glib.cpp:183
#17 0x00007ffff55134fc in g_main_dispatch (context=0x7fffec000ee0) at ../glib/gmain.c:3460
#18 g_main_context_dispatch (context=0x7fffec000ee0) at ../glib/gmain.c:4200
#19 0x00007ffff55716b8 in g_main_context_iterate.isra.0 (context=0x7fffec000ee0, block=1, dispatch=1, self=<optimized out>) at ../glib/gmain.c:4276
#20 0x00007ffff5510b83 in g_main_context_iteration (context=0x7fffec000ee0, may_block=1) at ../glib/gmain.c:4343
#21 0x00007ffff6906749 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) (this=0x5808b0, flags=...) at kernel/qeventdispatcher_glib.cpp:423
#22 0x00007ffff68b2b6b in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) (this=this@entry=0x7fffffffdd50, flags=..., flags@entry=...) at ../../include/QtCore/../../src/corelib/global/qflags.h:69
#23 0x00007ffff68badfb in QCoreApplication::exec() () at ../../include/QtCore/../../src/corelib/global/qflags.h:121
#24 0x00000000004185fb in main(int, char**) (argc=1, argv=0x7fffffffdf88) at /tmp/KNetStats-main/src/main.cpp:19
In case all the monitored network interfaces are down, the app probably could show an icon indicating so, something like:
โ
or whatever suits you.
Otherwise it's impossible to open its configuration :-)
Right now if you press OK or close the interface information window, the entire application closes. That's a bug.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.