Summary: | konqueror crashes on myireland.pl website | ||
---|---|---|---|
Product: | [Applications] konqueror | Reporter: | Marcin Międlar <newgargamel> |
Component: | general | Assignee: | Konqueror Developers <konq-bugs> |
Status: | RESOLVED FIXED | ||
Severity: | crash | CC: | frank78ac, germain, patrick.rutka, Regnaron |
Priority: | NOR | ||
Version: | unspecified | ||
Target Milestone: | --- | ||
Platform: | unspecified | ||
OS: | Linux | ||
Latest Commit: | Version Fixed In: | ||
Sentry Crash Report: |
Description
Marcin Międlar
2008-09-16 17:57:30 UTC
Thanks for the bug report. I can't reproduce the problem: The page opens fine for me in 4.1.1 (Kubuntu) and yesterday's trunk. Does it crash directly on http://www.myireland.pl/ for you, or do you have to click a link? Is this always reproducible for you? It would be helpful if you could add a backtrace to this report, see http://techbase.kde.org/Development/Tutorials/Debugging/How_to_create_useful_crash_reports It crashes every time on this link: http://myireland.pl/irlandia/randki/ Sometimes you have to click on person's profile to get a crash. I don't have debug symbols atm but if you won't be able to reproduce it I will install kdemod with debug symbols. Thanks, newgargamel I can confirm this crash with a current svn checkout. My backtrace is: Application: Konqueror (konqueror), signal SIGSEGV [Current thread is 0 (LWP 2738)] Thread 2 (Thread 0xb0f29b90 (LWP 2767)): #0 0xffffe424 in __kernel_vsyscall () #1 0xb74ebf12 in pthread_cond_timedwait@@GLIBC_2.3.2 () from /lib/libpthread.so.0 #2 0xb7566cad in QWaitCondition::wait (this=0x851d9d8, mutex=0x851d9d4, time=30000) at thread/qwaitcondition_unix.cpp:86 #3 0xb755beb0 in QThreadPoolThread::run (this=0x84e1e58) at concurrent/qthreadpool.cpp:141 #4 0xb7565a58 in QThreadPrivate::start (arg=0x84e1e58) at thread/qthread_unix.cpp:190 #5 0xb74e8160 in start_thread (arg=0xb0f29b90) at pthread_create.c:297 #6 0xb6726c0e in clone () from /lib/libc.so.6 Thread 1 (Thread 0xb6267700 (LWP 2738)): [KCrash Handler] #6 0xb6bde30c in QWidget::mapTo (this=0x963bee0, parent=0x80d6670, pos=@0xbfcb68d8) at ../../include/QtGui/../../src/gui/kernel/qwidget.h:982 #7 0xb6d56a4c in QWidgetBackingStore::cleanRegion (this=0x8099c10, rgn=@0xbfcb6948, widget=0x963bee0, recursiveCopyToScreen=true) at painting/qbackingstore.cpp:1052 #8 0xb6d5879b in qt_syncBackingStore (widget=0x963bee0) at painting/qbackingstore.cpp:319 #9 0xb6beddde in QWidget::event (this=0x963bee0, event=0xbfcb6ac8) at kernel/qwidget.cpp:7303 #10 0xb4533824 in KHTMLBackingStoreHackWidget::publicEvent (this=0x963bee0, e=0xbfcb6ac8) at /var/tmp/portage/kde-base/kdelibs-9999/work/kdelibs-9999/khtml/khtmlview.cpp:2086 #11 0xb45262c3 in KHTMLView::eventFilter (this=0x83795f8, o=0x963bee0, e=0x963bff8) at /var/tmp/portage/kde-base/kdelibs-9999/work/kdelibs-9999/khtml/khtmlview.cpp:2229 #12 0xb76561f1 in QCoreApplicationPrivate::sendThroughObjectEventFilters (this=0x80591a8, receiver=0x963bee0, event=0x963bff8) at kernel/qcoreapplication.cpp:698 #13 0xb6b95efe in QApplicationPrivate::notify_helper (this=0x80591a8, receiver=0x963bee0, e=0x963bff8) at kernel/qapplication.cpp:3796 #14 0xb6b9cab2 in QApplication::notify (this=0xbfcb73fc, receiver=0x963bee0, e=0x963bff8) at kernel/qapplication.cpp:3765 #15 0xb7b1f469 in KApplication::notify (this=0xbfcb73fc, receiver=0x963bee0, event=0x963bff8) at /var/tmp/portage/kde-base/kdelibs-9999/work/kdelibs-9999/kdeui/kernel/kapplication.cpp:307 #16 0xb7656771 in QCoreApplication::notifyInternal (this=0xbfcb73fc, receiver=0x963bee0, event=0x963bff8) at kernel/qcoreapplication.cpp:591 #17 0xb76575d4 in QCoreApplicationPrivate::sendPostedEvents (receiver=0x0, event_type=0, data=0x804c310) at kernel/qcoreapplication.h:215 #18 0xb7657813 in QCoreApplication::sendPostedEvents (receiver=0x0, event_type=0) at kernel/qcoreapplication.cpp:1095 #19 0xb6c2af91 in QEventDispatcherX11::processEvents (this=0x8059090, flags={i = -1077186248}) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:220 #20 0xb7655300 in QEventLoop::processEvents (this=0xbfcb71b0, flags={i = -1077186184}) at kernel/qeventloop.cpp:149 #21 0xb76554a2 in QEventLoop::exec (this=0xbfcb71b0, flags={i = -1077186120}) at kernel/qeventloop.cpp:200 #22 0xb76578bf in QCoreApplication::exec () at kernel/qcoreapplication.cpp:849 #23 0xb6b95cb3 in QApplication::exec () at kernel/qapplication.cpp:3330 #24 0xb7f834e1 in kdemain (argc=2, argv=0xbfcb7714) at /var/tmp/portage/kde-base/konqueror-9999/work/konqueror/apps/konqueror/src/konqmain.cpp:227 #25 0x080487e2 in main (argc=386, argv=0x0) at /var/tmp/portage/kde-base/konqueror-9999/work/konqueror_build/apps/konqueror/src/konqueror_dummy.cpp:3 Addendum: Seems like I am not able to reproduce this crash a second time. So Marcin, it would be good if you could install the debugging symbols nonetheless... (to see if the crash I got is at least the same you get) I can reproduce this, and fixed it (symptomatically) in my git repo... SVN commit 864146 by ggarand: replace this backingstore hack with either an update or a repaint depending on emergency - as it would occasionally cause crashes. BUG: 171170 M +6 -6 khtmlview.cpp --- trunk/KDE/kdelibs/khtml/khtmlview.cpp #864145:864146 @@ -2218,19 +2218,19 @@ y += ap.y(); QRect pr = isUpdate ? static_cast<QUpdateLaterEvent*>(e)->region().boundingRect() : static_cast<QPaintEvent*>(e)->rect(); - bool asap = !isUpdate && !d->contentsMoving && qobject_cast<QAbstractScrollArea*>(c); + bool asap = !d->contentsMoving && qobject_cast<QAbstractScrollArea*>(c); if (isUpdate) { setInPaintEventFlag(w, false); - w->update(static_cast<QUpdateLaterEvent*>(e)->region()); + if (asap) + w->repaint(static_cast<QUpdateLaterEvent*>(e)->region()); + else + w->update(static_cast<QUpdateLaterEvent*>(e)->region()); setInPaintEventFlag(w); - // implicitly call qt_syncBackingStore(w) - QEvent fakeEvent(QEvent::UpdateRequest); - static_cast<KHTMLBackingStoreHackWidget *>(w)->publicEvent(&fakeEvent); } // QScrollView needs fast repaints - if ( asap && !d->painting && m_part->xmlDocImpl() && m_part->xmlDocImpl()->renderer() && + if ( asap && !isUpdate && !d->painting && m_part->xmlDocImpl() && m_part->xmlDocImpl()->renderer() && !static_cast<khtml::RenderCanvas *>(m_part->xmlDocImpl()->renderer())->needsLayout() ) { repaintContents(x + pr.x(), y + pr.y(), pr.width(), pr.height()+1); // ### investigate that +1 (shows up when *** Bug 168081 has been marked as a duplicate of this bug. *** Hi Guys, I can confirm now that it's fixed in konqueror 4.1.2 Thanks a lot, newgargamel |