View Issue Details

IDProjectCategoryView StatusLast Update
0017020ScribusGeneralpublic2023-11-04 09:09
Reporterale Assigned Tojghali  
PrioritynormalSeverityminorReproducibilityalways
Status closedResolutionfixed 
Product Version1.7.0.svn 
Fixed in Version1.6.0.svn 
Summary0017020: crash when starting the "insert > glyph" dialog
Descriptioni have tried to add to a text frame the glyph 1F4E7 (as eugenie asked in the forums...) by using the "insert > glyph" dialog.

after pasting the unicode value, the description of the glyph has been displayed.

when trying to insert the glyph scribus has crashed.

now, scribus crashes each time i try to open the glyphs dialog.

deleting ~/.config/scribus does not help.
TagsNo tags attached.
PatchNo

Activities

ale

2023-10-04 19:26

manager   ~0050359

breaking news: deleting ~/.local/share/scribus/charpalette.ucp

gives me the dialog back : - )

still: it should not crash...

jghali

2023-10-05 16:33

administrator   ~0050360

Last edited: 2023-10-05 17:51

Ooops we are trying to initialize a QChar (which is a 16 bit char) with a value above OxFFFF. Logically it asserts. That should be reasonably easy to fix.

ale

2023-10-06 07:50

manager   ~0050361

Now it does not crash anymore, when the dialog starts. Thanks for the fix!

But Scribus crashes when I try to insert the character from the "Insert > Glyph" dialog by double clicking on the glyph found by search.

cbradney

2023-10-06 21:23

administrator   ~0050363

What font are you testing with? I couldn't replicate but that might help?

jghali

2023-10-06 21:51

administrator   ~0050364

@ale unable to reproduce a crash when inserting the glyph the way you are describing

ale

2023-10-07 08:01

manager   ~0050366

here it is:

- create a new document
- the default font is DejaVuSans
- create a new frame
- get into text insert mode
- open the "insert > glyph" dialog
- search for "1F4E7"
- accept the "email" glyph and close the search dialog
- double click on the "missing glyph" square
- crash

but also

- create a new document
- create a new frame
- set the font as "Noto Emoji" for the whole frame <-----
- get into text insert mode
- open the "insert > glyph" dialog
- search for "1F4E7"
- accept the "email" glyph and close the search dialog
- it still shows a "missing glyph" and if you click on the glyph it says "DejaVu Sans Book"
- (there seems to be no way to get the right font)
- double click on the "missing glyph" square
- crash

and of course

- create a new document
- create a new frame
- set the font as "Noto Emoji" for the whole frame
- deselect the text frame <------
- select again the text frame <-----
- get into text insert mode
- open the "insert > glyph" dialog
- search for "1F4E7"
- accept the "email" glyph and close the search dialog
- in the list, it now shows the correct preview for the email glyph (and the font is the "Noto Emoji" one)
- double click on the email glyph
- crash

ale

2023-10-07 08:03

manager   ~0050367

Last edited: 2023-10-07 08:05

Thread 1 "scribus" received signal SIGABRT, Aborted.
__pthread_kill_implementation (threadid=<optimized out>, signo=signo@entry=6, no_tid=no_tid@entry=0) at ./nptl/pthread_kill.c:44
44      ./nptl/pthread_kill.c: No such file or directory.
(gdb) bt
#0  __pthread_kill_implementation (threadid=<optimized out>, signo=signo@entry=6, no_tid=no_tid@entry=0) at ./nptl/pthread_kill.c:44
0000001  0x00007ffff5aa9d9f in __pthread_kill_internal (signo=6, threadid=<optimized out>) at ./nptl/pthread_kill.c:78
0000002  0x00007ffff5a5af32 in __GI_raise (sig=sig@entry=6) at ../sysdeps/posix/raise.c:26
0000003  0x00007ffff5a45472 in __GI_abort () at ./stdlib/abort.c:79
0000004  0x00007ffff5a45395 in __assert_fail_base (fmt=0x7ffff5bb9a90 "%s%s%s:%u: %s%sAssertion `%s' failed.\n%n", assertion=assertion@entry=0x5555567c9156 "false", file=file@entry=0x5555567c9128 "/home/ale/src/scribus/scribus/scribuscore.cpp", line=line@entry=84,
    function=function@entry=0x5555567c90d8 "void abort_on_error(QtMsgType, const QMessageLogContext&, const QString&)") at ./assert/assert.c:92
0000005  0x00007ffff5a53e32 in __GI___assert_fail (assertion=0x5555567c9156 "false", file=0x5555567c9128 "/home/ale/src/scribus/scribus/scribuscore.cpp", line=84, function=0x5555567c90d8 "void abort_on_error(QtMsgType, const QMessageLogContext&, const QString&)")
    at ./assert/assert.c:101
0000006  0x0000555555e60eed in abort_on_error (t=QtFatalMsg, m=...) at /home/ale/src/scribus/scribus/scribuscore.cpp:84
0000007  0x00007ffff5ccf77b in ?? () from /lib/x86_64-linux-gnu/libQt6Core.so.6
0000008  0x00007ffff5ccf888 in ?? () from /lib/x86_64-linux-gnu/libQt6Core.so.6
0000009  0x00007ffff5ca7a89 in QMessageLogger::fatal(char const*, ...) const () from /lib/x86_64-linux-gnu/libQt6Core.so.6
0000010 0x00007ffff5ca7afb in qt_assert(char const*, char const*, int) () from /lib/x86_64-linux-gnu/libQt6Core.so.6
0000011 0x000055555587cbce in QChar::QChar (this=0x7fffffffcd3e, rc=128231) at /usr/include/x86_64-linux-gnu/qt6/QtCore/qchar.h:79
0000012 0x00005555560ddefe in CharSelect::userNewChar (this=0x5555582bc840, i=128231, font=...) at /home/ale/src/scribus/scribus/ui/charselect.cpp:94
0000013 0x00005555557b275c in CharSelect::qt_static_metacall (_o=0x5555582bc840, _c=QMetaObject::InvokeMetaMethod, _id=11, _a=0x7fffffffcef0) at /home/ale/src/scribus/build/scribus/scribus_autogen/UYX5XTB5RZ/moc_charselect.cpp:210
0000014 0x00007ffff5d6cee3 in ?? () from /lib/x86_64-linux-gnu/libQt6Core.so.6
0000015 0x000055555579df35 in CharTableView::selectChar (this=0x5555582b3eb0, _t1=128231, _t2=...) at /home/ale/src/scribus/build/scribus/scribus_autogen/EWIEGA46WW/moc_chartableview.cpp:219
0000016 0x0000555555971f7c in CharTableView::viewDoubleClicked (this=0x5555582b3eb0) at /home/ale/src/scribus/scribus/chartableview.cpp:122
0000017 0x000055555579dc09 in CharTableView::qt_static_metacall (_o=0x5555582b3eb0, _c=QMetaObject::InvokeMetaMethod, _id=5, _a=0x7fffffffd0e0) at /home/ale/src/scribus/build/scribus/scribus_autogen/EWIEGA46WW/moc_chartableview.cpp:152
0000018 0x00007ffff5d6cee3 in ?? () from /lib/x86_64-linux-gnu/libQt6Core.so.6
0000019 0x00007ffff6e11a15 in QAbstractItemView::doubleClicked(QModelIndex const&) () from /lib/x86_64-linux-gnu/libQt6Widgets.so.6
0000020 0x00007ffff6e054ad in QAbstractItemView::mouseDoubleClickEvent(QMouseEvent*) () from /lib/x86_64-linux-gnu/libQt6Widgets.so.6
0000021 0x00007ffff6bc8540 in QWidget::event(QEvent*) () from /lib/x86_64-linux-gnu/libQt6Widgets.so.6
0000022 0x00007ffff6c52ae2 in QFrame::event(QEvent*) () from /lib/x86_64-linux-gnu/libQt6Widgets.so.6
0000023 0x00007ffff5d215b2 in QCoreApplicationPrivate::sendThroughObjectEventFilters(QObject*, QEvent*) () from /lib/x86_64-linux-gnu/libQt6Core.so.6
0000024 0x00007ffff6b82a43 in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /lib/x86_64-linux-gnu/libQt6Widgets.so.6
0000025 0x00007ffff6b7b931 in QApplication::notify(QObject*, QEvent*) () from /lib/x86_64-linux-gnu/libQt6Widgets.so.6
0000026 0x00007ffff5d238b8 in QCoreApplication::notifyInternal2(QObject*, QEvent*) () from /lib/x86_64-linux-gnu/libQt6Core.so.6
0000027 0x00007ffff6b783e8 in QApplicationPrivate::sendMouseEvent(QWidget*, QMouseEvent*, QWidget*, QWidget*, QWidget**, QPointer<QWidget>&, bool, bool) () from /lib/x86_64-linux-gnu/libQt6Widgets.so.6
0000028 0x00007ffff6bd5f95 in ?? () from /lib/x86_64-linux-gnu/libQt6Widgets.so.6
0000029 0x00007ffff6bd72f5 in ?? () from /lib/x86_64-linux-gnu/libQt6Widgets.so.6
0000030 0x00007ffff6b82a53 in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /lib/x86_64-linux-gnu/libQt6Widgets.so.6
0000031 0x00007ffff5d238b8 in QCoreApplication::notifyInternal2(QObject*, QEvent*) () from /lib/x86_64-linux-gnu/libQt6Core.so.6
0000032 0x00007ffff638e1b0 in QGuiApplicationPrivate::processMouseEvent(QWindowSystemInterfacePrivate::MouseEvent*) () from /lib/x86_64-linux-gnu/libQt6Gui.so.6
0000033 0x00007ffff63d653c in QWindowSystemInterface::sendWindowSystemEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /lib/x86_64-linux-gnu/libQt6Gui.so.6
0000034 0x00007ffff19a02fa in ?? () from /lib/x86_64-linux-gnu/libQt6XcbQpa.so.6
0000035 0x00007ffff551e7a9 in g_main_context_dispatch () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
0000036 0x00007ffff551ea38 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
0000037 0x00007ffff551eacc in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
0000038 0x00007ffff5f07f7c in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /lib/x86_64-linux-gnu/libQt6Core.so.6
0000039 0x00007ffff5d2d57a in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /lib/x86_64-linux-gnu/libQt6Core.so.6
0000040 0x00007ffff5d266a8 in QCoreApplication::exec() () from /lib/x86_64-linux-gnu/libQt6Core.so.6
0000041 0x000055555582fc15 in mainApp (argc=1, argv=0x7fffffffe318) at /home/ale/src/scribus/scribus/main_nix.cpp:97
0000042 0x000055555582f9a0 in main (argc=1, argv=0x7fffffffe318) at /home/ale/src/scribus/scribus/main_nix.cpp:51

ale

2023-10-07 08:25

manager   ~0050368

i guess that

emit insertUserSpecialChar(QChar(i), font);
https://github.com/scribusproject/scribus/blob/master/scribus/ui/charselect.cpp#L97

is at fault here... : - )

jghali

2023-10-08 14:02

administrator   ~0050369

That crash should be hopefully fixed too now.

ale

2023-10-08 18:28

manager   ~0050374

thanks!

i'll test it

Issue History

Date Modified Username Field Change
2023-10-04 19:23 ale New Issue
2023-10-04 19:26 ale Note Added: 0050359
2023-10-05 16:33 jghali Note Added: 0050360
2023-10-05 17:51 jghali Note Edited: 0050360
2023-10-05 19:53 jghali Assigned To => jghali
2023-10-05 19:53 jghali Status new => resolved
2023-10-05 19:53 jghali Resolution open => fixed
2023-10-05 19:53 jghali Fixed in Version => 1.6.0.svn
2023-10-06 07:50 ale Status resolved => new
2023-10-06 07:50 ale Resolution fixed => reopened
2023-10-06 07:50 ale Note Added: 0050361
2023-10-06 21:23 cbradney Note Added: 0050363
2023-10-06 21:51 jghali Note Added: 0050364
2023-10-07 08:01 ale Note Added: 0050366
2023-10-07 08:03 ale Note Added: 0050367
2023-10-07 08:05 ale Note Edited: 0050367
2023-10-07 08:25 ale Note Added: 0050368
2023-10-08 14:02 jghali Status new => resolved
2023-10-08 14:02 jghali Resolution reopened => fixed
2023-10-08 14:02 jghali Note Added: 0050369
2023-10-08 18:28 ale Note Added: 0050374
2023-11-04 09:09 cbradney Status resolved => closed