View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
0009616 | Scribus | Import / Export | public | 2010-12-25 01:16 | 2011-01-04 11:00 |
Reporter | jirib | Assigned To | ale | ||
Priority | high | Severity | block | Reproducibility | always |
Status | closed | Resolution | fixed | ||
Platform | i386 | OS | OpenBSD | OS Version | 4.8 -current |
Product Version | 1.4.0svn | ||||
Target Version | 1.4.0svn | Fixed in Version | 1.4.0svn | ||
Summary | 0009616: Scribus freezes when importing (Get text) Microsoft Word document into text box | ||||
Description | Scribus freezes when importing (Get text) Microsoft Word document into text box. I got same issue with 1.3.9 and 1.4.0svn (23.12.2010). It doesn't crash, one has to kill it. Sorry I'm not familiar with gdb so I'm not sure if following output is useful or not. (After scribus got freezed I did ^C and `bt'.) !22 jirib@t400(ttyp4) $ gdb scribus-ng GNU gdb 6.3 Copyright 2004 Free Software Foundation, Inc. GDB is free software, covered by the GNU General Public License, and you are welcome to change it and/or distribute copies of it under certain conditions. Type "show copying" to see the conditions. There is absolutely no warranty for GDB. Type "show warranty" for details. This GDB was configured as "i386-unknown-openbsd4.8"... (gdb) run Starting program: /usr/local/bin/scribus-ng QGtkStyle was unable to detect the current GTK+ theme. [New process 25531] QProcess: Destroyed while process is still running. [New process 25531, thread 0x7c29fc00] QProcess: Destroyed while process is still running. bt ^C Program received signal SIGINT, Interrupt. 0x08d5e229 in poll () from /usr/lib/libc.so.58.0 (gdb) bt #0 0x08d5e229 in poll () from /usr/lib/libc.so.58.0 0000001 0x0d68a301 in _thread_kern_poll (wait_reqd=1) at /usr/src/lib/libpthread/uthread/uthread_kern.c:760 0000002 0x0d68b1b3 in _thread_kern_sched (scp=0x0) at /usr/src/lib/libpthread/uthread/uthread_kern.c:382 0000003 0x0d68b726 in _thread_kern_sched_state (state=PS_SLEEP_WAIT, fname=0x2d6781fc "/usr/src/lib/libpthread/uthread/uthread_nanosleep.c", lineno=84) at /usr/src/lib/libpthread/uthread/uthread_kern.c:550 0000004 0x0d67e972 in nanosleep (time_to_sleep=0xcfbc642c, time_remaining=0x0) at /usr/src/lib/libpthread/uthread/uthread_nanosleep.c:84 0000005 0x08d3da1e in usleep (useconds=Variable "useconds" is not available. ) at /usr/src/lib/libc/gen/usleep.c:46 0000006 0x01cb38c1 in DocIm (this=0x7cb83c00, fname=@0xcfbc6530, enc=@0xcfbc652c, textO=true, w=0x875e1dc0) at /data/build/ports/pobj/scribus-ng-20101223-debug/Version135/Scribus/scribus/plugins/gettext/docim/docim.cpp:136 0000007 0x01cb4146 in GetText (filename=@0xcfbc6530, encoding=@0xcfbc652c, textOnly=true, writer=0x875e1dc0) at /data/build/ports/pobj/scribus-ng-20101223-debug/Version135/Scribus/scribus/plugins/gettext/docim/docim.cpp:70 0000008 0x1c448a7b in gtGetText::CallDLL (this=0x88ee11c0, idata=@0xcfbc65bc, filePath=@0xcfbc6650, encoding=@0xcfbc6658, textOnly=true, append=false, importItem=0x82e26000) at /data/build/ports/pobj/scribus-ng-20101223-debug/Version135/Scribus/scribus/gtgettext.cpp:244 0000009 0x1c44998d in gtGetText::launchImporter (this=0x88ee11c0, importer=-1, filename=@0xcfbc6650, textOnly=true, encoding=@0xcfbc6658, append=false, target=0x0) at /data/build/ports/pobj/scribus-ng-20101223-debug/Version135/Scribus/scribus/gtgettext.cpp:101 0000010 0x1c847542 in ScribusMainWindow::slotGetContent (this=0x7dfa7000) at /data/build/ports/pobj/scribus-ng-20101223-debug/Version135/Scribus/scribus/scribus.cpp:4298 0000011 0x1c1e8a7c in ScribusMainWindow::qt_metacall (this=0x7dfa7000, _c=QMetaObject::InvokeMetaMethod, _id=58, _a=0xcfbc689c) at /data/build/ports/pobj/scribus-ng-20101223-debug/Version135/Scribus/scribus/moc_scribus.cxx:480 0000012 0x0b2e45a3 in QMetaObject::metacall () from /usr/local/lib/qt4/libQtCore.so.9.0 0000013 0x0b2f5bbf in QMetaObject::activate () from /usr/local/lib/qt4/libQtCore.so.9.0 0000014 0x0d8aada9 in QAction::triggered () from /usr/local/lib/qt4/libQtGui.so.10.0 0000015 0x0d8ac21f in QAction::activate () from /usr/local/lib/qt4/libQtGui.so.10.0 0000016 0x0dd9fe30 in QMenuPrivate::activateCausedStack () from /usr/local/lib/qt4/libQtGui.so.10.0 0000017 0x0dda701b in QMenuPrivate::activateAction () from /usr/local/lib/qt4/libQtGui.so.10.0 0000018 0x0dda9112 in QMenu::mouseReleaseEvent () from /usr/local/lib/qt4/libQtGui.so.10.0 0000019 0x0d91d169 in QWidget::event () from /usr/local/lib/qt4/libQtGui.so.10.0 0000020 0x0dda69c4 in QMenu::event () from /usr/local/lib/qt4/libQtGui.so.10.0 0000021 0x0d8b2cac in QApplicationPrivate::notify_helper () from /usr/local/lib/qt4/libQtGui.so.10.0 0000022 0x0d8b995c in QApplication::notify () from /usr/local/lib/qt4/libQtGui.so.10.0 0000023 0x0b2ddcbb in QCoreApplication::notifyInternal () from /usr/local/lib/qt4/libQtCore.so.9.0 0000024 0x0d8b5029 in QApplicationPrivate::sendMouseEvent () from /usr/local/lib/qt4/libQtGui.so.10.0 0000025 0x0d94a2c7 in QETWidget::translateMouseEvent () from /usr/local/lib/qt4/libQtGui.so.10.0 0000026 0x0d9499be in QApplication::x11ProcessEvent () from /usr/local/lib/qt4/libQtGui.so.10.0 0000027 0x0d976e54 in QGuiEventDispatcherGlibPrivate::QGuiEventDispatcherGlibPrivate () from /usr/local/lib/qt4/libQtGui.so.10.0 0000028 0x03e07e47 in g_main_context_dispatch () from /usr/local/lib/libglib-2.0.so.2600.0 0000029 0x03e0b7be in g_main_context_prepare () from /usr/local/lib/libglib-2.0.so.2600.0 0000030 0x03e0bde5 in g_main_context_iteration () from /usr/local/lib/libglib-2.0.so.2600.0 0000031 0x0b310a7b in QEventDispatcherGlib::processEvents () from /usr/local/lib/qt4/libQtCore.so.9.0 0000032 0x0d976965 in QGuiEventDispatcherGlib::processEvents () from /usr/local/lib/qt4/libQtGui.so.10.0 0000033 0x0b2dce83 in QEventLoop::processEvents () from /usr/local/lib/qt4/libQtCore.so.9.0 0000034 0x0b2dd11a in QEventLoop::exec () from /usr/local/lib/qt4/libQtCore.so.9.0 0000035 0x0dda40b7 in QMenu::exec () from /usr/local/lib/qt4/libQtGui.so.10.0 0000036 0x1c317b1c in CanvasMode_Normal::createContextMenu (this=0x8ac77a00, currItem=0x82e26000, mx=421.5, my=326.25) at /data/build/ports/pobj/scribus-ng-20101223-debug/Version135/Scribus/scribus/canvasmode_normal.cpp:1490 0000037 0x1c31acb7 in CanvasMode_Normal::mouseReleaseEvent (this=0x8ac77a00, m=0xcfbc7ff8) at /data/build/ports/pobj/scribus-ng-20101223-debug/Version135/Scribus/scribus/canvasmode_normal.cpp:790 0000038 0x1c916ea8 in ScribusView::eventFilter (this=0x83b90200, obj=0x83b9a900, event=0xcfbc7ff8) at /data/build/ports/pobj/scribus-ng-20101223-debug/Version135/Scribus/scribus/scribusview.cpp:4801 0000039 0x0b2de111 in QCoreApplicationPrivate::sendThroughObjectEventFilters () from /usr/local/lib/qt4/libQtCore.so.9.0 0000040 0x0d8b2c83 in QApplicationPrivate::notify_helper () from /usr/local/lib/qt4/libQtGui.so.10.0 0000041 0x0d8b995c in QApplication::notify () from /usr/local/lib/qt4/libQtGui.so.10.0 0000042 0x0b2ddcbb in QCoreApplication::notifyInternal () from /usr/local/lib/qt4/libQtCore.so.9.0 0000043 0x0d8b5029 in QApplicationPrivate::sendMouseEvent () from /usr/local/lib/qt4/libQtGui.so.10.0 0000044 0x0d94a4a9 in QETWidget::translateMouseEvent () from /usr/local/lib/qt4/libQtGui.so.10.0 0000045 0x0d9499be in QApplication::x11ProcessEvent () from /usr/local/lib/qt4/libQtGui.so.10.0 0000046 0x0d976e54 in QGuiEventDispatcherGlibPrivate::QGuiEventDispatcherGlibPrivate () from /usr/local/lib/qt4/libQtGui.so.10.0 0000047 0x03e07e47 in g_main_context_dispatch () from /usr/local/lib/libglib-2.0.so.2600.0 0000048 0x03e0b7be in g_main_context_prepare () from /usr/local/lib/libglib-2.0.so.2600.0 0000049 0x03e0bde5 in g_main_context_iteration () from /usr/local/lib/libglib-2.0.so.2600.0 0000050 0x0b310a7b in QEventDispatcherGlib::processEvents () from /usr/local/lib/qt4/libQtCore.so.9.0 0000051 0x0d976965 in QGuiEventDispatcherGlib::processEvents () from /usr/local/lib/qt4/libQtGui.so.10.0 0000052 0x0b2dce83 in QEventLoop::processEvents () from /usr/local/lib/qt4/libQtCore.so.9.0 0000053 0x0b2dd11a in QEventLoop::exec () from /usr/local/lib/qt4/libQtCore.so.9.0 0000054 0x0b2df296 in QCoreApplication::exec () from /usr/local/lib/qt4/libQtCore.so.9.0 0000055 0x0d8b2687 in QApplication::exec () from /usr/local/lib/qt4/libQtGui.so.10.0 0000056 0x1cb15f96 in mainApp (argc=1, argv=0xcfbc8844) at main_nix.cpp:84 0000057 0x1cb16006 in main (argc=Cannot access memory at address 0x5 ) at main_nix.cpp:52 | ||||
Steps To Reproduce | * use openbsd 4.8 * compile 1.4.0svn version * try to import text from a microsoft word document into text box | ||||
Tags | No tags attached. | ||||
Patch | |||||
|
Block bugs block a release. Is antiword installed? Scribus should use that at runtime to import .doc files |
|
yes antiword is installed |
|
Confirmed on openSUSE 11.3 Indeed it seems to loop and I get a simialar back trace. And indeed a release blocker IMO. |
|
^C Program received signal SIGINT, Interrupt. 0xffffe424 in __kernel_vsyscall () (gdb) bt #0 0xffffe424 in __kernel_vsyscall () 0000001 0xb681a086 in nanosleep () from /lib/libc.so.6 0000002 0xb684ac8d in usleep () from /lib/libc.so.6 0000003 0xaff3a49d in DocIm::DocIm (this=0x95f15d0, fname=..., enc=..., textO=false, w=0x95dc9c0) at /home/mrdocs/svn2/135x/Version135/Scribus/scribus/plugins/gettext/docim/docim.cpp:136 0000004 0xaff3a098 in GetText (filename=..., encoding=..., textOnly=false, writer=0x95dc9c0) at /home/mrdocs/svn2/135x/Version135/Scribus/scribus/plugins/gettext/docim/docim.cpp:70 0000005 0x08457296 in gtGetText::CallDLL (this=0x9641980, idata=..., filePath=..., encoding=..., textOnly=false, append=false, importItem=0x9348790) at /home/mrdocs/svn2/135x/Version135/Scribus/scribus/gtgettext.cpp:244 0000006 0x08456689 in gtGetText::launchImporter (this=0x9641980, importer=-1, filename=..., textOnly=false, encoding=..., append=false, target=0x0) at /home/mrdocs/svn2/135x/Version135/Scribus/scribus/gtgettext.cpp:101 0000007 0x087953e9 in ScribusMainWindow::slotGetContent (this=0x8d2e4b8) at /home/mrdocs/svn2/135x/Version135/Scribus/scribus/scribus.cpp:4305 0000008 0x08291f9d in ScribusMainWindow::qt_metacall (this=0x8d2e4b8, _c=QMetaObject::InvokeMetaMethod, _id=58, _a=0xbfffcd08) at /home/mrdocs/svn2/135x/build135/scribus/moc_scribus.cxx:486 0000009 0xb71bc60d in QMetaObject::metacall(QObject*, QMetaObject::Call, int, void**) () from /usr/lib/libQtCore.so.4 0000010 0xb71cc80c in QMetaObject::activate(QObject*, QMetaObject const*, int, void**) () from /usr/lib/libQtCore.so.4 0000011 0xb758debd in QAction::triggered(bool) () from /usr/lib/libQtGui.so.4 0000012 0xb758e15b in QAction::activate(QAction::ActionEvent) () from /usr/lib/libQtGui.so.4 0000013 0xb7a29755 in QMenuPrivate::activateCausedStack(QList<QPointer<QWidget> > const&, QAction*, QAction::ActionEvent, bool) () from /usr/lib/libQtGui.so.4 0000014 0xb7a30367 in QMenuPrivate::activateAction(QAction*, QAction::ActionEvent, bool) () from /usr/lib/libQtGui.so.4 0000015 0xb7a31235 in QMenu::mouseReleaseEvent(QMouseEvent*) () from /usr/lib/libQtGui.so.4 0000016 0xb75f04d0 in QWidget::event(QEvent*) () from /usr/lib/libQtGui.so.4 0000017 0xb7a3175c in QMenu::event(QEvent*) () from /usr/lib/libQtGui.so.4 0000018 0xb7595014 in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib/libQtGui.so.4 0000019 0xb759e930 in QApplication::notify(QObject*, QEvent*) () from /usr/lib/libQtGui.so.4 0000020 0xb71b5d6e in QCoreApplication::notifyInternal(QObject*, QEvent*) () from /usr/lib/libQtCore.so.4 0000021 0xb75960bc in QApplicationPrivate::sendMouseEvent(QWidget*, QMouseEvent*, QWidget*, QWidget*, QWidget**, QPointer<QWidget>&, bool) () from /usr/lib/libQtGui.so.4 0000022 0xb76227c6 in QETWidget::translateMouseEvent(_XEvent const*) () from /usr/lib/libQtGui.so.4 0000023 0xb762170e in QApplication::x11ProcessEvent(_XEvent*) () from /usr/lib/libQtGui.so.4 0000024 0xb764bed0 in x11EventSourceDispatch(_GSource*, int (*)(void*), void*) () from /usr/lib/libQtGui.so.4 0000025 0xb64d7b49 in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0 0000026 0xb64d8350 in ?? () from /usr/lib/libglib-2.0.so.0 0000027 0xb64d860e in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0 0000028 0xb71e456b in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4 0000029 0xb764baca in QGuiEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtGui.so.4 0000030 0xb71b504d in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4 0000031 0xb71b5279 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4 0000032 0xb7a2d667 in QMenu::exec(QPoint const&, QAction*) () from /usr/lib/libQtGui.so.4 0000033 0x083837a5 in CanvasMode_Normal::createContextMenu (this=0x8fd82e0, currItem=0x9348790, mx=439.53488372093022, my=210.13953488372093) at /home/mrdocs/svn2/135x/Version135/Scribus/scribus/canvasmode_normal.cpp:1490 0000034 0x0837f47e in CanvasMode_Normal::mouseReleaseEvent (this=0x8fd82e0, m=0xbfffe644) at /home/mrdocs/svn2/135x/Version135/Scribus/scribus/canvasmode_normal.cpp:790 0000035 0x08850ef3 in ScribusView::eventFilter (this=0x92c12b8, obj=0x93473c8, event=0xbfffe644) at /home/mrdocs/svn2/135x/Version135/Scribus/scribus/scribusview.cpp:4801 0000036 0xb71b5f06 in QCoreApplicationPrivate::sendThroughObjectEventFilters(QObject*, QEvent*) () from /usr/lib/libQtCore.so.4 0000037 0xb7594fe4 in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib/libQtGui.so.4 0000038 0xb759e930 in QApplication::notify(QObject*, QEvent*) () from /usr/lib/libQtGui.so.4 0000039 0xb71b5d6e in QCoreApplication::notifyInternal(QObject*, QEvent*) () from /usr/lib/libQtCore.so.4 0000040 0xb75960bc in QApplicationPrivate::sendMouseEvent(QWidget*, QMouseEvent*, QWidget*, QWidget*, QWidget**, QPointer<QWidget>&, bool) () from /usr/lib/libQtGui.so.4 0000041 0xb76225ec in QETWidget::translateMouseEvent(_XEvent const*) () from /usr/lib/libQtGui.so.4 0000042 0xb762170e in QApplication::x11ProcessEvent(_XEvent*) () from /usr/lib/libQtGui.so.4 0000043 0xb764bed0 in x11EventSourceDispatch(_GSource*, int (*)(void*), void*) () from /usr/lib/libQtGui.so.4 0000044 0xb64d7b49 in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0 ---Type <return> to continue, or q <return> to quit--- 0000045 0xb64d8350 in ?? () from /usr/lib/libglib-2.0.so.0 0000046 0xb64d860e in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0 0000047 0xb71e456b in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4 0000048 0xb764baca in QGuiEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtGui.so.4 0000049 0xb71b504d in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4 0000050 0xb71b5279 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4 0000051 0xb71b9d20 in QCoreApplication::exec() () from /usr/lib/libQtCore.so.4 0000052 0xb7592d14 in QApplication::exec() () from /usr/lib/libQtGui.so.4 0000053 0x089a4e71 in mainApp (argc=1, argv=0xbfffef74) at /home/mrdocs/svn2/135x/Version135/Scribus/scribus/main_nix.cpp:84 0000054 0x089a4df7 in main (argc=1, argv=0xbfffef74) at /home/mrdocs/svn2/135x/Version135/Scribus/scribus/main_nix.cpp:52 (gdb) |
|
I can confirm this bug in 1.4.0 under Kubuntu Lucid 64bit. Although I dont want to import doc files (I save it as ODT from OOfice), but sometimes I click .doc instead .odt file and Scribus go sleep in loop. |
|
docim.cpp.patch (401 bytes)
--- docim.cpp 2011-01-02 19:22:32.507187793 +0100 +++ docim.cpp~ale 2011-01-02 19:30:07.778172853 +0100 @@ -113,7 +113,11 @@ return; } - while(proc->state()==QProcess::Running) + while (proc->waitForReadyRead()) { + usleep(5000); + } + + while(!proc->atEnd() || proc->state()==QProcess::Running) { proc->setReadChannel(QProcess::StandardOutput); if ( proc->canReadLine() ) |
|
peppe on #qt told that we should make the call asynchronous using QProcess signals, and return to the event loop... i may follow that hint and give a new patch for trunk at some times in the future... |
|
Confirmed the fix works.. :) |
Date Modified | Username | Field | Change |
---|---|---|---|
2010-12-25 01:16 | jirib | New Issue | |
2010-12-27 11:38 |
|
Note Added: 0025213 | |
2010-12-27 11:38 |
|
Severity | block => crash |
2010-12-27 11:38 |
|
Target Version | => 1.4.0svn |
2010-12-28 10:22 | jirib | Note Added: 0025214 | |
2011-01-01 21:46 |
|
Status | new => confirmed |
2011-01-01 21:48 |
|
Note Added: 0025226 | |
2011-01-01 21:48 |
|
Priority | normal => high |
2011-01-01 21:48 |
|
Severity | crash => block |
2011-01-01 21:48 |
|
Note Added: 0025227 | |
2011-01-02 11:40 | cezaryece | Note Added: 0025229 | |
2011-01-02 18:25 | ale | Assigned To | => ale |
2011-01-02 18:25 | ale | Status | confirmed => assigned |
2011-01-02 18:26 | ale | File Added: docim.cpp.patch | |
2011-01-02 18:42 | fschmid | Status | assigned => resolved |
2011-01-02 18:42 | fschmid | Fixed in Version | => 1.4.0svn |
2011-01-02 18:42 | fschmid | Resolution | open => fixed |
2011-01-02 19:01 | ale | Note Added: 0025236 | |
2011-01-04 11:00 |
|
Note Added: 0025271 | |
2011-01-04 11:00 |
|
Status | resolved => closed |