#19 Crash in a i686 arch.

open
nobody
Crashes (7)
5
2011-01-16
2011-01-16
No

Hello, I am the Debian maintainer of the package Ktechlab. I received a bug report from Timo Juhani Lindfors, which is archived at http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=599920

Interestingly, Timo Juhani Lindfors made available two files to allow us to reproduce the crash or to watch it as a screen cast:
http://iki.fi/lindi/ktechlab/testcase1.circuit
http://iki.fi/lindi/ktechlab/testcase1.ogv

I cannot reproduce this crash with my computer which has an amd64 architecture.

Best regards, thank you for the fine job!

Discussion

  • Zoltan P
    Zoltan P
    2011-02-07

    Hello, thank you for the interest in Ktechlab.

    I've looked at the logs provided by the excellent bug report at the debian bugtracker. As I see, the core issue is double free from inside Ktechlab:

    ==4257== Address 0x1035c648 is 8 bytes inside a block of size 48 free'd
    ==4257== at 0x4C23E0F: operator delete(void*) (vg_replace_malloc.c:387)
    ==4257== by 0x4F3352: QMapPrivate<QString, Item*>::remove(QMapIterator<QString, Item*>) (qmap.h:389)
    ==4257== by 0x4F1F87: QMap<QString, Item*>::remove(QString const&) (qmap.h:837)
    ==4257== by 0x4EB68D: ItemDocument::unregisterUID(QString const&) (itemdocument.cpp:549)
    ==4257== by 0x4D5E6D: Item::~Item() (item.cpp:62)

    During the testing of version 0.3.7, I had similar issues (double free), apparently in random way. There is no fix, because I couldn't reproduce it.

    Just tested the circuit attached to the bugreport at debian.org, with the ubuntu ktechlab package and I couldn't crash ktechlab with that one.

    One big issue is that i know that there is a bug, but it's too random, in oder to debug it.
    Another problem is the quality of the source code of the ktechlab 0.3 series. It's nearly impossible to debug.

    I don't really have a conclusion, but in the worst case, if the double free problem happens at a specific line of code, the delete operation could be removed. This way the program will leak memory, but hopefully it won't crash.

     
  • Timo Lindfors
    Timo Lindfors
    2011-02-07

    Thanks for taking the time to look at the issue. If you tell me what debugging steps I should use I can try to do those since I can reproduce the bug relatively easily.

     
  • Hello, tank you for your interest in Ktechlab. I would like your opinion on the future of Ktechlab:

    - do you think that somebody is likely to port Ktechlab to QT >3 ? On the contrary, the number of weird bugs will keep rising as the support for Qt3 will be orphaned. Perhaps we should create a static-linked version now, which would survive the end of QT3 a little later.

    - do you know the developers of Qsapecng? They developed a program which is not far from ktechlab's design, maybe porting a few algorithms from ktechlab to the new software which gathers a live community of developers would be possible. What is your mind about it? See: http://sourceforge.net/projects/qsapecng/

     
  • Zoltan P
    Zoltan P
    2011-04-14

    Related to the future of Ktechlab:

    The porting of ktechlab to Qt4 is ongoing. The simulator and the user interface are made more more modular. The user interface will be based on Kdevplatoform. The code is stored at the sourceforge git repository; progress can be followed on the sourceforge project page:
    http://sourceforge.net/projects/ktechlab/develop

    The maintenance of older versions of limited by developer time. I would suggest to keep close communication, and in case some serious problems are found, we could make some bugfix releases.

    About qsapecng I'm hearing first time.