View Issue Details

IDProjectCategoryView StatusLast Update
0015808ScribusStylespublic2019-12-08 21:24
Reporterranjithsiji Assigned Tojghali  
PrioritynormalSeveritycrashReproducibilityalways
Status closedResolutionfixed 
PlatformGNU/LinuxOSKubuntu 19.04OS Version19.04
Product Version1.5.6.svn 
Fixed in Version1.5.6.svn 
Summary0015808: Scribus crashes when editing character styles' hyphenation character
DescriptionScribus Crash
-------------
Scribus crashes due to Signal 0000006

Steps To ReproduceOpen Scribus 1.5.6 > New Document > Edit > Styles

Create New Character Style

On the Hyphenation Delete the Hyphenation Character

Experinece the Scribus Crash due to signal 0000006
Additional InformationIt simply crashes

I installed the scribus from scribus-truk ppa

 1.5.6svn~r23176~20190904~ppa74~ubuntu19.10.1 This is the version
Tagscrash, style manager, styles
PatchNo

Activities

ranjithsiji

2019-09-05 13:56

reporter  

thescribuscrash.png (126,217 bytes)   
thescribuscrash.png (126,217 bytes)   

ale

2019-09-05 15:07

manager   ~0046633

yep

here is the backtrace

#0 __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:50
0000001 0x00007ffff5cb8535 in __GI_abort () at abort.c:79
0000002 0x00007ffff5cb840f in __assert_fail_base (fmt=0x7ffff5e1aee0 "%s%s%s:%u: %s%sAssertion `%s' failed.\n%n", assertion=0x5555567c764d "false",
    file=0x5555567c7632 "../scribus/scribuscore.cpp", line=90, function=<optimized out>) at assert.c:92
0000003 0x00007ffff5cc6102 in __GI___assert_fail (assertion=0x5555567c764d "false", file=0x5555567c7632 "../scribus/scribuscore.cpp", line=90,
    function=0x5555567c75e8 "void abort_on_error(QtMsgType, const QMessageLogContext&, const QString&)") at assert.c:101
0000004 0x0000555555fec537 in abort_on_error (t=QtFatalMsg, m=...) at ../scribus/scribuscore.cpp:90
0000005 0x00007ffff627add5 in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
0000006 0x00007ffff627af88 in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
0000007 0x00007ffff624d98e in QMessageLogger::fatal(char const*, ...) const () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
0000008 0x00007ffff624ce83 in qt_assert_x(char const*, char const*, char const*, int) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
0000009 0x0000555555e5423b in QVector<unsigned int>::operator[] (this=0x7fffffffd610, i=0) at /usr/include/x86_64-linux-gnu/qt5/QtCore/qvector.h:436
0000010 0x0000555556592e22 in SMCharacterStyle::slotHyphenChar (this=0x555558b98c10) at ../scribus/ui/smtextstyles.cpp:2990
0000011 0x0000555555b14961 in SMCharacterStyle::qt_static_metacall (_o=0x555558b98c10, _c=QMetaObject::InvokeMetaMethod, _id=17, _a=0x7fffffffd780)
    at scribus/ui/moc_smtextstyles.cpp:583
0000012 0x00007ffff645f463 in QMetaObject::activate(QObject*, int, int, void**) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
0000013 0x00007ffff6ee5cd2 in QLineEdit::textChanged(QString const&) () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
0000014 0x00007ffff6eec569 in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
0000015 0x00007ffff645f463 in QMetaObject::activate(QObject*, int, int, void**) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
0000016 0x00007ffff6eed0c5 in QWidgetLineControl::textChanged(QString const&) () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
0000017 0x00007ffff6ef042e in QWidgetLineControl::finishChange(int, bool, bool) () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
0000018 0x00007ffff6ef37c8 in QWidgetLineControl::processKeyEvent(QKeyEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
0000019 0x00007ffff6ee5e2a in QLineEdit::keyPressEvent(QKeyEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
0000020 0x00007ffff6df0b37 in QWidget::event(QEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
0000021 0x00007ffff6eebe3a in QLineEdit::event(QEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
0000022 0x00007ffff6db2501 in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
0000023 0x00007ffff6dba951 in QApplication::notify(QObject*, QEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
0000024 0x00007ffff6436029 in QCoreApplication::notifyInternal2(QObject*, QEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
0000025 0x00007ffff6e0db89 in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
0000026 0x00007ffff6db2501 in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
0000027 0x00007ffff6db99b0 in QApplication::notify(QObject*, QEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
0000028 0x00007ffff6436029 in QCoreApplication::notifyInternal2(QObject*, QEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
0000029 0x00007ffff67df598 in QGuiApplicationPrivate::processKeyEvent(QWindowSystemInterfacePrivate::KeyEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Gui.so.5
0000030 0x00007ffff67e4e45 in QGuiApplicationPrivate::processWindowSystemEvent(QWindowSystemInterfacePrivate::WindowSystemEvent*) ()
   from /usr/lib/x86_64-linux-gnu/libQt5Gui.so.5
0000031 0x00007ffff67bf06b in QWindowSystemInterface::sendWindowSystemEvents(QFlags<QEventLoop::ProcessEventsFlag>) ()
   from /usr/lib/x86_64-linux-gnu/libQt5Gui.so.5
0000032 0x00007ffff1a6a39b in ?? () from /usr/lib/x86_64-linux-gnu/libQt5XcbQpa.so.5
0000033 0x00007ffff6434cfb in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
0000034 0x00007ffff643ccd2 in QCoreApplication::exec() () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
0000035 0x000055555662b2af in mainApp (argc=1, argv=0x7fffffffe358) at ../scribus/main_nix.cpp:78
0000036 0x000055555662b21d in main (argc=1, argv=0x7fffffffe358) at ../scribus/main_nix.cpp:53

ale

2019-09-05 15:14

manager   ~0046634

and this is the offending line:

void SMCharacterStyle::slotHyphenChar()
{
...
uint ch = m_page->hyphenCharLineEdit->text().toUcs4()[0];
...
}

the solution is probably straight forward... just check for !text().isEmpty() before converting and picking the first char...

ranjithsiji

2019-09-05 15:15

reporter   ~0046635

Yes. But if I add another character to the field is it crash ??

ale

2019-09-05 15:33

manager   ~0046636

yes, for the input field you're first deleting and then inserting... it's attached to an "on change" event...

Issue History

Date Modified Username Field Change
2019-09-05 13:56 ranjithsiji New Issue
2019-09-05 13:56 ranjithsiji File Added: thescribuscrash.png
2019-09-05 13:56 ranjithsiji Tag Attached: crash
2019-09-05 13:56 ranjithsiji Tag Attached: style manager
2019-09-05 13:56 ranjithsiji Tag Attached: styles
2019-09-05 15:07 ale Note Added: 0046633
2019-09-05 15:14 ale Note Added: 0046634
2019-09-05 15:15 ranjithsiji Note Added: 0046635
2019-09-05 15:33 ale Note Added: 0046636
2019-09-05 16:27 jghali Summary Scribus Crashes due to signal 0000006 => Scribus crashes when editing hyphenation character in character styles
2019-09-05 16:33 jghali Summary Scribus crashes when editing hyphenation character in character styles => Scribus crashes when editing character styles' hyphenation character
2019-09-05 16:33 jghali Assigned To => jghali
2019-09-05 16:33 jghali Status new => resolved
2019-09-05 16:33 jghali Resolution open => fixed
2019-09-05 16:33 jghali Fixed in Version => 1.5.6.svn
2019-12-08 21:24 cbradney Status resolved => closed