Your message dated Mon, 28 May 2018 19:47:18 +0200
with message-id <20180528174718.GA21269@localhost>
and subject line bug fixed in the last version
has caused the Debian Bug report #763989,
regarding xdrawchem hangs when doing "Undo"
to be marked as done.

This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.

(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact [email protected]
immediately.)


-- 
763989: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=763989
Debian Bug Tracking System
Contact [email protected] with problems
--- Begin Message ---
Package: xdrawchem
Version: 2.0-2
Severity: normal


Hi there!

Under certain circumstances (which actually happen a lot) xdrawchem hangs when doing "Undo" (be it via the Menu or via Ctrl+Z, it doesn't matter) and has to be killed. It seems that the hang always happens when the "Undo" operation would lead to a non-empty worksheet (meaning: almost always!). Once hung, the program uses 100% CPU load of one core.


Steps to reproduce:
 * Start up xdrawchem.
 * Add 2 lines by doing the following:
   * Activate the line tool by clicking on the icon depicting a
     straight, continuous line in the toolbar (tooltip text: "Draw Line").
   * Draw a line on the worksheet.
   * Draw a second line on the worksheet.
     (It doesn't matter, if it's connected to the first line or not.)
 * Undo the last action by clicking the menu "Edit" -> "Undo"
 * Verify that the GUI doesn't respond any longer.


Terminal output between clicking "Undo" and hanging:

4
PAGESIZE: "PAGE_LETTER"
PAGEORIENT: "PAGE_PORTRAIT"
DP::AtomID: "a0"
DP::SetCoordFromXML: "<coordinate2>74 100</coordinate2>"
DP::SetColorFromXML: "<color>0 0 0</color>"
DP::SetFontFromXML: "<font>Helvetica#12</font>"
"Helvetica" * "12"
DP::SetElementFromXML: "<element>C</element>"
DP::SetElementMaskFromXML: "<elemask> </elemask>"
DP::AtomID: "a1"
DP::SetCoordFromXML: "<coordinate2>99 100</coordinate2>"
DP::SetColorFromXML: "<color>0 0 0</color>"
DP::SetFontFromXML: "<font>Helvetica#12</font>"
"Helvetica" * "12"
DP::SetElementFromXML: "<element>C</element>"
DP::SetElementMaskFromXML: "<elemask> </elemask>"
"<bond id="b0">
<Start>a0</Start>
<End>a1</End>
<order>1</order>
<dash>0</dash>
<thick>1</thick>
<color>0 0 0</color>
</bond>"
GetColorFromXML: "<color>0 0 0</color>"


Compiling Qt and xdrawchem both with DEB_BUILD_OPTIONS="noopt nostrip" I was able to get meaningful stacktraces. As the thread is still active (but probably in an infinite loop), those stacktraces vary, a "typical" one looks like this (from #4 on below they are always identical, the frames #0 to #3 may be different in other cases):

#0  0x00007ffff5517ac5 in _int_free (av=<optimized out>,
    p=<optimized out>, have_lock=0) at malloc.c:4087
#1  0x00007ffff635f7b8 in QString::free (d=0xcd1cc0)
    at tools/qstring.cpp:1235
#2  0x000000000042aae5 in QString::~QString (this=0x7fffffffc880,
    __in_chrg=<optimized out>)
    at /usr/include/qt4/QtCore/qstring.h:880
#3  0x00000000004a33be in ChemData::load_native (this=0xc8f020,
    wholefile=...) at xdrawchem/chemdata_xdc.cpp:105
#4  0x00000000004977fe in ChemData::Undo (this=0xc8f020)
    at xdrawchem/chemdata_edit.cpp:183
#5  0x00000000005072ff in Render2D::Undo (this=0xb027d0)
    at xdrawchem/render2d.cpp:650
#6  0x0000000000429289 in ApplicationWindow::Undo (this=0xa62c90)
    at xdrawchem/application.cpp:1945
#7  0x000000000053e432 in ApplicationWindow::qt_static_metacall
    (_o=0xa62c90, _c=QMetaObject::InvokeMetaMethod, _id=18,
    a=0x7fffffffcc70) at .moc/moc_application.cpp:225
#8  0x00007ffff642d87a in QMetaObject::activate
    (sender=sender@entry=0xc7d800, m=m@entry=0x7ffff773cde0
    <QAction::staticMetaObject>,
    local_signal_index=local_signal_index@entry=1,
    argv=argv@entry=0x7fffffffcc70)
    at kernel/qobject.cpp:3539
#9  0x00007ffff6c8ca62 in QAction::triggered
    (this=this@entry=0xc7d800, _t1=false)
    at .moc/release-shared/moc_qaction.cpp:276
#10 0x00007ffff6c8e433 in QAction::activate
    (this=0xc7d800, event=event@entry=QAction::Trigger)
    at kernel/qaction.cpp:1257
#11 0x00007ffff6c8e58c in QAction::event
    (this=<optimized out>, e=<optimized out>)
    at kernel/qaction.cpp:1183
#12 0x00007ffff6c92e2c in QApplicationPrivate::notify_helper
    (this=this@entry=0x80d360, receiver=receiver@entry=0xc7d800,
    e=e@entry=0x7fffffffcf10) at kernel/qapplication.cpp:4567
#13 0x00007ffff6c994a0 in QApplication::notify
    (this=0x7fffffffdda0, receiver=0xc7d800, e=0x7fffffffcf10)
    at kernel/qapplication.cpp:4353
#14 0x00007ffff64194dd in QCoreApplication::notifyInternal
    (this=0x7fffffffdda0, receiver=0xc7d800,
    event=event@entry=0x7fffffffcf10)
    at kernel/qcoreapplication.cpp:953
#15 0x00007ffff6cc42a6 in sendEvent (event=0x7fffffffcf10,
    receiver=<optimized out>)
    at ../../include/QtCore/../../src/corelib/kernel/
    qcoreapplication.h:231
#16 QShortcutMap::dispatchEvent (this=this@entry=0x80d488,
    e=e@entry=0x7fffffffd210) at kernel/qshortcutmap.cpp:887
#17 0x00007ffff6cc43dc in QShortcutMap::tryShortcutEvent
    (this=0x80d488, o=o@entry=0xb027d0, e=e@entry=0x7fffffffd210)
    at kernel/qshortcutmap.cpp:367
#18 0x00007ffff6c9a773 in QApplication::notify
    (this=0x7fffffffdda0, receiver=0xb027d0, e=0x7fffffffd210)
    at kernel/qapplication.cpp:3991
#19 0x00007ffff64194dd in QCoreApplication::notifyInternal
    (this=0x7fffffffdda0, receiver=receiver@entry=0xb027d0,
    event=event@entry=0x7fffffffd210)
    at kernel/qcoreapplication.cpp:953
#20 0x00007ffff6c91556 in sendSpontaneousEvent
    (event=event@entry=0x7fffffffd210,
    receiver=receiver@entry=0xb027d0)
    at ../../include/QtCore/../../src/corelib/kernel/
    qcoreapplication.h:234
#21 qt_sendSpontaneousEvent (receiver=receiver@entry=0xb027d0,
    event=event@entry=0x7fffffffd210)
    at kernel/qapplication.cpp:5565
#22 0x00007ffff6d32027 in QKeyMapper::sendKeyEvent
    (keyWidget=keyWidget@entry=0xb027d0, grab=grab@entry=false,
    type=QEvent::KeyPress, code=90, modifiers=..., text=...,
    autorepeat=autorepeat@entry=false, count=1,
    nativeScanCode=52, nativeVirtualKey=122, nativeModifiers=20)
    at kernel/qkeymapper_x11.cpp:1866
#23 0x00007ffff6d323c9 in QKeyMapperPrivate::translateKeyEvent
    (this=0x8810f0, keyWidget=keyWidget@entry=0xb027d0,
    event=event@entry=0x7fffffffd7a0, grab=grab@entry=false)
    at kernel/qkeymapper_x11.cpp:1836
#24 0x00007ffff6d0c417 in QApplication::x11ProcessEvent
    (this=0x7fffffffdda0, event=event@entry=0x7fffffffd7a0)
    at kernel/qapplication_x11.cpp:3642
#25 0x00007ffff6d34b32 in x11EventSourceDispatch
    (s=0x80fba0, callback=0x0, user_data=0x0)
    at kernel/qguieventdispatcher_glib.cpp:146
#26 0x00007ffff4758e04 in g_main_context_dispatch ()
    from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#27 0x00007ffff4759048 in ?? ()
    from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#28 0x00007ffff47590ec in g_main_context_iteration ()
    from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#29 0x00007ffff64467a1 in QEventDispatcherGlib::processEvents
    (this=0x80e560, flags=...)
    at kernel/qeventdispatcher_glib.cpp:434
#30 0x00007ffff6d34be6 in QGuiEventDispatcherGlib::processEvents
    (this=<optimized out>, flags=...)
    at kernel/qguieventdispatcher_glib.cpp:204
#31 0x00007ffff64180af in QEventLoop::processEvents
    (this=this@entry=0x7fffffffdb70, flags=...)
    at kernel/qeventloop.cpp:149
#32 0x00007ffff64183a5 in QEventLoop::exec
    (this=this@entry=0x7fffffffdb70, flags=...)
    at kernel/qeventloop.cpp:204
#33 0x00007ffff641db79 in QCoreApplication::exec ()
    at kernel/qcoreapplication.cpp:1225
#34 0x00000000004ba28f in main (argc=1, argv=0x7fffffffdf08)
    at xdrawchem/main.cpp:177


-- System Information:
Debian Release: jessie/sid
  APT prefers testing-updates
  APT policy: (500, 'testing-updates'), (500, 'testing')
Architecture: amd64 (x86_64)

Kernel: Linux 3.14-2-amd64 (SMP w/1 CPU core)
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8) (ignored: LC_ALL set to en_US.UTF-8)
Shell: /bin/sh linked to /bin/dash

Versions of packages xdrawchem depends on:
ii  libc6           2.19-11
ii  libgcc1         1:4.9.1-4
ii  libopenbabel4   2.3.2+dfsg-1.4
ii  libqt4-network  4:4.8.6+git64-g5dc8b2b+dfsg-2
ii  libqt4-xml      4:4.8.6+git64-g5dc8b2b+dfsg-2
ii  libqtcore4      4:4.8.6+git64-g5dc8b2b+dfsg-2
ii  libqtgui4       4:4.8.6+git64-g5dc8b2b+dfsg-2
ii  libstdc++6      4.9.1-4

xdrawchem recommends no packages.

xdrawchem suggests no packages.


Cheers,
Martin

--- End Message ---
--- Begin Message ---
Hello, the undo commands seem to do the job.

-- 
Georges KHAZNADAR et Jocelyne FOURNIER
22 rue des mouettes, 59240 Dunkerque France.
Téléphone +33 (0)3 28 29 17 70

Attachment: signature.asc
Description: PGP signature


--- End Message ---

Reply via email to