View Issue Details

IDProjectCategoryView StatusLast Update
0012950ScribusFontspublic2015-05-05 20:08
Reporterale Assigned Tocbradney  
PrioritynormalSeverityminorReproducibilityhave not tried
Status closedResolutionunable to reproduce 
Product Version1.5.0svn 
Summary0012950: scribus crash selecting font lato bold
Descriptionon behalf of malenki

scribus 1.5.0svn201503130201-30
also happens to 1.4.4
Steps To Reproducecreate a text frame
edit it
Select font "Lato Black"
scroll down the fonts just using the mouse wheel (not the drop down list)
go past "Lato Bold"
Additional InformationUnknown Class Table type
terminate called after throwing an instance of 'std::bad_alloc'
  what(): std::bad_alloc

Program received signal SIGABRT, Aborted.
0x00007ffff197b107 in raise () from /lib/x86_64-linux-gnu/libc.so.6
(gdb) bt
#0 0x00007ffff197b107 in raise () from /lib/x86_64-linux-gnu/libc.so.6
0000001 0x00007ffff197c4e8 in abort () from /lib/x86_64-linux-gnu/libc.so.6
0000002 0x00007ffff2266b3d in __gnu_cxx::__verbose_terminate_handler() () from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
0000003 0x00007ffff2264bb6 in ?? () from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
0000004 0x00007ffff2264c01 in std::terminate() () from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
0000005 0x00007ffff2264e69 in __cxa_rethrow () from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
0000006 0x00000000013128a5 in QList<unsigned short>::append (this=0x7fffffffcd90, t=@0x7fffffffcdc0: 22770) at /usr/include/qt5/QtCore/qlist.h:536
0000007 0x00000000013119cf in QList<unsigned short>::operator<< (this=0x7fffffffcd90, t=@0x7fffffffcdc0: 22770) at /usr/include/qt5/QtCore/qlist.h:325
0000008 0x000000000130ea87 in KernFeature::getClass (this=0x3500080, leftGlyph=false, classDefOffset=9460, coverageId=30878)
    at /build/buildd/scribus-trunk-1.5.0svn201503130201/scribus/fonts/scface_ttf.cpp:390
0000009 0x000000000130e3ca in KernFeature::makePairs (this=0x3500080, subtableOffset=30878)
    at /build/buildd/scribus-trunk-1.5.0svn201503130201/scribus/fonts/scface_ttf.cpp:305
0000010 0x000000000130dd98 in KernFeature::makeCoverage (this=0x3500080) at /build/buildd/scribus-trunk-1.5.0svn201503130201/scribus/fonts/scface_ttf.cpp:215
0000011 0x000000000130c6ca in KernFeature::KernFeature (this=0x3500080, face=0x37196c0)
    at /build/buildd/scribus-trunk-1.5.0svn201503130201/scribus/fonts/scface_ttf.cpp:36
0000012 0x000000000130f364 in ScFace_ttf::load (this=0x24c4430) at /build/buildd/scribus-trunk-1.5.0svn201503130201/scribus/fonts/scface_ttf.cpp:514
0000013 0x00000000013093a1 in FtFace::ftFace (this=0x24c4430) at /build/buildd/scribus-trunk-1.5.0svn201503130201/scribus/fonts/ftface.cpp:72
0000014 0x000000000130f349 in ScFace_ttf::load (this=0x24c4430) at /build/buildd/scribus-trunk-1.5.0svn201503130201/scribus/fonts/scface_ttf.cpp:514
0000015 0x0000000001307077 in ScFace::char2CMap (this=0x39b5ec0, ch=...) at /build/buildd/scribus-trunk-1.5.0svn201503130201/scribus/fonts/scface.cpp:368
0000016 0x0000000001307128 in ScFace::canRender (this=0x39b5ec0, ch=...) at /build/buildd/scribus-trunk-1.5.0svn201503130201/scribus/fonts/scface.cpp:388
0000017 0x0000000000865421 in ActionManager::enableActionStringList (this=0x270d520, actionMap=0x34a7a48, list=0x2c4ac50, enabled=true, checkingUnicode=true,
    fontName=...) at /build/buildd/scribus-trunk-1.5.0svn201503130201/scribus/actionmanager.cpp:1398
0000018 0x0000000000865532 in ActionManager::enableUnicodeActions (this=0x270d520, actionMap=0x34a7a48, enabled=true, fontName=...)
    at /build/buildd/scribus-trunk-1.5.0svn201503130201/scribus/actionmanager.cpp:1409
0000019 0x000000000123a85a in StoryEditor::updateUnicodeActions (this=0x34a7a00)
    at /build/buildd/scribus-trunk-1.5.0svn201503130201/scribus/ui/storyeditor.cpp:3389
0000020 0x00000000012330fb in StoryEditor::newTxFont (this=0x34a7a00, f=...) at /build/buildd/scribus-trunk-1.5.0svn201503130201/scribus/ui/storyeditor.cpp:2322
0000021 0x00000000008303b6 in StoryEditor::qt_static_metacall (_o=0x34a7a00, _c=QMetaObject::InvokeMetaMethod, _id=6, _a=0x7fffffffd5e0)
    at /build/buildd/scribus-trunk-1.5.0svn201503130201/debian/build/scribus/ui/moc_storyeditor.cpp:1417
0000022 0x00007ffff769590d in QMetaObject::activate(QObject*, int, int, void**) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
0000023 0x00000000008301a9 in SToolBFont::NewFont (this=0x34d8060, _t1=...)
    at /build/buildd/scribus-trunk-1.5.0svn201503130201/debian/build/scribus/ui/moc_storyeditor.cpp:1158
0000024 0x000000000082fddd in SToolBFont::qt_static_metacall (_o=0x34d8060, _c=QMetaObject::InvokeMetaMethod, _id=0, _a=0x7fffffffd770)
    at /build/buildd/scribus-trunk-1.5.0svn201503130201/debian/build/scribus/ui/moc_storyeditor.cpp:1076
0000025 0x00007ffff769590d in QMetaObject::activate(QObject*, int, int, void**) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
0000026 0x00007ffff6d90f95 in QComboBox::activated(QString const&) () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
0000027 0x00007ffff6d93426 in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
0000028 0x00007ffff6d9aa6f in QComboBox::wheelEvent(QWheelEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
0000029 0x00007ffff6cbf148 in QWidget::event(QEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
0000030 0x00007ffff6d95ec6 in QComboBox::event(QEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
0000031 0x00007ffff6c80f3c in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
0000032 0x00007ffff6c87e17 in QApplication::notify(QObject*, QEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
0000033 0x00007ffff7666f1b in QCoreApplication::notifyInternal(QObject*, QEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
0000034 0x00007ffff6cde7e3 in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
0000035 0x00007ffff6cdfd3b in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
0000036 0x00007ffff6c80f3c in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
0000037 0x00007ffff6c86380 in QApplication::notify(QObject*, QEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
0000038 0x00007ffff7666f1b in QCoreApplication::notifyInternal(QObject*, QEvent*) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
0000039 0x00007ffff64ef282 in QGuiApplicationPrivate::processWheelEvent(QWindowSystemInterfacePrivate::WheelEvent*) ()
   from /usr/lib/x86_64-linux-gnu/libQt5Gui.so.5
0000040 0x00007ffff64f3e15 in QGuiApplicationPrivate::processWindowSystemEvent(QWindowSystemInterfacePrivate::WindowSystemEvent*) ()
   from /usr/lib/x86_64-linux-gnu/libQt5Gui.so.5
0000041 0x00007ffff64d955f in QWindowSystemInterface::sendWindowSystemEvents(QFlags<QEventLoop::ProcessEventsFlag>) ()
   from /usr/lib/x86_64-linux-gnu/libQt5Gui.so.5
0000042 0x00007fffe2301f50 in ?? () from /usr/lib/x86_64-linux-gnu/qt5/plugins/platforms/libqxcb.so
0000043 0x00007fffef868c5d in g_main_context_dispatch () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
0000044 0x00007fffef868f48 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
0000045 0x00007fffef868ffc in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
0000046 0x00007ffff76be537 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
0000047 0x00007ffff7664752 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
0000048 0x00007ffff766c1cc in QCoreApplication::exec() () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
0000049 0x00000000012b2977 in mainApp (argc=1, argv=0x7fffffffe3b8) at /build/buildd/scribus-trunk-1.5.0svn201503130201/scribus/main_nix.cpp:78
0000050 0x00000000012b28f8 in main (argc=1, argv=0x7fffffffe3b8) at /build/buildd/scribus-trunk-1.5.0svn201503130201/scribus/main_nix.cpp:54
TagsNo tags attached.
PatchNo

Relationships

related to 0012985 assignedavox Improve font-checking script: discards potentially dangerous fonts during launch 

Activities

ale

2015-03-13 15:54

manager   ~0034692

the font file ishttp://malenki.ch/d/lato-fonts.zip

Kunda

2015-03-13 15:56

updater   ~0034693

Last edited: 2015-03-13 16:02

Can't reproduce this bug on OSX 10.9.5 1.5svn r19912 Qt5.4.1

jghali

2015-03-13 16:17

administrator   ~0034694

Cannot reproduce either on Windows. The message "terminate called after throwing an instance of 'std::bad_alloc'" in the backtrace indicate insufficient available memory on the computer. Cannot do much in this case.

malenki

2015-03-14 00:28

reporter   ~0034697

@jghali: The machine where this error occurs has 16GB of RAM and max the half of it was used when I experienced and traced back the crashes.

christoph_s

2015-03-14 06:45

developer   ~0034700

Tried to reproduce this on OpenSUSE and Fedora -- to no avail.

jghali

2015-03-14 08:25

administrator   ~0034702

@malenki, unfortunately a std::bad_alloc doesn't leave much doubt : http://www.cplusplus.com/reference/new/bad_alloc/

My machine has only 6GB of memory and that doesn't allow me to trigger that crash.

Kunda

2015-03-20 03:42

updater   ~0034727

malenki, Can you reproduce on another machine ?

malenki

2015-03-20 17:32

reporter   ~0034729

@jghali: When the error occours on a fresh booted linux with ~14GB fraa RAM I'd doubt a little that scribus is lacking free memory.
But I ain't no coder though.

@Kunda: yes.

Just did so on my netbook with siduction (debian sid) i386 and scribus 1.4.4.
It seems there is no package with debugging symbols.

(gdb) run
The program being debugged has been started already.
Start it from the beginning? (y or n) y
Starting program: /usr/bin/scribus
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/i386-linux-gnu/i686/cmov/libthread_db.so.1".
[New Thread 0xb1f5cb40 (LWP 21369)]
[New Thread 0xb15ffb40 (LWP 21377)]
[New Thread 0xb0bffb40 (LWP 21378)]
[Thread 0xb15ffb40 (LWP 21377) exited]
[Thread 0xb0bffb40 (LWP 21378) exited]
Unknown Class Table type
Unknown Class Table type
Unknown Class Table type
Unknown Class Table type
Unknown Class Table type
Unknown Class Table type
Unknown Class Table type
Unknown Class Table type
Unknown Class Table type
Unknown Class Table type
Unknown Class Table type
Unknown Class Table type
Unknown Class Table type
Unknown Class Table type
Unknown Class Table type
Unknown Class Table type
Unknown Class Table type
Unknown Class Table type
Unknown Class Table type
Unknown Class Table type
Unknown Class Table type
Unknown Class Table type
Unknown Class Table type
Unknown Class Table type
Unknown Class Table type
Unknown Class Table type
Unknown Class Table type
Unknown Class Table type
Unknown Class Table type
Unknown Class Table type
Unknown Class Table type
Unknown Class Table type
Unknown Class Table type
Unknown Class Table type
Unknown Class Table type
Unknown Class Table type
Unknown Class Table type
Unknown Class Table type
Qt has caught an exception thrown from an event handler. Throwing
exceptions from an event handler is not supported in Qt. You must
reimplement QApplication::notify() and catch all exceptions there.

terminate called after throwing an instance of 'std::bad_alloc'
  what(): std::bad_alloc

Program received signal SIGABRT, Aborted.
0xb7fdea00 in __kernel_vsyscall ()
(gdb) backtrace
#0 0xb7fdea00 in __kernel_vsyscall ()
0000001 0xb6204307 in raise () from /lib/i386-linux-gnu/i686/cmov/libc.so.6
0000002 0xb62059c3 in abort () from /lib/i386-linux-gnu/i686/cmov/libc.so.6
0000003 0xb642fa25 in __gnu_cxx::__verbose_terminate_handler() () from /usr/lib/i386-linux-gnu/libstdc++.so.6
0000004 0xb642d733 in ?? () from /usr/lib/i386-linux-gnu/libstdc++.so.6
0000005 0xb642d7ad in std::terminate() () from /usr/lib/i386-linux-gnu/libstdc++.so.6
0000006 0xb642dace in __cxa_rethrow () from /usr/lib/i386-linux-gnu/libstdc++.so.6
0000007 0xb7037bb3 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/i386-linux-gnu/libQtCore.so.4
0000008 0xb703db26 in QCoreApplication::exec() () from /usr/lib/i386-linux-gnu/libQtCore.so.4
0000009 0xb748f5b4 in QApplication::exec() () from /usr/lib/i386-linux-gnu/libQtGui.so.4
0000010 0x80990c4d in mainApp(int, char**) ()
0000011 0x8015cc97 in main ()

malenki

2015-03-20 19:09

reporter   ~0034730

The reported behaviour is triggered by a buggy font:
https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=780869

christoph_s

2015-03-23 07:00

developer   ~0034735

If a buggy font crashes Scribus, that's problem isn't it?

jghali

2015-03-23 08:35

administrator   ~0034737

Christoph, that doesn't change the fact we are not able to reproduce the issue with current code.

Kunda

2015-03-28 11:21

updater   ~0034779

Pasting malenki's platform info posted in the debian bug for someone to recreate:

Debian Release: 8.0
  APT prefers unstable
  APT policy: (990, 'unstable'), (500, 'stable')
Architecture: amd64 (x86_64)
Foreign Architectures: i386

Kernel: Linux 3.15-7.towo-siduction-amd64 (SMP w/4 CPU cores; PREEMPT)
Locale: LANG=de_DE.UTF-8, LC_CTYPE=de_DE.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Init: systemd (via /run/systemd/system)

avox

2015-04-03 15:21

updater   ~0034812

In fact Scribus crashing on this font is a feature. I've seen laser printers crash on that font, too. Better Scribus than the printer.

Maybe we should have a black list for buggy fonts...

christoph_s

2015-04-06 08:10

developer   ~0034824

Wonderful idea, avox. But it should be included in the font-checking script, right?

Kunda

2015-04-08 00:07

updater   ~0034848

Created 0012985 "Blacklist for buggy fonts"

christoph_s

2015-04-08 04:43

developer   ~0034853

Reconsidering my previous comment, how can a reliable blacklist be created? The problem, in this case, isn't the Lato font per se, but a buggy version of it.

What is needed instead is an improved version of the font-checking script that discards potentially dangerous fonts during launch.

Issue History

Date Modified Username Field Change
2015-03-13 15:49 ale New Issue
2015-03-13 15:54 ale Note Added: 0034692
2015-03-13 15:56 Kunda Note Added: 0034693
2015-03-13 16:02 Kunda Note Edited: 0034693
2015-03-13 16:17 jghali Note Added: 0034694
2015-03-14 00:28 malenki Note Added: 0034697
2015-03-14 06:45 christoph_s Note Added: 0034700
2015-03-14 08:25 jghali Note Added: 0034702
2015-03-20 03:42 Kunda Note Added: 0034727
2015-03-20 17:32 malenki Note Added: 0034729
2015-03-20 19:09 malenki Note Added: 0034730
2015-03-20 20:58 cbradney Status new => resolved
2015-03-20 20:58 cbradney Resolution open => unable to reproduce
2015-03-20 20:58 cbradney Assigned To => cbradney
2015-03-23 07:00 christoph_s Note Added: 0034735
2015-03-23 07:00 christoph_s Assigned To cbradney =>
2015-03-23 07:00 christoph_s Status resolved => new
2015-03-23 08:35 jghali Note Added: 0034737
2015-03-23 08:35 jghali Status new => resolved
2015-03-23 08:35 jghali Assigned To => cbradney
2015-03-28 11:21 Kunda Note Added: 0034779
2015-04-03 15:21 avox Note Added: 0034812
2015-04-06 08:10 christoph_s Note Added: 0034824
2015-04-08 00:06 Kunda Relationship added related to 0012985
2015-04-08 00:07 Kunda Note Added: 0034848
2015-04-08 04:43 christoph_s Note Added: 0034853
2015-04-11 19:38 cbradney Status resolved => closed