Bug 217472

Summary: Konqueror crashes when opening pages with Hebrew characters
Product: [Applications] konqueror Reporter: Densetsu no Ero-sennin <ag+services>
Component: generalAssignee: Konqueror Developers <konq-bugs>
Status: RESOLVED UPSTREAM    
Severity: crash CC: ag+services, andresbajotierra, eugene.shalygin+bugzilla.kde
Priority: NOR    
Version: unspecified   
Target Milestone: ---   
Platform: Unlisted Binaries   
OS: Linux   
Latest Commit: Version Fixed In:
Sentry Crash Report:

Description Densetsu no Ero-sennin 2009-12-05 18:28:39 UTC
Application that crashed: konqueror
Version of the application: 4.3.4 (KDE 4.3.4)
KDE Version: 4.3.4 (KDE 4.3.4)
Qt Version: 4.6.0
Operating System: Linux 2.6.31-gentoo-r1 i686

What I was doing when the application crashed:
Koneuqeror crashes every time I try to open http://en.wikipedia.org/wiki/Shabbat or any other page containing Hebrew characters.

 -- Backtrace:
Application: Konqueror (kdeinit4), signal: Aborted
[Current thread is 0 (LWP 31293)]

Thread 2 (Thread 0xb2a1ab90 (LWP 31349)):
#0  0xb7f54424 in __kernel_vsyscall ()
#1  0xb7cb7fa2 in pthread_cond_timedwait@@GLIBC_2.3.2 () from /lib/libpthread.so.0
#2  0xb7d4e6ae in QWaitCondition::wait (this=0x97981b4, mutex=0x97981b0, time=30000) at thread/qwaitcondition_unix.cpp:85
#3  0xb7d43eb8 in QThreadPoolThread::run (this=0x97886a8) at concurrent/qthreadpool.cpp:140
#4  0xb7d4d845 in QThreadPrivate::start (arg=0x97886a8) at thread/qthread_unix.cpp:244
#5  0xb7cb415f in start_thread () from /lib/libpthread.so.0
#6  0xb6790c0e in clone () from /lib/libc.so.6

Thread 1 (Thread 0xb610db40 (LWP 31293)):
[KCrash Handler]
#6  0xb7f54424 in __kernel_vsyscall ()
#7  0xb66ec660 in raise () from /lib/libc.so.6
#8  0xb66ede98 in abort () from /lib/libc.so.6
#9  0xb66e56ce in __assert_fail () from /lib/libc.so.6
#10 0xb7db9e79 in HB_HeuristicSetGlyphAttributes (item=0xbfc6a8c0) at ../3rdparty/harfbuzz/src/harfbuzz-shaper.cpp:436
#11 0xb7dbf271 in HB_HebrewShape (shaper_item=0xbfc6a8c0) at ../3rdparty/harfbuzz/src/harfbuzz-hebrew.c:59
#12 0xb7db8ff6 in HB_ShapeItem (shaper_item=0xbfc6a8c0) at ../3rdparty/harfbuzz/src/harfbuzz-shaper.cpp:1334
#13 0xb7dc013d in qShapeItem (item=0xbfc6a8c0) at tools/qharfbuzz.cpp:150
#14 0xb6c7a8bd in QTextEngine::shapeTextWithHarfbuzz (this=0xbfc6ab2c, item=0) at text/qtextengine.cpp:1234
#15 0xb6c7b1e1 in QTextEngine::shapeText (this=0xbfc6ab2c, item=0) at text/qtextengine.cpp:874
#16 0xb6c7b5d1 in QTextEngine::shape (this=0xbfc6ab2c, item=0) at text/qtextengine.cpp:1359
#17 0xb6c7dd2f in QTextEngine::width (this=0xbfc6ab2c, from=0, len=7) at text/qtextengine.cpp:1550
#18 0xb6c5a1e7 in QFontMetrics::width (this=0xa4ad4e4, text=@0xbfc6abf0, len=7) at text/qfontmetrics.cpp:538
#19 0xb2dfd457 in khtml::Font::width (this=0xa4acd28, chs=0xa4adf40, pos=0, len=7, fast=false, start=0, end=0, toAdd=0)
    at /var/tmp/portage/kde-base/kdelibs-4.3.4/work/kdelibs-4.3.4/khtml/rendering/font.cpp:372
#20 0xb2dc2159 in khtml::RenderText::calcMinMaxWidth (this=0x9bad790) at /var/tmp/portage/kde-base/kdelibs-4.3.4/work/kdelibs-4.3.4/khtml/rendering/render_text.cpp:1197
#21 0xb2d39003 in khtml::KHTMLParser::insertNode (this=0x8f7b558, n=0xa4ade90, flat=true) at /var/tmp/portage/kde-base/kdelibs-4.3.4/work/kdelibs-4.3.4/khtml/html/htmlparser.cpp:450
#22 0xb2d3ba0c in khtml::KHTMLParser::parseToken (this=0x8f7b558, t=0x98fda84) at /var/tmp/portage/kde-base/kdelibs-4.3.4/work/kdelibs-4.3.4/khtml/html/htmlparser.cpp:302
#23 0xb2d3c50c in khtml::HTMLTokenizer::processToken (this=0x98fda70) at /var/tmp/portage/kde-base/kdelibs-4.3.4/work/kdelibs-4.3.4/khtml/html/htmltokenizer.cpp:2056
#24 0xb2d46464 in khtml::HTMLTokenizer::write (this=0x98fda70, str=@0xbfc6aeb4, appendData=false) at /var/tmp/portage/kde-base/kdelibs-4.3.4/work/kdelibs-4.3.4/khtml/html/htmltokenizer.cpp:1806
#25 0xb2d41237 in khtml::HTMLTokenizer::notifyFinished (this=0x98fda70) at /var/tmp/portage/kde-base/kdelibs-4.3.4/work/kdelibs-4.3.4/khtml/html/htmltokenizer.cpp:2135
#26 0xb2e5b35d in khtml::CachedScript::checkNotify (this=0x987ee38) at /var/tmp/portage/kde-base/kdelibs-4.3.4/work/kdelibs-4.3.4/khtml/misc/loader.cpp:390
#27 0xb2e5e412 in khtml::CachedScript::data (this=0x987ee38, buffer=@0x9e3270c, eof=true) at /var/tmp/portage/kde-base/kdelibs-4.3.4/work/kdelibs-4.3.4/khtml/misc/loader.cpp:382
#28 0xb2e5e077 in khtml::Loader::slotFinished (this=0x9929608, job=0x9b634e8) at /var/tmp/portage/kde-base/kdelibs-4.3.4/work/kdelibs-4.3.4/khtml/misc/loader.cpp:1461
#29 0xb2e63e8e in khtml::Loader::qt_metacall (this=0x9929608, _c=QMetaObject::InvokeMetaMethod, _id=3, _a=0xbfc6b16c)
    at /var/tmp/portage/kde-base/kdelibs-4.3.4/work/kdelibs-4.3.4_build/khtml/loader.moc:143
#30 0xb7e4825f in QMetaObject::metacall (object=0x7a3d, cl=QMetaObject::InvokeMetaMethod, idx=7, argv=0xbfc6b16c) at kernel/qmetaobject.cpp:237
#31 0xb7e56a29 in QMetaObject::activate (sender=0x9b634e8, m=0xb7ca5d48, local_signal_index=3, argv=0xbfc6b16c) at kernel/qobject.cpp:3286
#32 0xb7b4cc06 in KJob::result (this=0x9b634e8, _t1=0x9b634e8) at /var/tmp/portage/kde-base/kdelibs-4.3.4/work/kdelibs-4.3.4_build/kdecore/kjob.moc:194
#33 0xb7b4cf04 in KJob::emitResult (this=0x9b634e8) at /var/tmp/portage/kde-base/kdelibs-4.3.4/work/kdelibs-4.3.4/kdecore/jobs/kjob.cpp:304
#34 0xb7785579 in KIO::SimpleJob::slotFinished (this=0x9b634e8) at /var/tmp/portage/kde-base/kdelibs-4.3.4/work/kdelibs-4.3.4/kio/kio/job.cpp:477
#35 0xb7785a4c in KIO::TransferJob::slotFinished (this=0x9b634e8) at /var/tmp/portage/kde-base/kdelibs-4.3.4/work/kdelibs-4.3.4/kio/kio/job.cpp:948
#36 0xb778219a in KIO::TransferJob::qt_metacall (this=0x9b634e8, _c=QMetaObject::InvokeMetaMethod, _id=7, _a=0xbfc6b3d8)
    at /var/tmp/portage/kde-base/kdelibs-4.3.4/work/kdelibs-4.3.4_build/kio/jobclasses.moc:367
#37 0xb7e4825f in QMetaObject::metacall (object=0x7a3d, cl=QMetaObject::InvokeMetaMethod, idx=47, argv=0xbfc6b3d8) at kernel/qmetaobject.cpp:237
#38 0xb7e56a29 in QMetaObject::activate (sender=0x9573cf8, m=0xb7920f04, local_signal_index=4, argv=0x0) at kernel/qobject.cpp:3286
#39 0xb7843adc in KIO::SlaveInterface::finished (this=0x9573cf8) at /var/tmp/portage/kde-base/kdelibs-4.3.4/work/kdelibs-4.3.4_build/kio/slaveinterface.moc:171
#40 0xb78476f2 in KIO::SlaveInterface::dispatch (this=0x9573cf8, _cmd=104, rawdata=@0xbfc6b574) at /var/tmp/portage/kde-base/kdelibs-4.3.4/work/kdelibs-4.3.4/kio/kio/slaveinterface.cpp:175
#41 0xb7843f60 in KIO::SlaveInterface::dispatch (this=0x9573cf8) at /var/tmp/portage/kde-base/kdelibs-4.3.4/work/kdelibs-4.3.4/kio/kio/slaveinterface.cpp:91
#42 0xb7836974 in KIO::Slave::gotInput (this=0x9573cf8) at /var/tmp/portage/kde-base/kdelibs-4.3.4/work/kdelibs-4.3.4/kio/kio/slave.cpp:322
#43 0xb7838d1d in KIO::Slave::qt_metacall (this=0x9573cf8, _c=QMetaObject::InvokeMetaMethod, _id=2, _a=0xbfc6b6a8) at /var/tmp/portage/kde-base/kdelibs-4.3.4/work/kdelibs-4.3.4_build/kio/slave.moc:82
#44 0xb7e4825f in QMetaObject::metacall (object=0x7a3d, cl=QMetaObject::InvokeMetaMethod, idx=30, argv=0xbfc6b6a8) at kernel/qmetaobject.cpp:237
#45 0xb7e56a29 in QMetaObject::activate (sender=0x8bc00e8, m=0xb791d840, local_signal_index=0, argv=0x0) at kernel/qobject.cpp:3286
#46 0xb774c590 in KIO::Connection::readyRead (this=0x8bc00e8) at /var/tmp/portage/kde-base/kdelibs-4.3.4/work/kdelibs-4.3.4_build/kio/connection.moc:92
#47 0xb774dc81 in KIO::ConnectionPrivate::dequeue (this=0x9579180) at /var/tmp/portage/kde-base/kdelibs-4.3.4/work/kdelibs-4.3.4/kio/kio/connection.cpp:82
#48 0xb774dfed in KIO::Connection::qt_metacall (this=0x8bc00e8, _c=QMetaObject::InvokeMetaMethod, _id=1, _a=0xa0f9e48)
    at /var/tmp/portage/kde-base/kdelibs-4.3.4/work/kdelibs-4.3.4_build/kio/connection.moc:79
#49 0xb7e4825f in QMetaObject::metacall (object=0x7a3d, cl=QMetaObject::InvokeMetaMethod, idx=5, argv=0xa0f9e48) at kernel/qmetaobject.cpp:237
#50 0xb7e51e29 in QMetaCallEvent::placeMetaCall (this=0x9bc62a8, object=0x8bc00e8) at kernel/qobject.cpp:574
#51 0xb7e53234 in QObject::event (this=0x8bc00e8, e=0x9bc62a8) at kernel/qobject.cpp:1252
#52 0xb6a50d6d in QApplicationPrivate::notify_helper (this=0x8be67e0, receiver=0x8bc00e8, e=0x9bc62a8) at kernel/qapplication.cpp:4242
#53 0xb6a59d1d in QApplication::notify (this=0xbfc6c108, receiver=0x8bc00e8, e=0x9bc62a8) at kernel/qapplication.cpp:3661
#54 0xb73bae0e in KApplication::notify (this=0xbfc6c108, receiver=0x8bc00e8, event=0x9bc62a8) at /var/tmp/portage/kde-base/kdelibs-4.3.4/work/kdelibs-4.3.4/kdeui/kernel/kapplication.cpp:302
#55 0xb7e43465 in QCoreApplication::notifyInternal (this=0xbfc6c108, receiver=0x8bc00e8, event=0x9bc62a8) at kernel/qcoreapplication.cpp:704
#56 0xb7e442b3 in QCoreApplicationPrivate::sendPostedEvents (receiver=0x0, event_type=0, data=0x8ba3660) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:215
#57 0xb7e44452 in QCoreApplication::sendPostedEvents (receiver=0x0, event_type=0) at kernel/qcoreapplication.cpp:1238
#58 0xb7e6d11e in postEventSourceDispatch (s=0x8be8b10) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:220
#59 0xb66033e4 in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0
#60 0xb66066d1 in g_main_context_iterate () from /usr/lib/libglib-2.0.so.0
#61 0xb6606842 in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0
#62 0xb7e6ccae in QEventDispatcherGlib::processEvents (this=0x8ba30d8, flags={i = -1077494216}) at kernel/qeventdispatcher_glib.cpp:407
#63 0xb6aefffe in QGuiEventDispatcherGlib::processEvents (this=0x8ba30d8, flags={i = -1077494168}) at kernel/qguieventdispatcher_glib.cpp:202
#64 0xb7e41cff in QEventLoop::processEvents (this=0xbfc6bee0, flags={i = -1077494104}) at kernel/qeventloop.cpp:149
#65 0xb7e42105 in QEventLoop::exec (this=0xbfc6bee0, flags={i = -1077494040}) at kernel/qeventloop.cpp:201
#66 0xb7e444ff in QCoreApplication::exec () at kernel/qcoreapplication.cpp:981
#67 0xb6a50e00 in QApplication::exec () at kernel/qapplication.cpp:3570
#68 0xb4bc6825 in kdemain (argc=3, argv=0x8bd9f80) at /var/tmp/portage/kde-base/konqueror-4.3.4/work/konqueror-4.3.4/konqueror/src/konqmain.cpp:257
#69 0x0804e411 in launch (argc=3, _name=0x8bd9ddc "konqueror", args=0x8bd9e25 "", cwd=0x0, envc=0, envs=0x8bd9e2a "", reset_env=false, tty=0x0, avoid_loops=false, startup_id_str=0x8051299 "0")
    at /var/tmp/portage/kde-base/kdelibs-4.3.4/work/kdelibs-4.3.4/kinit/kinit.cpp:677
#70 0x0804e9bc in handle_launcher_request (sock=7, who=<value optimized out>) at /var/tmp/portage/kde-base/kdelibs-4.3.4/work/kdelibs-4.3.4/kinit/kinit.cpp:1169
#71 0x0804ef55 in handle_requests (waitForPid=0) at /var/tmp/portage/kde-base/kdelibs-4.3.4/work/kdelibs-4.3.4/kinit/kinit.cpp:1362
#72 0x0804fc06 in main (argc=2, argv=0xbfc6cab4, envp=0xbfc6cac0) at /var/tmp/portage/kde-base/kdelibs-4.3.4/work/kdelibs-4.3.4/kinit/kinit.cpp:1793

Reported using DrKonqi
Comment 1 Dario Andres 2009-12-06 23:46:45 UTC
Looks like an error in the Qt library font handling.

I could not reproduce the issue here using:

Qt: 4.6.0 (kde-qt master commit cd8595efe9aace2afdaa5db37af7cfe82b87e4aa
        Date:   Wed Nov 18 01:33:21 2009 +0100)
KDE Development Platform: 4.3.80 (KDE 4.3.80 (KDE 4.4 Beta1))
kdelibs svn rev. 1058633 / kdebase svn rev. 1058634
on ArchLinux i686 - Kernel 2.6.31.6

Using Konqueror or Rekonq(webkit from Qt)

May be you have some missing font ?

- Try checking the same page on some Qt only browser ("Arora", "Rekonq")

Thanks
Comment 2 Densetsu no Ero-sennin 2009-12-11 08:48:14 UTC
Arora crashes with:

arora: ../3rdparty/harfbuzz/src/harfbuzz-shaper.cpp:436: void HB_HeuristicSetGlyphAttributes(HB_ShaperItem*): Assertion `item->num_glyphs <= length' failed.

I think I have all the necessary fonts, because Firefox displays Hebrew texts at the same pages correctly.

Can it be a Gentoo bug?
Comment 3 Eugene Shalygin 2009-12-13 15:32:12 UTC
(In reply to comment #2)
> Can it be a Gentoo bug?

There is a Qt bug: http://bugreports.qt.nokia.com/browse/QTBUG-6436
Comment 4 Dario Andres 2009-12-14 01:01:15 UTC
It seems to be the same...
In any case it is a bug deep in Qt code, nothing that KDE could touch. Closing as UPSTREAM. Thanks