View Issue Details

IDProjectCategoryView StatusLast Update
0016697ScribusGeneralpublic2022-01-15 16:16
Reportercgiboudeaux Assigned Tojghali  
PrioritynormalSeveritycrashReproducibilityalways
Status closedResolutionfixed 
Product Version1.5.8.svn 
Fixed in Version1.5.8.svn 
Summary0016697: Crash on startup
DescriptionScribus crashes on startup with 1.5.7 or git snapshots. This is not a new issue but I finally take a minute to report it.

Backtrace (with a fresh snapshot)

(gdb) bt
#0 0x00007ffff5a3669e in __memmove_avx_unaligned_erms () from /usr/lib64/libc.so.6
0000001 0x00007ffff5f50886 in memcpy (__len=<optimized out>, __src=<optimized out>, __dest=<optimized out>) at /usr/include/bits/string_fortified.h:29
0000002 QString::append (str=..., this=0x7fffffffc488) at text/qstring.cpp:2685
0000003 QString::append (this=this@entry=0x7fffffffc488, str=...) at text/qstring.cpp:2677
0000004 0x00005555559b6aac in QString::operator+= (s=..., this=0x7fffffffc488) at /usr/include/qt5/QtCore/qstring.h:569
0000005 operator+ (s1=..., s1=..., s2=...) at /usr/include/qt5/QtCore/qstring.h:1531
0000006 LanguageManager::findSpellingDictionarySets (this=0x5555568abc50, dictionaryPaths=..., dictionaryMap=...) at /usr/src/debug/scribus-1.5.40svn-ku.83.1.x86_64/scribus/langmgr.cpp:1038
0000007 0x00005555559b7881 in LanguageManager::generateInstalledSpellLangList (this=0x5555568abc50) at /usr/src/debug/scribus-1.5.40svn-ku.83.1.x86_64/scribus/langmgr.cpp:715
0000008 0x00005555559b7e70 in LanguageManager::init (generateInstalledList=true, this=0x5555568abc50) at /usr/src/debug/scribus-1.5.40svn-ku.83.1.x86_64/scribus/langmgr.cpp:80
0000009 LanguageManager::init (this=0x5555568abc50, generateInstalledList=<optimized out>) at /usr/src/debug/scribus-1.5.40svn-ku.83.1.x86_64/scribus/langmgr.cpp:73
0000010 0x00005555559b7ebc in LanguageManager::instance () at /usr/src/debug/scribus-1.5.40svn-ku.83.1.x86_64/scribus/langmgr.cpp:44
0000011 0x0000555555c82eb3 in ScribusCore::initScribusCore (this=0x555556782eb0, showSplash=<optimized out>, showFontInfo=<optimized out>, showProfileInfo=<optimized out>, newGuiLanguage=...) at /usr/src/debug/scribus-1.5.40svn-ku.83.1.x86_64/scribus/scribuscore.cpp:149
0000012 0x0000555555c8344a in ScribusCore::startGUI (this=0x555556782eb0, showSplash=<optimized out>, showFontInfo=<optimized out>, showProfileInfo=<optimized out>, newGuiLanguage=...) at /usr/src/debug/scribus-1.5.40svn-ku.83.1.x86_64/scribus/scribuscore.cpp:99
0000013 0x0000555555c75fbe in ScribusQApp::init (this=this@entry=0x7fffffffc660) at /usr/src/debug/scribus-1.5.40svn-ku.83.1.x86_64/scribus/scribusapp.cpp:365
0000014 0x0000555555862901 in mainApp (argc=<optimized out>, argv=0x7fffffffc818) at /usr/src/debug/scribus-1.5.40svn-ku.83.1.x86_64/scribus/main_nix.cpp:72
0000015 0x00007ffff58d25c0 in __libc_start_call_main () from /usr/lib64/libc.so.6
0000016 0x00007ffff58d267c in __libc_start_main_impl () from /usr/lib64/libc.so.6
0000017 0x000055555580f525 in _start () at ../sysdeps/x86_64/start.S:116
Steps To ReproduceLaunch scribus
Additional InformationopenSUSE Tumbleweed / x86_64
TagsNo tags attached.
PatchNo

Activities

jghali

2021-12-05 23:39

administrator   ~0049404

I have built Scribus on current OpenSuse Tumbleweed and i cannot reproduce such issue on startup.

The location of crash is also weird because there are basically no reason for a crash at that place. The crash is ultimately triggered by third-party code inside Qt in a function which seems to use avx instructions. What kind of processsor does your computer use?

cgiboudeaux

2021-12-06 07:50

reporter   ~0049405

# cat /proc/cpuinfo
processor : 0
vendor_id : GenuineIntel
cpu family : 6
model : 60
model name : Intel(R) Core(TM) i5-4670K CPU @ 3.40GHz
stepping : 3
microcode : 0x28
[cut]

avx and erms are listed in flags.

The other maintainers are also unable to reproduce the crash.

Quoting:
« Looks like it's modifying a QStringList while traversing it: https://github.com/scribusproject/scribus/blob/0c04738fcf65b9a59694806ac676f2cc489c030a/scribus/langmgr.cpp#L1040

I can't reproduce the crash here, even when artifically filling the directory. I only get Broken filename passed to function in the QFile::exists call. »

jghali

2021-12-07 22:45

administrator   ~0049418

I modified the code in r24777 so as to avoid this QStringList modification during traversal. Please test.

cgiboudeaux

2021-12-08 08:54

reporter   ~0049419

The issue is fixed with this change.

Issue History

Date Modified Username Field Change
2021-12-05 21:07 cgiboudeaux New Issue
2021-12-05 23:39 jghali Note Added: 0049404
2021-12-06 07:50 cgiboudeaux Note Added: 0049405
2021-12-07 22:45 jghali Note Added: 0049418
2021-12-08 08:54 cgiboudeaux Note Added: 0049419
2021-12-08 12:04 jghali Assigned To => jghali
2021-12-08 12:04 jghali Status new => resolved
2021-12-08 12:04 jghali Resolution open => fixed
2021-12-08 12:04 jghali Fixed in Version => 1.5.8.svn
2022-01-15 16:16 cbradney Status resolved => closed