From: Link <li...@pe...> - 2009-06-29 07:02:06
|
I'm not sure whether I should report bugs in the SVN version here or using Bugzilla, but seeing as at least I know for a fact this place is actively monitored, I'll put it here. :) Anyway, using the latest SVN revision, 410 at the time of writing, adding logic components like AND-gates or OR-gates causes KTL to abort with SIGABRT because a pure virtual method is called (at least, that's printed to the stderr). gdb says the top-level error occurs at main.cpp:61, if that's any help. As per usual, more information will be provided on request. Thanks! |
From: Alan G. <ag...@sp...> - 2009-06-29 07:29:21
|
Link wrote: > I'm not sure whether I should report bugs in the SVN version here or > using Bugzilla, but seeing as at least I know for a fact this place is > actively monitored, I'll put it here. :) > > Anyway, using the latest SVN revision, 410 at the time of writing, > adding logic components like AND-gates or OR-gates causes KTL to abort > with SIGABRT because a pure virtual method is called (at least, that's > printed to the stderr). gdb says the top-level error occurs at > main.cpp:61, if that's any help. usually, we only care about the bottom level error. ;) argh, I can't even build mine right now so maybe someone else can comment on this. I did do some extensive upgrades to the logic output terminal code. Maybe someone else can figure this out, I think my build is trying to use a random mixture of KDE3 and KDE4 header files due to a recent software update on my machine. =( -- New president: Here we go again... Chemistry.com: A total rip-off. Powers are not rights. |
From: Link <li...@pe...> - 2009-06-29 07:44:34
|
On 29/06/09 09:27, Alan Grimes wrote: > Link wrote: >> I'm not sure whether I should report bugs in the SVN version here or >> using Bugzilla, but seeing as at least I know for a fact this place is >> actively monitored, I'll put it here. :) >> >> Anyway, using the latest SVN revision, 410 at the time of writing, >> adding logic components like AND-gates or OR-gates causes KTL to abort >> with SIGABRT because a pure virtual method is called (at least, that's >> printed to the stderr). gdb says the top-level error occurs at >> main.cpp:61, if that's any help. > > usually, we only care about the bottom level error. ;) > > argh, I can't even build mine right now so maybe someone else can > comment on this. I did do some extensive upgrades to the logic output > terminal code. Maybe someone else can figure this out, I think my build > is trying to use a random mixture of KDE3 and KDE4 header files due to a > recent software update on my machine. =( > The bottom-level error reported by gdb is in raise.c, so I doubt that's very useful. Here's the list of errors I got: #0 0x00007fd63ff92205 in *__GI_raise (sig=<value optimized out>) at ../nptl/sysdeps/unix/sysv/linux/raise.c:64 #1 0x00007fd63ff93723 in *__GI_abort () at abort.c:88 #2 0x00007fd640818bac in __gnu_cxx::__verbose_terminate_handler () at /var/tmp/portage/sys-devel/gcc-4.3.3-r2/work/gcc-4.3.3/libstdc++-v3/libsupc++/vterminate.cc:98 #3 0x00007fd640816e66 in __cxxabiv1::__terminate (handler=0x3b3) at /var/tmp/portage/sys-devel/gcc-4.3.3-r2/work/gcc-4.3.3/libstdc++-v3/libsupc++/eh_terminate.cc:43 #4 0x00007fd640816e93 in std::terminate () at /var/tmp/portage/sys-devel/gcc-4.3.3-r2/work/gcc-4.3.3/libstdc++-v3/libsupc++/eh_terminate.cc:53 #5 0x00007fd64081781f in __cxa_pure_virtual () at /var/tmp/portage/sys-devel/gcc-4.3.3-r2/work/gcc-4.3.3/libstdc++-v3/libsupc++/pure.cc:55 #6 0x0000000000671adb in MultiInputGate::updateSymbolText (this=0x100bab0) at multiinputgate.cpp:92 #7 0x00000000006722f2 in MultiInputGate::updateLogicSymbolShape (this=0x100bab0) at multiinputgate.cpp:78 #8 0x0000000000673978 in MultiInputGate (this=0x100bab0, icnDocument=0xc0cbc0, newItem=true, id=0x7c0d59 "and", rectangularShapeText=@0x7fff55358440, baseWidth=32, likeOR=false) at multiinputgate.cpp:36 #9 0x0000000000673f05 in ECAnd (this=0x100bab0, icnDocument=0xc0cbc0, newItem=true, id=0x0) at multiinputgate.cpp:518 #10 0x000000000067405c in ECAnd::construct (itemDocument=0xc0cbc0, newItem=true, id=0x0) at multiinputgate.cpp:502 #11 0x00000000004fc6fc in ItemLibrary::createItem (this=0xc12fe0, id=@0x7fff55358690, itemDocument=0xc0cbc0, newItem=true, newId=0x0, finishCreation=true) at itemlibrary.cpp:372 #12 0x0000000000501e07 in ItemView::createDragItem (this=0xdef2c0, e=0x7fff55358b50) at itemview.cpp:424 #13 0x000000000047ce47 in CircuitView::dragEnterEvent (this=0xdef2c0, e=0x7fff55358b50) at circuitview.cpp:94 #14 0x0000000000503044 in CVBEditor::event (this=0xdcee70, e=0x7fff55358b50) at itemview.cpp:681 #15 0x00007fd6449b5335 in QApplication::internalNotify (this=<value optimized out>, receiver=0xdcee70, e=0x7fff55358b50) at kernel/qapplication.cpp:2638 #16 0x00007fd6449b64ba in QApplication::notify (this=0x7fff5535a840, receiver=0xdcee70, e=0x7fff55358b50) at kernel/qapplication.cpp:2526 #17 0x00007fd645f073da in KApplication::notify (this=0x7fff5535a840, receiver=0xdcee70, event=0x7fff55358b50) at kapplication.cpp:550 #18 0x00000000005086a1 in QApplication::sendEvent (receiver=0xdcee70, event=0x7fff55358b50) at /usr/qt/3/include/qapplication.h:499 #19 0x00007fd6449612b5 in qt_handle_xdnd_position (w=<value optimized out>, xe=<value optimized out>, passive=false) at kernel/qdnd_x11.cpp:663 #20 0x00007fd644961ac1 in QDragManager::move (this=0xe137a0, globalPos=@0x7fff553593a8) at kernel/qdnd_x11.cpp:1405 #21 0x00007fd6449626be in QDragManager::eventFilter (this=0xe137a0, o=0xf103c0, e=0x7fff55359390) at kernel/qdnd_x11.cpp:986 #22 0x00007fd6449b52ac in QApplication::internalNotify (this=<value optimized out>, receiver=0xf103c0, e=0x7fff55359390) at kernel/qapplication.cpp:2571 #23 0x00007fd6449b66da in QApplication::notify (this=0x7fff5535a840, receiver=0xf103c0, e=0x7fff55359390) at kernel/qapplication.cpp:2424 #24 0x00007fd645f073da in KApplication::notify (this=0x7fff5535a840, receiver=0xf103c0, event=0x7fff55359390) at kapplication.cpp:550 #25 0x00007fd64495306d in QETWidget::translateMouseEvent (this=0xf103c0, event=<value optimized out>) at kernel/qapplication_x11.cpp:4301 #26 0x00007fd644951efe in QApplication::x11ProcessEvent (this=0x7fff5535a840, event=0x7fff55359880) at kernel/qapplication_x11.cpp:3565 #27 0x00007fd6449649d2 in QEventLoop::processEvents (this=0xb2f930, flags=4) at kernel/qeventloop_x11.cpp:195 #28 0x00007fd6449cbe91 in QEventLoop::enterLoop (this=0xb2f930) at kernel/qeventloop.cpp:201 #29 0x00007fd6449623e6 in QDragManager::drag (this=0xe137a0, o=0xdc6cc0, mode=QDragObject::DragDefault) at kernel/qdnd_x11.cpp:1806 #30 0x00007fd64691407f in KListView::startDrag (this=0xbfb100) at klistview.cpp:1158 #31 0x00007fd64691467f in KListView::contentsMouseMoveEvent (this=0xbfb100, e=0x7fff55359c00) at klistview.cpp:842 #32 0x00007fd644b1d86e in QScrollView::viewportMouseMoveEvent (this=0xbfb100, e=0x7fff5535a130) at widgets/qscrollview.cpp:1787 #33 0x00007fd644b1c730 in QScrollView::eventFilter (this=0xbfb100, obj=0xc0d660, e=0x7fff5535a130) at widgets/qscrollview.cpp:1514 #34 0x00007fd644aec50e in QListView::eventFilter (this=0xbfb100, o=0xc0d660, e=0x7fff5535a130) at widgets/qlistview.cpp:3870 #35 0x00007fd644a13b2c in QObject::activate_filters (this=0xc0d660, e=0x7fff5535a130) at kernel/qobject.cpp:906 #36 0x00007fd644a13b87 in QObject::event (this=0xc0d660, e=0x7fff5535a130) at kernel/qobject.cpp:738 #37 0x00007fd644a48a35 in QWidget::event (this=0x3b3, e=0x3b3) at kernel/qwidget.cpp:4662 #38 0x00007fd6449b5335 in QApplication::internalNotify (this=<value optimized out>, receiver=0xc0d660, e=0x7fff5535a130) at kernel/qapplication.cpp:2638 #39 0x00007fd6449b66da in QApplication::notify (this=0x7fff5535a840, receiver=0xc0d660, e=0x7fff5535a130) at kernel/qapplication.cpp:2424 #40 0x00007fd645f073da in KApplication::notify (this=0x7fff5535a840, receiver=0xc0d660, event=0x7fff5535a130) at kapplication.cpp:550 #41 0x00007fd64495306d in QETWidget::translateMouseEvent (this=0xc0d660, event=<value optimized out>) at kernel/qapplication_x11.cpp:4301 #42 0x00007fd644951efe in QApplication::x11ProcessEvent (this=0x7fff5535a840, event=0x7fff5535a620) at kernel/qapplication_x11.cpp:3565 #43 0x00007fd6449649d2 in QEventLoop::processEvents (this=0xb2f930, flags=4) at kernel/qeventloop_x11.cpp:195 #44 0x00007fd6449cbe91 in QEventLoop::enterLoop (this=0xb2f930) at kernel/qeventloop.cpp:201 #45 0x00007fd6449cbd02 in QEventLoop::exec (this=0x3b3) at kernel/qeventloop.cpp:148 #46 0x0000000000579b9b in main (argc=1, argv=0x7fff5535abb8) at main.cpp:61 I hope that's slightly more useful, though I suppose if you can't compile KTL at your site, it won't help much. |
From: P Z. <zol...@gm...> - 2009-06-29 09:13:30
|
On Mon, 29 Jun 2009 09:44:30 +0200, Link <li...@pe...> wrote: > > #6 0x0000000000671adb in MultiInputGate::updateSymbolText > (this=0x100bab0) at multiinputgate.cpp:92 Here is should be the investigation started, because the next function in the call stack is an error handler. For the moment I won't update my local trunk tree, as my changes in QuickVector class are incompatible with Alan's changes. I'll have to merge those changes first. |
From: P Z. <zol...@gm...> - 2009-07-05 11:52:13
|
Does this still happen, in rev. 412 ? Tried to reproduce this problem, but after placing practically all components on the circuit, only got a crash due failed assertion, in ElementSet.cpp, line 117. |
From: Link <li...@pe...> - 2009-07-05 20:51:08
|
On 05/07/09 17:04, P Zoltan wrote: > Does this still happen, in rev. 412 ? > > Tried to reproduce this problem, but after placing practically all > components on the circuit, only got a crash due failed assertion, in > ElementSet.cpp, line 117. > > ------------------------------------------------------------------------------ > _______________________________________________ > Ktechlab-devel mailing list > Kte...@li... > https://lists.sourceforge.net/lists/listinfo/ktechlab-devel It still happens in rev 415, and I've managed to find the problem: I had my logic symbols set to rectangular. When that happens, the method MultiInputGate::updateSymbolText() (electronics/components/multiinputgate.cpp, line 88) calls the method m_bInvertedOutput(), which doesn't appear to be defined. Using distinctive shapes for logic symbols works. :) |
From: P Z. <zol...@gm...> - 2009-07-06 16:42:59
|
On Sun, 05 Jul 2009 22:51:01 +0200, Link <li...@pe...> wrote: > On 05/07/09 17:04, P Zoltan wrote: >> Does this still happen, in rev. 412 ? >> >> Tried to reproduce this problem, but after placing practically all >> components on the circuit, only got a crash due failed assertion, in >> ElementSet.cpp, line 117. >> > It still happens in rev 415, and I've managed to find the problem: I had > my logic symbols set to rectangular. When that happens, the method > MultiInputGate::updateSymbolText() > (electronics/components/multiinputgate.cpp, line 88) calls the method > m_bInvertedOutput(), which doesn't appear to be defined. > > Using distinctive shapes for logic symbols works. :) > Should be fixed in rev.418. The problem was that a virtual function has been called from inside of the constructor. This way probably the virtual function table has not been populated yet, so the result was a call to a pure virtual function. Please test it. Zoltan |
From: Link <li...@pe...> - 2009-07-06 18:23:42
|
On 06/07/09 21:42, P Zoltan wrote: > On Sun, 05 Jul 2009 22:51:01 +0200, Link<li...@pe...> > wrote: > >> On 05/07/09 17:04, P Zoltan wrote: >>> Does this still happen, in rev. 412 ? >>> >>> Tried to reproduce this problem, but after placing practically all >>> components on the circuit, only got a crash due failed assertion, in >>> ElementSet.cpp, line 117. >>> > >> It still happens in rev 415, and I've managed to find the problem: I had >> my logic symbols set to rectangular. When that happens, the method >> MultiInputGate::updateSymbolText() >> (electronics/components/multiinputgate.cpp, line 88) calls the method >> m_bInvertedOutput(), which doesn't appear to be defined. >> >> Using distinctive shapes for logic symbols works. :) >> > > Should be fixed in rev.418. > > The problem was that a virtual function has been called from inside of > the constructor. This way probably the virtual function table has not been > populated yet, so the result was a call to a pure virtual function. > > Please test it. > > Zoltan > > > ------------------------------------------------------------------------------ > _______________________________________________ > Ktechlab-devel mailing list > Kte...@li... > https://lists.sourceforge.net/lists/listinfo/ktechlab-devel OK, the rectangular logic shapes work. KTL now crashes because of a segfault in math/matrix.h (line 80) though. This happens when adding a fixed voltage source. |
From: P Z. <zol...@gm...> - 2009-07-06 21:28:55
|
On Mon, 06 Jul 2009 20:23:18 +0200, Link <li...@pe...> wrote: > > OK, the rectangular logic shapes work. KTL now crashes because of a > segfault in math/matrix.h (line 80) though. This happens when adding a > fixed voltage source. > Oups, I guess that crash was caused by my changes. Now should work well (rev.419). |