Bug 312639 - Creating KUrl( QString::fromUtf8( "places://Kořen" ) ) asserts with debugging Qt, QUrl does not
Summary: Creating KUrl( QString::fromUtf8( "places://Kořen" ) ) asserts with debugging...
Status: RESOLVED WORKSFORME
Alias: None
Product: kdelibs
Classification: Frameworks and Libraries
Component: kdecore (show other bugs)
Version: 4.9.4
Platform: Gentoo Packages Linux
: NOR crash
Target Milestone: ---
Assignee: kdelibs bugs
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2013-01-04 21:55 UTC by Matěj Laitl
Modified: 2020-12-13 11:47 UTC (History)
2 users (show)

See Also:
Latest Commit:
Version Fixed In:


Attachments
New crash information added by DrKonqi (10.17 KB, text/plain)
2013-02-13 23:28 UTC, Bartosz Brachaczek
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Matěj Laitl 2013-01-04 21:55:19 UTC
Application: amarok (2.6-git)
KDE Platform Version: 4.9.4
Qt Version: 4.8.4
Operating System: Linux 3.6.3 x86_64
Distribution (Platform): Gentoo Packages

-- Information about the crash:
Merely creating a KUrl from QString that contains accented charcters crashes on assert in Qt which says:
ASSERT: "starter >= from" in file tools/qchar.cpp, line 1574

Steps to reproduce:
1. Be sure to have Qt build with debugging assertions enabled
2. main.cpp (UTF-8 encoded):
#include <KUrl>

int main(void) {
	volatile QUrl qurl( QString::fromUtf8( "places://Kořen" ) ); // okay
	volatile KUrl kurl( QString::fromUtf8( "places://Kořen" ) ); // crashes here
	return 0;
}


Note that the backtrace is from Amarok, however this is my working copy with custom changes applied, the code that makes KUrl crash isn't upstream.

The crash can be reproduced every time.

-- Backtrace:
Application: Amarok (amarok), signal: Aborted
Using host libthread_db library "/lib64/libthread_db.so.1".
[Current thread is 1 (Thread 0x7fa6903e8780 (LWP 3379))]

Thread 10 (Thread 0x7fa66b9b2700 (LWP 3383)):
#0  0x00007fa68cb16bc3 in *__GI___poll (fds=<optimized out>, nfds=<optimized out>, timeout=<optimized out>) at ../sysdeps/unix/sysv/linux/poll.c:87
#1  0x00007fa6826ea42f in poll_func (ufds=0x7fa660002610, nfds=2, timeout=-1, userdata=0x23a7190) at pulse/thread-mainloop.c:69
#2  0x00007fa6826db77c in pa_mainloop_poll (m=0x23a4420) at pulse/mainloop.c:873
#3  0x00007fa6826dbde9 in pa_mainloop_iterate (m=0x23a4420, block=<optimized out>, retval=0x0) at pulse/mainloop.c:955
#4  0x00007fa6826dbea0 in pa_mainloop_run (m=0x23a4420, retval=0x0) at pulse/mainloop.c:973
#5  0x00007fa6826ea3cb in thread (userdata=0x23a33e0) at pulse/thread-mainloop.c:88
#6  0x00007fa67b41b1b8 in internal_thread_func (userdata=0x29cdf80) at pulsecore/thread-posix.c:83
#7  0x00007fa68ac3cda6 in start_thread (arg=0x7fa66b9b2700) at pthread_create.c:305
#8  0x00007fa68cb1fabd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:115

Thread 9 (Thread 0x7fa668c19700 (LWP 3385)):
#0  0x00007fa68cb16bc3 in *__GI___poll (fds=<optimized out>, nfds=<optimized out>, timeout=<optimized out>) at ../sysdeps/unix/sysv/linux/poll.c:87
#1  0x00007fa685b00936 in g_main_context_poll (n_fds=2, fds=0x7fa654001aa0, timeout=-1, context=0x7fa6540009a0, priority=<optimized out>) at gmain.c:3440
#2  g_main_context_iterate (context=0x7fa6540009a0, block=1, dispatch=1, self=<optimized out>) at gmain.c:3141
#3  0x00007fa685b00a54 in g_main_context_iteration (context=0x7fa6540009a0, may_block=1) at gmain.c:3207
#4  0x00007fa68d4c17b6 in QEventDispatcherGlib::processEvents (this=0x7fa6540008c0, flags=...) at kernel/qeventdispatcher_glib.cpp:426
#5  0x00007fa68d48d702 in QEventLoop::processEvents (this=<optimized out>, flags=...) at kernel/qeventloop.cpp:149
#6  0x00007fa68d48d995 in QEventLoop::exec (this=0x7fa668c18da0, flags=...) at kernel/qeventloop.cpp:204
#7  0x00007fa68d378b48 in QThread::exec (this=<optimized out>) at thread/qthread.cpp:542
#8  0x00007fa68d46aa70 in QInotifyFileSystemWatcherEngine::run (this=0x2a206a0) at io/qfilesystemwatcher_inotify.cpp:256
#9  0x00007fa68d37b0f8 in QThreadPrivate::start (arg=0x2a206a0) at thread/qthread_unix.cpp:338
#10 0x00007fa68ac3cda6 in start_thread (arg=0x7fa668c19700) at pthread_create.c:305
#11 0x00007fa68cb1fabd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:115

Thread 8 (Thread 0x7fa666255700 (LWP 3386)):
#0  pthread_cond_wait () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:162
#1  0x00007fa68d37c16b in wait (time=18446744073709551615, this=0x2bb36f0) at thread/qwaitcondition_unix.cpp:86
#2  QWaitCondition::wait (this=<optimized out>, mutex=0x2c3d8e0, time=18446744073709551615) at thread/qwaitcondition_unix.cpp:158
#3  0x00007fa689f6e95e in ThreadWeaver::WeaverImpl::blockThreadUntilJobsAreBeingAssigned (this=0x2594e90, th=0x2cfadc0) at /var/tmp/portage/kde-base/kdelibs-4.9.4-r1/work/kdelibs-4.9.4/threadweaver/Weaver/WeaverImpl.cpp:365
#4  0x00007fa689f71403 in ThreadWeaver::WorkingHardState::applyForWork (this=0x2ba34b0, th=0x2cfadc0) at /var/tmp/portage/kde-base/kdelibs-4.9.4-r1/work/kdelibs-4.9.4/threadweaver/Weaver/WorkingHardState.cpp:71
#5  0x00007fa689f7141c in ThreadWeaver::WorkingHardState::applyForWork (this=0x2ba34b0, th=0x2cfadc0) at /var/tmp/portage/kde-base/kdelibs-4.9.4-r1/work/kdelibs-4.9.4/threadweaver/Weaver/WorkingHardState.cpp:74
#6  0x00007fa689f7018f in ThreadWeaver::ThreadRunHelper::run (this=0x7fa666254df0, parent=0x2594e90, th=0x2cfadc0) at /var/tmp/portage/kde-base/kdelibs-4.9.4-r1/work/kdelibs-4.9.4/threadweaver/Weaver/Thread.cpp:87
#7  0x00007fa689f70218 in ThreadWeaver::Thread::run (this=0x2cfadc0) at /var/tmp/portage/kde-base/kdelibs-4.9.4-r1/work/kdelibs-4.9.4/threadweaver/Weaver/Thread.cpp:142
#8  0x00007fa68d37b0f8 in QThreadPrivate::start (arg=0x2cfadc0) at thread/qthread_unix.cpp:338
#9  0x00007fa68ac3cda6 in start_thread (arg=0x7fa666255700) at pthread_create.c:305
#10 0x00007fa68cb1fabd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:115

Thread 7 (Thread 0x7fa653fff700 (LWP 3387)):
#0  pthread_cond_wait () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:162
#1  0x00007fa68d37c16b in wait (time=18446744073709551615, this=0x2bb36f0) at thread/qwaitcondition_unix.cpp:86
#2  QWaitCondition::wait (this=<optimized out>, mutex=0x2c3d8e0, time=18446744073709551615) at thread/qwaitcondition_unix.cpp:158
#3  0x00007fa689f6e95e in ThreadWeaver::WeaverImpl::blockThreadUntilJobsAreBeingAssigned (this=0x2594e90, th=0x2d155b0) at /var/tmp/portage/kde-base/kdelibs-4.9.4-r1/work/kdelibs-4.9.4/threadweaver/Weaver/WeaverImpl.cpp:365
#4  0x00007fa689f71403 in ThreadWeaver::WorkingHardState::applyForWork (this=0x2ba34b0, th=0x2d155b0) at /var/tmp/portage/kde-base/kdelibs-4.9.4-r1/work/kdelibs-4.9.4/threadweaver/Weaver/WorkingHardState.cpp:71
#5  0x00007fa689f7018f in ThreadWeaver::ThreadRunHelper::run (this=0x7fa653ffedf0, parent=0x2594e90, th=0x2d155b0) at /var/tmp/portage/kde-base/kdelibs-4.9.4-r1/work/kdelibs-4.9.4/threadweaver/Weaver/Thread.cpp:87
#6  0x00007fa689f70218 in ThreadWeaver::Thread::run (this=0x2d155b0) at /var/tmp/portage/kde-base/kdelibs-4.9.4-r1/work/kdelibs-4.9.4/threadweaver/Weaver/Thread.cpp:142
#7  0x00007fa68d37b0f8 in QThreadPrivate::start (arg=0x2d155b0) at thread/qthread_unix.cpp:338
#8  0x00007fa68ac3cda6 in start_thread (arg=0x7fa653fff700) at pthread_create.c:305
#9  0x00007fa68cb1fabd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:115

Thread 6 (Thread 0x7fa665a54700 (LWP 3388)):
#0  pthread_cond_wait () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:162
#1  0x00007fa68d37c16b in wait (time=18446744073709551615, this=0x2bb36f0) at thread/qwaitcondition_unix.cpp:86
#2  QWaitCondition::wait (this=<optimized out>, mutex=0x2c3d8e0, time=18446744073709551615) at thread/qwaitcondition_unix.cpp:158
#3  0x00007fa689f6e95e in ThreadWeaver::WeaverImpl::blockThreadUntilJobsAreBeingAssigned (this=0x2594e90, th=0x2bf2bb0) at /var/tmp/portage/kde-base/kdelibs-4.9.4-r1/work/kdelibs-4.9.4/threadweaver/Weaver/WeaverImpl.cpp:365
#4  0x00007fa689f71403 in ThreadWeaver::WorkingHardState::applyForWork (this=0x2ba34b0, th=0x2bf2bb0) at /var/tmp/portage/kde-base/kdelibs-4.9.4-r1/work/kdelibs-4.9.4/threadweaver/Weaver/WorkingHardState.cpp:71
#5  0x00007fa689f7141c in ThreadWeaver::WorkingHardState::applyForWork (this=0x2ba34b0, th=0x2bf2bb0) at /var/tmp/portage/kde-base/kdelibs-4.9.4-r1/work/kdelibs-4.9.4/threadweaver/Weaver/WorkingHardState.cpp:74
#6  0x00007fa689f7018f in ThreadWeaver::ThreadRunHelper::run (this=0x7fa665a53df0, parent=0x2594e90, th=0x2bf2bb0) at /var/tmp/portage/kde-base/kdelibs-4.9.4-r1/work/kdelibs-4.9.4/threadweaver/Weaver/Thread.cpp:87
#7  0x00007fa689f70218 in ThreadWeaver::Thread::run (this=0x2bf2bb0) at /var/tmp/portage/kde-base/kdelibs-4.9.4-r1/work/kdelibs-4.9.4/threadweaver/Weaver/Thread.cpp:142
#8  0x00007fa68d37b0f8 in QThreadPrivate::start (arg=0x2bf2bb0) at thread/qthread_unix.cpp:338
#9  0x00007fa68ac3cda6 in start_thread (arg=0x7fa665a54700) at pthread_create.c:305
#10 0x00007fa68cb1fabd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:115

Thread 5 (Thread 0x7fa665253700 (LWP 3389)):
#0  pthread_cond_wait () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:162
#1  0x00007fa68d37c16b in wait (time=18446744073709551615, this=0x2bb36f0) at thread/qwaitcondition_unix.cpp:86
#2  QWaitCondition::wait (this=<optimized out>, mutex=0x2c3d8e0, time=18446744073709551615) at thread/qwaitcondition_unix.cpp:158
#3  0x00007fa689f6e95e in ThreadWeaver::WeaverImpl::blockThreadUntilJobsAreBeingAssigned (this=0x2594e90, th=0x2d02120) at /var/tmp/portage/kde-base/kdelibs-4.9.4-r1/work/kdelibs-4.9.4/threadweaver/Weaver/WeaverImpl.cpp:365
#4  0x00007fa689f71403 in ThreadWeaver::WorkingHardState::applyForWork (this=0x2ba34b0, th=0x2d02120) at /var/tmp/portage/kde-base/kdelibs-4.9.4-r1/work/kdelibs-4.9.4/threadweaver/Weaver/WorkingHardState.cpp:71
#5  0x00007fa689f7141c in ThreadWeaver::WorkingHardState::applyForWork (this=0x2ba34b0, th=0x2d02120) at /var/tmp/portage/kde-base/kdelibs-4.9.4-r1/work/kdelibs-4.9.4/threadweaver/Weaver/WorkingHardState.cpp:74
#6  0x00007fa689f7018f in ThreadWeaver::ThreadRunHelper::run (this=0x7fa665252df0, parent=0x2594e90, th=0x2d02120) at /var/tmp/portage/kde-base/kdelibs-4.9.4-r1/work/kdelibs-4.9.4/threadweaver/Weaver/Thread.cpp:87
#7  0x00007fa689f70218 in ThreadWeaver::Thread::run (this=0x2d02120) at /var/tmp/portage/kde-base/kdelibs-4.9.4-r1/work/kdelibs-4.9.4/threadweaver/Weaver/Thread.cpp:142
#8  0x00007fa68d37b0f8 in QThreadPrivate::start (arg=0x2d02120) at thread/qthread_unix.cpp:338
#9  0x00007fa68ac3cda6 in start_thread (arg=0x7fa665253700) at pthread_create.c:305
#10 0x00007fa68cb1fabd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:115

Thread 4 (Thread 0x7fa65b148700 (LWP 3390)):
#0  pthread_cond_wait () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:162
#1  0x00007fa681aaff34 in WTF::TCMalloc_PageHeap::scavengerThread (this=0x7fa68248e080 <WTF::pageheap_memory>) at wtf/FastMalloc.cpp:2495
#2  0x00007fa681aaff69 in WTF::TCMalloc_PageHeap::runScavengerThread (context=0x7fa68249c154 <WTF::pageheap_memory+57556>) at wtf/FastMalloc.cpp:1618
#3  0x00007fa68ac3cda6 in start_thread (arg=0x7fa65b148700) at pthread_create.c:305
#4  0x00007fa68cb1fabd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:115

Thread 3 (Thread 0x7fa65a947700 (LWP 3391)):
#0  0x00007fa68cb16bc3 in *__GI___poll (fds=<optimized out>, nfds=<optimized out>, timeout=<optimized out>) at ../sysdeps/unix/sysv/linux/poll.c:87
#1  0x00007fa685b00936 in g_main_context_poll (n_fds=1, fds=0x7fa6380021c0, timeout=-1, context=0x7fa6380009a0, priority=<optimized out>) at gmain.c:3440
#2  g_main_context_iterate (context=0x7fa6380009a0, block=1, dispatch=1, self=<optimized out>) at gmain.c:3141
#3  0x00007fa685b00a54 in g_main_context_iteration (context=0x7fa6380009a0, may_block=1) at gmain.c:3207
#4  0x00007fa68d4c175f in QEventDispatcherGlib::processEvents (this=0x7fa6380008c0, flags=...) at kernel/qeventdispatcher_glib.cpp:424
#5  0x00007fa68d48d702 in QEventLoop::processEvents (this=<optimized out>, flags=...) at kernel/qeventloop.cpp:149
#6  0x00007fa68d48d995 in QEventLoop::exec (this=0x7fa65a946de0, flags=...) at kernel/qeventloop.cpp:204
#7  0x00007fa68d378b48 in QThread::exec (this=<optimized out>) at thread/qthread.cpp:542
#8  0x00007fa68d37b0f8 in QThreadPrivate::start (arg=0x2fc8cc0) at thread/qthread_unix.cpp:338
#9  0x00007fa68ac3cda6 in start_thread (arg=0x7fa65a947700) at pthread_create.c:305
#10 0x00007fa68cb1fabd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:115

Thread 2 (Thread 0x7fa6592a1700 (LWP 3400)):
#0  0x00007fa68cb19233 in select () at ../sysdeps/unix/syscall-template.S:82
#1  0x00007fa68d468cdc in QProcessManager::run (this=0x7fa68d7fe440 <processManager()::processManager>) at io/qprocess_unix.cpp:245
#2  0x00007fa68d37b0f8 in QThreadPrivate::start (arg=0x7fa68d7fe440 <processManager()::processManager>) at thread/qthread_unix.cpp:338
#3  0x00007fa68ac3cda6 in start_thread (arg=0x7fa6592a1700) at pthread_create.c:305
#4  0x00007fa68cb1fabd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:115

Thread 1 (Thread 0x7fa6903e8780 (LWP 3379)):
[KCrash Handler]
#6  0x00007fa68ca69ad5 in *__GI_raise (sig=<optimized out>) at ../nptl/sysdeps/unix/sysv/linux/raise.c:64
#7  0x00007fa68ca6af56 in *__GI_abort () at abort.c:91
#8  0x00007fa68d370e74 in qt_message_output (msgType=<optimized out>, buf=<optimized out>) at global/qglobal.cpp:2323
#9  0x00007fa68d37100d in qt_message(QtMsgType, const char *, typedef __va_list_tag __va_list_tag *) (msgType=QtFatalMsg, msg=0x7fa68d4faa28 "ASSERT: \"%s\" in file %s, line %d", ap=0x7ffffa31c790) at global/qglobal.cpp:2369
#10 0x00007fa68d3711a9 in qFatal (msg=<optimized out>) at global/qglobal.cpp:2552
#11 0x00007fa68d3d40a3 in composeHelper (from=1, version=QChar::Unicode_3_2, str=0x7ffffa31ca40) at tools/qchar.cpp:1574
#12 qt_string_normalize (data=<optimized out>, mode=QString::NormalizationForm_KC, version=QChar::Unicode_3_2, from=1) at tools/qstring.cpp:6376
#13 0x00007fa68d43e7e7 in qt_nameprep (source=0x7ffffa31ca40, from=0) at io/qurl.cpp:3029
#14 0x00007fa68d4411f9 in qt_ACE_do (domain=..., op=<optimized out>) at io/qurl.cpp:3391
#15 0x00007fa68d441ab5 in QUrlPrivate::canonicalHost (this=0x5737ff0) at io/qurl.cpp:3494
#16 0x00007fa68d442079 in QUrlPrivate::authority (this=0x5737ff0, options=...) at io/qurl.cpp:3565
#17 0x00007fa68d442a9a in QUrlPrivate::toEncoded (this=0x5737ff0, options=...) at io/qurl.cpp:3996
#18 0x00007fa68d443dc6 in QUrlPrivate::validate (this=<optimized out>) at io/qurl.cpp:3806
#19 0x00007fa68d444125 in QUrl::isValid (this=0x7ffffa31cf00) at io/qurl.cpp:4290
#20 0x00007fa68d936a98 in KUrl::_setEncodedUrl (this=0x7ffffa31cf00, url=...) at /var/tmp/portage/kde-base/kdelibs-4.9.4-r1/work/kdelibs-4.9.4/kdecore/io/kurl.cpp:1598
#21 0x00007fa68d93748c in KUrl::KUrl (this=0x7ffffa31cf00, str=...) at /var/tmp/portage/kde-base/kdelibs-4.9.4-r1/work/kdelibs-4.9.4/kdecore/io/kurl.cpp:429
#22 0x00007fa68f3c36ea in FileBrowser::setupAddItems (this=0x334bc20) at /home/strohel/projekty/amarok/src/browsers/filebrowser/FileBrowser.cpp:409
#23 0x00007fa68f3c4695 in FileBrowser::setDir (this=0x334bc20, dir=...) at /home/strohel/projekty/amarok/src/browsers/filebrowser/FileBrowser.cpp:475
#24 0x00007fa68f3c4930 in FileBrowser::up (this=0x334bc20) at /home/strohel/projekty/amarok/src/browsers/filebrowser/FileBrowser.cpp:513
#25 0x00007fa68d4a7b40 in QMetaObject::activate (sender=0x334edc0, m=<optimized out>, local_signal_index=<optimized out>, argv=0x7ffffa31d340) at kernel/qobject.cpp:3539
#26 0x00007fa68dec9ce2 in QAction::triggered (this=<optimized out>, _t1=false) at .moc/debug-shared/moc_qaction.cpp:277
#27 0x00007fa68dec9eda in QAction::activate (this=0x334edc0, event=<optimized out>) at kernel/qaction.cpp:1257
#28 0x00007fa68e2f7a8a in QAbstractButtonPrivate::click (this=0x33516c0) at widgets/qabstractbutton.cpp:530
#29 0x00007fa68e2f7d3c in QAbstractButton::mouseReleaseEvent (this=0x33515d0, e=0x7ffffa31df20) at widgets/qabstractbutton.cpp:1123
#30 0x00007fa68e3c766a in QToolButton::mouseReleaseEvent (this=<optimized out>, e=<optimized out>) at widgets/qtoolbutton.cpp:718
#31 0x00007fa68df2a7da in QWidget::event (this=0x33515d0, event=0x7ffffa31df20) at kernel/qwidget.cpp:8375
#32 0x00007fa68ded0744 in QApplicationPrivate::notify_helper (this=0x2393c90, receiver=0x33515d0, e=0x7ffffa31df20) at kernel/qapplication.cpp:4562
#33 0x00007fa68ded67c8 in QApplication::notify (this=<optimized out>, receiver=0x33515d0, e=0x7ffffa31df20) at kernel/qapplication.cpp:4105
#34 0x00007fa68fe00da6 in KApplication::notify (this=0x7ffffa31ea60, receiver=0x33515d0, event=0x7ffffa31df20) at /var/tmp/portage/kde-base/kdelibs-4.9.4-r1/work/kdelibs-4.9.4/kdeui/kernel/kapplication.cpp:311
#35 0x00007fa68d48f26c in QCoreApplication::notifyInternal (this=0x7ffffa31ea60, receiver=0x33515d0, event=0x7ffffa31df20) at kernel/qcoreapplication.cpp:946
#36 0x00007fa68ded1b7b in sendEvent (event=<optimized out>, receiver=<optimized out>) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:231
#37 QApplicationPrivate::sendMouseEvent (receiver=0x33515d0, event=0x7ffffa31df20, alienWidget=0x33515d0, nativeWidget=0x29db990, buttonDown=0x7fa68eab3438 <qt_button_down>, lastMouseReceiver=..., spontaneous=true) at kernel/qapplication.cpp:3173
#38 0x00007fa68df5b1d8 in QETWidget::translateMouseEvent (this=0x29db990, event=<optimized out>) at kernel/qapplication_x11.cpp:4516
#39 0x00007fa68df59839 in QApplication::x11ProcessEvent (this=0x7ffffa31ea60, event=0x7ffffa31e6d0) at kernel/qapplication_x11.cpp:3639
#40 0x00007fa68df830f2 in x11EventSourceDispatch (s=0x2394d10, callback=0x0, user_data=0x0) at kernel/qguieventdispatcher_glib.cpp:146
#41 0x00007fa685b00653 in g_main_dispatch (context=0x2394f40) at gmain.c:2539
#42 g_main_context_dispatch (context=0x2394f40) at gmain.c:3075
#43 0x00007fa685b00998 in g_main_context_iterate (context=0x2394f40, block=1, dispatch=1, self=<optimized out>) at gmain.c:3146
#44 0x00007fa685b00a54 in g_main_context_iteration (context=0x2394f40, may_block=1) at gmain.c:3207
#45 0x00007fa68d4c17b6 in QEventDispatcherGlib::processEvents (this=0x2226ad0, flags=...) at kernel/qeventdispatcher_glib.cpp:426
#46 0x00007fa68df82d8e in QGuiEventDispatcherGlib::processEvents (this=<optimized out>, flags=...) at kernel/qguieventdispatcher_glib.cpp:204
#47 0x00007fa68d48d702 in QEventLoop::processEvents (this=<optimized out>, flags=...) at kernel/qeventloop.cpp:149
#48 0x00007fa68d48d995 in QEventLoop::exec (this=0x7ffffa31e9c0, flags=...) at kernel/qeventloop.cpp:204
#49 0x00007fa68d492d7b in QCoreApplication::exec () at kernel/qcoreapplication.cpp:1218
#50 0x000000000040a1f9 in main (argc=3, argv=0x7ffffa320ff8) at /home/strohel/projekty/amarok/src/main.cpp:329

Reported using DrKonqi
Comment 1 Bartosz Brachaczek 2013-02-13 23:28:41 UTC
Created attachment 77271 [details]
New crash information added by DrKonqi

rekonq (2.1) on KDE Platform 4.10.00 using Qt 4.8.4

- What I was doing when the application crashed:

I was entering text in the address bar in Rekonq. Two first letter were plain ASCII, and the third was a Unicode character: "ł". It crashed just after entering the third letter.

-- Backtrace (Reduced):
#6  0x00007f64bd56ad79 in __GI_raise (sig=<optimized out>) at ../nptl/sysdeps/unix/sysv/linux/raise.c:63
#7  0x00007f64bd56c290 in __GI_abort () at abort.c:90
[...]
#11 0x00007f64bed1f8b9 in composeHelper (from=1, version=QChar::Unicode_3_2, str=0x7fff1dbd20b0) at tools/qchar.cpp:1574
#12 qt_string_normalize (data=<optimized out>, mode=QString::NormalizationForm_KC, version=QChar::Unicode_3_2, from=1) at tools/qstring.cpp:6376
#13 0x00007f64bed85bb4 in qt_nameprep (source=0x7fff1dbd20b0, from=<optimized out>) at io/qurl.cpp:3029
Comment 2 Justin Zobel 2020-12-13 02:30:17 UTC
Thank you for the crash reports.

As it has been a while since this was reported, can you please test and confirm if this issue is still occurring or if this bug report can be marked as resolved.

I have set the bug status to "needsinfo" pending your response, please change back to "reported" or "resolved/worksforme" when you respond, thank you.
Comment 3 Matěj Laitl 2020-12-13 11:47:13 UTC
I can confirm that this is fixed, or at least no longer reproducible with
KDE Frameworks 5.74
Qt 5.15.1

I've compiled a slightly modified test executable: [main.cpp]

#include <iostream>
#include <QLibraryInfo>
#include <KUrl>

int main(void) {
    std::cout << "QLibraryInfo::isDebugBuild(): " << QLibraryInfo::isDebugBuild() << std::endl;

    volatile QUrl qurl( QString::fromUtf8( "places://Kořen" ) ); // okay
    volatile KUrl kurl( QString::fromUtf8( "places://Kořen" ) ); // crashes here
    return 0;
}

...with the following command:

g++ main.cpp -I /usr/include/KF5/KDELibs4Support/KDE -I /usr/include/KF5/KDELibs4Support -I /usr/include/qt5/QtCore -I /usr/include/qt5 -fPIC -l Qt5Core

...and it gives:
$ ./a.out 
QLibraryInfo::isDebugBuild(): 1
$ echo $?
0