[Ktechlab-devel] [KTechLab] [2015-07-08] Automatic crash report generated by DrKonqi

Zoltan Padrah zoltan.padrah at gmail.com
Mon Jul 13 06:23:48 UTC 2015


Hello,

this is definitely a bug in KTechLab. I can reproduce this issue on my  
computer, too, by opening the attached circuit file. When I will have  
time, I will start debugging it.


If you (or anybody else) feels like investigating this issue, the output  
of the "valgrind" tool would be useful, just from the moment of crash.

It can be run something like this:

user at host:~/ktechlab-0.3$ valgrind --num-callers=32   
./inst-simple/bin/ktechlab

The --num-callers option should be adjusted such that valgrind's logs to  
contain useful stack traces.

When ktechlab crashes, valgrind should print a report about what it knows  
about the memory address on which ktechlab crashed. Hopefully it should  
print 2 stack traces: one identical to the Thread 1 from below, and one in  
which it shows where has been that (Pin object?) location freed/deleted,  
which is now illegally accessed.

Chaveat about ktechlab in valgrind: if I run ktechlab in valgrind on my  
laptop in powersave mode, valgrind and ktechlab gets killed by SIGPIPE  
(signal 33?), because at startup it is too slow to respond to the grapics  
server (X11), and the graphics server closes the connection to it. This  
behaviour doesn't happen when the power management is set to any of  
ondemand/conservative/performance modes.

Best regards,

  Zoltan



On Thu, 09 Jul 2015 06:58:31 +0300, Charles T. Bell <cbell44 at cfl.rr.com>  
wrote:

> Application: ktechlab (0.3.6)
> KDE Platform Version: 4.13.3
> Qt Version: 4.8.6
> Operating System: Linux 4.1.1-040101-generic x86_64
> Distribution: Ubuntu 14.04.2 LTS
>
> -- Information about the crash:
> <In detail, tell us what you were doing  when the application crashed.>
> When NOT running a simulation it seems to hold okay.
> When running a simulation it crashes almost immediately.
> The crash can be reproduced every time.
>
> -- Backtrace:
> Application: KTechLab (ktechlab), signal: Segmentation fault
> Using host libthread_db library  
> "/lib/x86_64-linux-gnu/libthread_db.so.1".
> [Current thread is 1 (Thread 0x7f604041e7c0 (LWP 16382))]
>
> Thread 3 (Thread 0x7f6028a60700 (LWP 16384)):
> #0  0x00007ffef2dc3c46 in ?? ()
> #1  0x00007f603c4ec920 in ?? () at kernel/qeventdispatcher_glib.cpp:591
> from /usr/lib/x86_64-linux-gnu/libQtCore.so.4
> #2  0x00007f603b4bff00 in ?? () from /lib/x86_64-linux-gnu/libc.so.6
> #3  0x000000020285f1c0 in ?? ()
> #4  0x00007f6024003130 in ?? ()
> #5  0x00007f6028a5fc28 in ?? ()
> #6  0x00007f6028a5fbc0 in ?? ()
> #7  0x00007f6028a5fc30 in ?? ()
> #8  0x00007f603b5bf92d in __GI___clock_gettime (clock_id=<optimized
> out>, tp=<optimized out>) at ../sysdeps/unix/clock_gettime.c:115
> #9  0x00007f603c411ad7 in do_gettime (frac=0x7f6028a5fb70,
> sec=0x7f6028a5fb68) at tools/qelapsedtimer_unix.cpp:127
> #10 qt_gettime () at tools/qelapsedtimer_unix.cpp:144
> #11 0x00007f603c4edf05 in updateCurrentTime (this=0x1) at
> kernel/qeventdispatcher_unix.cpp:354
> #12 QTimerInfoList::timerWait (this=0x1, tm=...) at
> kernel/qeventdispatcher_unix.cpp:460
> #13 0x00007f603c4ec67c in timerSourcePrepareHelper (src=<optimized out>,
> timeout=0x7f6028a5fc24) at kernel/qeventdispatcher_glib.cpp:143
> #14 0x00007f603c4ec725 in timerSourcePrepare (source=<optimized out>,
> timeout=<optimized out>) at kernel/qeventdispatcher_glib.cpp:176
> #15 0x00007f60398e768d in g_main_context_prepare () from
> /lib/x86_64-linux-gnu/libglib-2.0.so.0
> #16 0x00007f60398e7f03 in ?? () from  
> /lib/x86_64-linux-gnu/libglib-2.0.so.0
> #17 0x00007f60398e80ec in g_main_context_iteration () from
> /lib/x86_64-linux-gnu/libglib-2.0.so.0
> #18 0x00007f603c4ec7be in QEventDispatcherGlib::processEvents
> (this=0x7f60240008c0, flags=...) at kernel/qeventdispatcher_glib.cpp:436
> #19 0x00007f603c4be0af in QEventLoop::processEvents
> (this=this at entry=0x7f6028a5fde0, flags=...) at kernel/qeventloop.cpp:149
> #20 0x00007f603c4be3a5 in QEventLoop::exec
> (this=this at entry=0x7f6028a5fde0, flags=...) at kernel/qeventloop.cpp:204
> #21 0x00007f603c3bac5f in QThread::exec (this=this at entry=0x2ef7240) at
> thread/qthread.cpp:537
> #22 0x00007f603c49f823 in QInotifyFileSystemWatcherEngine::run
> (this=0x2ef7240) at io/qfilesystemwatcher_inotify.cpp:265
> #23 0x00007f603c3bd32f in QThreadPrivate::start (arg=0x2ef7240) at
> thread/qthread_unix.cpp:349
> #24 0x00007f6039baf182 in start_thread (arg=0x7f6028a60700) at
> pthread_create.c:312
> #25 0x00007f603b5b147d in clone () at
> ../sysdeps/unix/sysv/linux/x86_64/clone.S:111
>
> Thread 2 (Thread 0x7f6023015700 (LWP 16395)):
> #0  0x00007ffef2dc3c46 in ?? ()
> #1  0x00007f603c4ec920 in ?? () at kernel/qeventdispatcher_glib.cpp:591
> from /usr/lib/x86_64-linux-gnu/libQtCore.so.4
> #2  0x00007f603c3b3244 in qWarning (msg=<optimized out>) at
> global/qglobal.cpp:2511
> #3  0x00007f60398e768d in g_main_context_prepare () from
> /lib/x86_64-linux-gnu/libglib-2.0.so.0
> #4  0x00007f60398e7f03 in ?? () from  
> /lib/x86_64-linux-gnu/libglib-2.0.so.0
> #5  0x00007f60398e80ec in g_main_context_iteration () from
> /lib/x86_64-linux-gnu/libglib-2.0.so.0
> #6  0x00007f603c4ec7be in QEventDispatcherGlib::processEvents
> (this=0x7f601c0008c0, flags=...) at kernel/qeventdispatcher_glib.cpp:436
> #7  0x00007f603c4be0af in QEventLoop::processEvents
> (this=this at entry=0x7f6023014de0, flags=...) at kernel/qeventloop.cpp:149
> #8  0x00007f603c4be3a5 in QEventLoop::exec
> (this=this at entry=0x7f6023014de0, flags=...) at kernel/qeventloop.cpp:204
> #9  0x00007f603c3bac5f in QThread::exec (this=this at entry=0x3465d30) at
> thread/qthread.cpp:537
> #10 0x00007f603c49f823 in QInotifyFileSystemWatcherEngine::run
> (this=0x3465d30) at io/qfilesystemwatcher_inotify.cpp:265
> #11 0x00007f603c3bd32f in QThreadPrivate::start (arg=0x3465d30) at
> thread/qthread_unix.cpp:349
> #12 0x00007f6039baf182 in start_thread (arg=0x7f6023015700) at
> pthread_create.c:312
> #13 0x00007f603b5b147d in clone () at
> ../sysdeps/unix/sysv/linux/x86_64/clone.S:111
>
> Thread 1 (Thread 0x7f604041e7c0 (LWP 16382)):
> [KCrash Handler]
> #6  Pin::currentIsKnown (this=this at entry=0x20) at
> /home/tommy/Downloads/ktechlab-0.3-port-0.3.8-kde4-v1/src/electronics/pin.h:110
> #7  0x0000000000519248 in Wire::calculateCurrent (this=0x31cd570) at
> /home/tommy/Downloads/ktechlab-0.3-port-0.3.8-kde4-v1/src/electronics/wire.cpp:38
> #8  0x000000000051e5ca in CircuitDocument::calculateConnectorCurrents
> (this=0x34d5910) at
> /home/tommy/Downloads/ktechlab-0.3-port-0.3.8-kde4-v1/src/electronics/circuitdocument.cpp:423
> #9  0x0000000000489854 in CanvasTip::updateVI (this=0x20,
> this at entry=0x36f9270) at
> /home/tommy/Downloads/ktechlab-0.3-port-0.3.8-kde4-v1/src/itemdocument.cpp:1173
> #10 0x000000000048c239 in CanvasTip::displayVI
> (this=this at entry=0x36f9270, connector=connector at entry=0x3625f00,
> pos=...) at
> /home/tommy/Downloads/ktechlab-0.3-port-0.3.8-kde4-v1/src/itemdocument.cpp:1146
> #11 0x00000000004878a3 in ItemView::updateStatus (this=0x3740bd0) at
> /home/tommy/Downloads/ktechlab-0.3-port-0.3.8-kde4-v1/src/itemview.cpp:630
> #12 0x00007f603c4d387a in QMetaObject::activate (sender=0x36693c0,
> m=<optimized out>, local_signal_index=<optimized out>, argv=0x0) at
> kernel/qobject.cpp:3539
> #13 0x00007f603c4d7a31 in QObject::event (this=0x36693c0, e=<optimized
> out>) at kernel/qobject.cpp:1156
> #14 0x00007f603d681e2c in QApplicationPrivate::notify_helper
> (this=this at entry=0x28914a0, receiver=receiver at entry=0x36693c0,
> e=e at entry=0x7ffef2cb0e40) at kernel/qapplication.cpp:4567
> #15 0x00007f603d6884a0 in QApplication::notify
> (this=this at entry=0x7ffef2cb11b0, receiver=receiver at entry=0x36693c0,
> e=e at entry=0x7ffef2cb0e40) at kernel/qapplication.cpp:4353
> #16 0x00007f603e38cd1a in KApplication::notify (this=0x7ffef2cb11b0,
> receiver=0x36693c0, event=0x7ffef2cb0e40) at
> ../../kdeui/kernel/kapplication.cpp:311
> #17 0x00007f603c4bf4dd in QCoreApplication::notifyInternal
> (this=0x7ffef2cb11b0, receiver=0x36693c0, event=0x7ffef2cb0e40) at
> kernel/qcoreapplication.cpp:953
> #18 0x00007f603c4ef323 in sendEvent (event=<optimized out>,
> receiver=<optimized out>) at
> ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:231
> #19 QTimerInfoList::activateTimers (this=0x2895a20) at
> kernel/qeventdispatcher_unix.cpp:621
> #20 0x00007f603c4ec5f1 in timerSourceDispatch (source=<optimized out>)
> at kernel/qeventdispatcher_glib.cpp:193
> #21 0x00007f60398e7e04 in g_main_context_dispatch () from
> /lib/x86_64-linux-gnu/libglib-2.0.so.0
> #22 0x00007f60398e8048 in ?? () from  
> /lib/x86_64-linux-gnu/libglib-2.0.so.0
> #23 0x00007f60398e80ec in g_main_context_iteration () from
> /lib/x86_64-linux-gnu/libglib-2.0.so.0
> #24 0x00007f603c4ec7a1 in QEventDispatcherGlib::processEvents
> (this=0x2855af0, flags=...) at kernel/qeventdispatcher_glib.cpp:434
> #25 0x00007f603d723be6 in QGuiEventDispatcherGlib::processEvents
> (this=<optimized out>, flags=...) at  
> kernel/qguieventdispatcher_glib.cpp:204
> #26 0x00007f603c4be0af in QEventLoop::processEvents
> (this=this at entry=0x7ffef2cb10b0, flags=...) at kernel/qeventloop.cpp:149
> #27 0x00007f603c4be3a5 in QEventLoop::exec
> (this=this at entry=0x7ffef2cb10b0, flags=...) at kernel/qeventloop.cpp:204
> #28 0x00007f603c4c3b79 in QCoreApplication::exec () at
> kernel/qcoreapplication.cpp:1225
> #29 0x00007f603d68037c in QApplication::exec () at
> kernel/qapplication.cpp:3828
> #30 0x000000000043532d in main (argc=<optimized out>, argv=<optimized
> out>) at
> /home/tommy/Downloads/ktechlab-0.3-port-0.3.8-kde4-v1/src/core/main.cpp:70




More information about the Ktechlab-devel mailing list