View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
0014568 | Scribus | Styles | public | 2017-01-18 13:09 | 2018-08-22 04:36 |
Reporter | perro_noob | Assigned To | |||
Priority | normal | Severity | minor | Reproducibility | always |
Status | new | Resolution | open | ||
Product Version | 1.5.2 | ||||
Summary | 0014568: Scribus crashes on importing style | ||||
Description | Scribus crashes when trying to import the styles from a different .sla file. The dialog menu appears but it just crashes after trying to import | ||||
Steps To Reproduce | Use a file with predefined styles. Open a new file and go to the Style Menu and Import Select the file with predefined styles Any option will make Scribus fail when trying to import | ||||
Additional Information | Using Antergos (Arch Linux) and KDE Plasma 5 Log from terminal: pathForIcon: Unable to load icon /usr/share/scribus/icons/1_5_1/AppIcon.png: File not found pathForIcon: Unable to load icon /usr/share/scribus/icons/1_5_1/AllCaps.png: File not found pathForIcon: Unable to load icon /usr/share/scribus/icons/1_5_1/Kapital.xpm: File not found pathForIcon: Unable to load icon /usr/share/scribus/icons/1_5_1/Strike.xpm: File not found pathForIcon: Unable to load icon /usr/share/scribus/icons/1_5_1/outlined.png: File not found pathForIcon: Unable to load icon /usr/share/scribus/icons/1_5_1/shadow.png: File not found pathForIcon: Unable to load icon /usr/share/scribus/icons/1_5_1/shade.png: File not found pathForIcon: Unable to load icon /usr/share/scribus/icons/1_5_1/Revers.png: File not found pathForIcon: Unable to load icon /usr/share/scribus/icons/1_5_1/postscript.png: File not found pathForIcon: Unable to load icon /usr/share/scribus/icons/1_5_1/txt.png: File not found pathForIcon: Unable to load icon /usr/share/scribus/icons/1_5_1/ooo_draw.png: File not found pathForIcon: Unable to load icon /usr/share/scribus/icons/1_5_1/ooo_writer.png: File not found pathForIcon: Unable to load icon /usr/share/scribus/icons/1_5_1/vectorgfx.png: File not found Scribus Crash ------------- Scribus crashes due to Signal 0000011 Segmentation fault (core dumped) | ||||
Tags | No tags attached. | ||||
Patch | No | ||||
|
Same problem with 1.5.3. (On OpenSuse Leap 42.3) |
|
I am seeing consistent crash when importing styles as well. Is it this one? ASSERT failure in QList<T>::operator[]: "index out of range", file /usr/include/x86_64-linux-gnu/qt5/QtCore/qlist.h, line 549 scribus-trunk: /build/scribus-trunk-oy3pEh/scribus-trunk-1.5.5svn~r22621~20180807~ppa73~ubuntu18.04.1/scribus/scribuscore.cpp:89: void abort_on_error(QtMsgType, const QMessageLogContext&, const QString&): Assertion `false' failed. Scribus Crash ------------- Scribus crashes due to Signal 0000006 |
|
@eudoxos: can you please share the file you're importing into and the file you're importing from? the .sla files should be enough... |
|
I just tested with a stripped-down version. Import styles from bare.sla into a new, clear document - that triggers the crash here. |
|
does work here with a fairly recent version of scribus 1.5... which version of scribus do you have? which language? |
|
I updated from trunk to make sure I have the most current: 1.5.5svn~r22621~20180807~ppa73~ubuntu18.04.1 . I will try with github trunk (if that helps anything). System language: english. |
|
the question is what your scribus language UI is... if it's english, than it's the same as mine and it does not matter... and i don't see any very recent commit that would make a difference, so there is probably no need to compile the trunk... can anybody else try loading the styles from the attached file? |
|
I imported the bare.sla file from scribus-ng in Ubuntu 16.04 (scribus 1.5.4) and it didn't crash. I'm using UK english language |
|
This is the backtrace when running github head with -ggdb3 in gdb: #0 __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:51 0000001 0x00007ffff147d801 in __GI_abort () at abort.c:79 0000002 0x00007ffff146d39a in __assert_fail_base (fmt=0x7ffff15f47d8 "%s%s%s:%u: %s%sAssertion `%s' failed.\n%n", assertion=assertion@entry=0x555556975c2a "false", file=file@entry=0x555556975c0f "../scribus/scribuscore.cpp", line=line@entry=89, function=function@entry=0x555556975ec0 <abort_on_error(QtMsgType, QMessageLogContext const&, QString const&)::__PRETTY_FUNCTION__> "void abort_on_error(QtMsgType, const QMessageLogContext&, const QString&)") at assert.c:92 0000003 0x00007ffff146d412 in __GI___assert_fail (assertion=0x555556975c2a "false", file=0x555556975c0f "../scribus/scribuscore.cpp", line=89, function=0x555556975ec0 <abort_on_error(QtMsgType, QMessageLogContext const&, QString const&)::__PRETTY_FUNCTION__> "void abort_on_error(QtMsgType, const QMessageLogContext&, const QString&)") at assert.c:101 0000004 0x00005555560d8bea in abort_on_error (t=QtFatalMsg, m=...) at ../scribus/scribuscore.cpp:89 0000005 0x00007ffff2207467 in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5 0000006 0x00007ffff2208f8e in QMessageLogger::fatal(char const*, ...) const () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5 0000007 0x00007ffff22044da in qt_assert_x(char const*, char const*, char const*, int) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5 0000008 0x000055555616f441 in QList<ParagraphStyle*>::operator[] (this=0x7fffffffc908, i=-1) at /usr/include/x86_64-linux-gnu/qt5/QtCore/qlist.h:549 0000009 0x0000555556165c56 in StyleSet<ParagraphStyle>::operator[] (this=0x7fffffffc8e0, index=-1) at ../scribus/styles/styleset.h:17 0000010 0x00005555566edfe5 in StyleManager::slotImport (this=0x555558eb3d90) at ../scribus/ui/stylemanager.cpp:393 0000011 0x0000555555be81f8 in StyleManager::qt_static_metacall (_o=0x555558eb3d90, _c=QMetaObject::InvokeMetaMethod, _id=7, _a=0x7fffffffcc30) at scribus/ui/moc_stylemanager.cpp:179 0000012 0x00007ffff242b5b5 in QMetaObject::activate(QObject*, int, int, void**) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5 0000013 0x00007ffff326bb82 in QAbstractButton::clicked(bool) () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5 0000014 0x00007ffff326bd9a in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5 0000015 0x00007ffff326d17a in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5 The relevant code is in scribus/ui/stylemanager.cpp:393: foreach (const QString& aStyle, dia2->paragraphStyles()) { ParagraphStyle& sty(tmpParaStyles[tmpParaStyles.find(aStyle)]); // <--- here I will try to look a bit more, but this might ring the bell for someone...? |
|
Inspecting variables, I see aStyle=QString("ImportedDefault Paragraph Style (&bare)") and tmpParaStyle.find(aStyle)=-1, so tmpParaStyles[-1] leads to assertion failure. This nonsensical name (not in the .sla file) is also shown in the dialogue which I did not spot before - see image attached. |
|
Adding the "Imported" prefix and suffix happens in loadStylesFromFile https://github.com/scribusproject/scribus/blob/8640edceee57b3f11e91517639b5c217d58efe8c/scribus/scribusdoc.cpp#L1695 - but I don't follow the logic how is that supposed to work. |
|
I tested bare.sla file in Scribus 1.5.5svn r22638, Linux Mint 19 (Ubuntu 18.04 base), Hungarian language. Scribus didn't crash. |
Date Modified | Username | Field | Change |
---|---|---|---|
2017-01-18 13:09 | perro_noob | New Issue | |
2018-01-03 13:41 | fredsome | Note Added: 0044805 | |
2018-08-15 17:59 | eudoxos | Note Added: 0045379 | |
2018-08-16 08:20 | ale | Note Added: 0045381 | |
2018-08-16 09:30 | eudoxos | File Added: bare.sla | |
2018-08-16 09:30 | eudoxos | Note Added: 0045382 | |
2018-08-16 12:52 | ale | Note Added: 0045383 | |
2018-08-17 08:12 | eudoxos | Note Added: 0045384 | |
2018-08-17 10:02 | ale | Note Added: 0045385 | |
2018-08-17 10:31 | perro_noob | Note Added: 0045386 | |
2018-08-17 15:25 | eudoxos | Note Added: 0045395 | |
2018-08-17 15:42 | eudoxos | File Added: styles-dialog.png | |
2018-08-17 15:42 | eudoxos | Note Added: 0045396 | |
2018-08-17 15:50 | eudoxos | Note Added: 0045397 | |
2018-08-22 04:36 | PeterBenedek | Note Added: 0045406 |