Bug 112424 - [site-issue] Konqueror crashes after following "insecure link" lastfm://some_artist/some_album/ from http://last.fm/
Summary: [site-issue] Konqueror crashes after following "insecure link" lastfm://some_...
Status: RESOLVED FIXED
Alias: None
Product: konqueror
Classification: Applications
Component: khtml (show other bugs)
Version: 3.5
Platform: unspecified Linux
: NOR crash
Target Milestone: ---
Assignee: Konqueror Developers
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2005-09-11 15:32 UTC by Henk Poley
Modified: 2012-06-18 17:29 UTC (History)
3 users (show)

See Also:
Latest Commit:
Version Fixed In: 4.3


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Henk Poley 2005-09-11 15:32:36 UTC
Version:           3.4.2 (using KDE 3.4.2, Gentoo)
Compiler:          gcc version 3.3.5-20050130 (Gentoo 3.3.5.20050130-r1, ssp-3.3.5.20050130-1, pie-8.7.7.1)
OS:                Linux (i686) release 2.6.12-suspend2-r3

Using host libthread_db library "/lib/libthread_db.so.1".
`system-supplied DSO at 0xffffe000' has disappeared; keeping its symbols.
[Thread debugging using libthread_db enabled]
[New Thread -1231329616 (LWP 23338)]
[KCrash handler]
#4  0x00000000 in ?? ()
#5  0xb645a627 in KHTMLPart::checkLinkSecurity (this=0x83a4e60, 
    linkURL=@0xbfb7063c, message=@0xbfb7067c, button=@0xbfb7066c)
    at khtml_part.cpp:6575
#6  0xb644d9b9 in KHTMLPart::urlSelected (this=0x83a4e60, url=@0xbfb707bc, 
    button=1, state=0, _target=@0xbfb707cc, args=<incomplete type>)
    at khtml_part.cpp:3756
#7  0xb649c8b1 in DOM::HTMLAnchorElementImpl::defaultEventHandler (
    this=0x850e2d8, evt=0x8589470) at khtmlview.h:223
#8  0xb647a070 in DOM::NodeImpl::dispatchGenericEvent (this=0x850e3b8, 
    evt=0x8589470) at qptrlist.h:174
#9  0xb6479e72 in DOM::NodeImpl::dispatchEvent (this=0x850e3b8, 
    evt=0x8589470, exceptioncode=@0xbfb708cc, tempEvent=true)
    at dom_nodeimpl.cpp:402
#10 0xb6434057 in KHTMLView::dispatchMouseEvent (this=0x82c56d0, eventId=4, 
    targetNode=0x850e3b8, targetNodeNonShared=0x8589470, cancelable=true, 
    detail=1, _mouse=0xbfb709f0, setUnder=true, mouseEventType=141984240)
    at khtmlview.cpp:2731
#11 0xb642f4f0 in KHTMLView::viewportMouseReleaseEvent (this=0x82c56d0, 
    _mouse=0xbfb710a8) at dom_node.h:863
#12 0xb72286d9 in QScrollView::eventFilter (this=0x82c56d0, obj=0x8332008, 
    e=0xbfb710a8) at qscrollview.cpp:1502
#13 0xb6430f2f in KHTMLView::eventFilter (this=0x82c56d0, o=0x8332008, 
    e=0xbfb710a8) at khtmlview.cpp:1900
#14 0xb71149ce in QObject::activate_filters (this=0x8332008, e=0xbfb710a8)
    at qobject.cpp:902
#15 0xb71148f6 in QObject::event (this=0x8332008, e=0xbfb710a8)
    at qobject.cpp:735
#16 0xb714c6ff in QWidget::event (this=0x8332008, e=0xbfb710a8)
    at qwidget.cpp:4658
#17 0xb70bbb3c in QApplication::internalNotify (this=0x87681f0, 
    receiver=0x8332008, e=0xbfb710a8) at qapplication.cpp:2615
#18 0xb70baff0 in QApplication::notify (this=0xbfb7193c, receiver=0x8332008, 
    e=0xbfb710a8) at qapplication.cpp:2421
#19 0xb770feec in KApplication::notify (this=0xbfb7193c, receiver=0x8332008, 
    event=0xbfb710a8) at kapplication.cpp:549
#20 0xb705078c in QETWidget::translateMouseEvent (this=0x8332008, 
    event=0xb757eef0) at qapplication_x11.cpp:4242
#21 0xb704e3fc in QApplication::x11ProcessEvent (this=0xbfb7193c, 
    event=0xbfb71518) at qapplication_x11.cpp:3555
#22 0xb7065dfb in QEventLoop::processEvents (this=0x80784d0, flags=4)
    at qeventloop_x11.cpp:192
#23 0xb70cda58 in QEventLoop::enterLoop (this=0x80784d0) at qeventloop.cpp:198
#24 0xb70cd908 in QEventLoop::exec (this=0x80784d0) at qeventloop.cpp:145
#25 0xb70bbd71 in QApplication::exec (this=0xbfb7193c)
    at qapplication.cpp:2758
#26 0xb7ef0eb1 in kdemain (argc=2, argv=0xbfb71aa4) at konq_main.cc:206
#27 0xb69d20da in __libc_start_main (main=0x8048744 <main>, argc=2, 
    ubp_av=0xbfb71aa4, init=0x8048780 <__libc_csu_init>, 
    fini=0xb7f75ca0 <_rtld_local_ro>, rtld_fini=0x8774840, 
    stack_end=0xbfb71a9c) at libc-start.c:212
#28 0x080486a1 in _start () at start.S:119
Comment 1 Thiago Macieira 2005-09-11 19:59:35 UTC
The backtrace doesn't look possible from the code point of view. How can we reproduce this?

I see no lastfm:// URLs on the last.fm homepage.
Comment 2 Tommi Tervo 2005-09-12 13:34:54 UTC
http://bugs.kde.org/show_bug.cgi?id=79491
This is a similar bug which is also non reproducible.

I'll get lastfm-protocol not supported. Which scrobbler-plugin do you use?
Amarok?
Comment 3 Henk Poley 2005-09-13 14:30:59 UTC
@ Thiago, to see those links you might need an account at Last.FM for that. Sorry.
(On the other hand, it's free, and they support Linux)

@ Tommi, yes I use amaroK, but that seems rather unrelated. As since the lastfm:// links are about the last.fm portion of the site, not the (former) audioscrobbler.com part. I had the Last.FM player running while clicking the link, though the player doesn't seem to have registered an URL-handler for lastfm://.
Comment 4 Henk Poley 2005-09-13 14:33:18 UTC
btw, I just tried again. And now it doesn't crash. Now after telling it to follow the link anyways it merely pops up an error box saying me that lastfm is not a protocol it knows about.
Comment 5 Henk Poley 2005-10-17 20:56:59 UTC
Just for fun I tried again with Konqueror from KDE 3.5 beta1. And guess what.. :-(

How to reproduce:
1. Get an account at Last.FM
2. Go to an artist or something
3. Click the "preview artist" or "Start Radio" link (top of page)

Backtrace:

Using host libthread_db library "/lib/libthread_db.so.1".
`system-supplied DSO at 0xffffe000' has disappeared; keeping its symbols.
[Thread debugging using libthread_db enabled]
[New Thread -1231059280 (LWP 17967)]
[KCrash handler]
#4  0x00000000 in ?? ()
#5  0xb644f319 in KHTMLPart::checkLinkSecurity (this=0x83455a0, 
    linkURL=@0xbffeb61c, message=@0xbffeb65c, button=@0xbffeb64c)
    at khtml_part.cpp:6790
#6  0xb6441f1e in KHTMLPart::urlSelectedIntern (this=0x83455a0, 
    url=@0xbffeb7fc, button=1, state=0, _target=@0xbffeb80c, 
    args=<incomplete type>) at khtml_part.cpp:3913
#7  0xb6441b4a in KHTMLPart::urlSelected (this=0x83455a0, url=@0xbffeb7fc, 
    button=1, state=0, _target=@0xbffeb80c) at khtml_part.cpp:3867
#8  0xb64983a6 in DOM::HTMLAnchorElementImpl::defaultEventHandler (
    this=0x8a02c90, evt=0x8c9d290) at khtmlview.h:276
#9  0xb64734de in DOM::NodeImpl::dispatchGenericEvent (this=0x8831b50, 
    evt=0x8c9d290) at qptrlist.h:174
#10 0xb64732e0 in DOM::NodeImpl::dispatchEvent (this=0x8831b50, 
    evt=0x8c9d290, exceptioncode=@0xbffeb90c, tempEvent=true)
    at dom_nodeimpl.cpp:412
#11 0xb6427592 in KHTMLView::dispatchMouseEvent (this=0x836fab0, eventId=4, 
    targetNode=0x8831b50, targetNodeNonShared=0x8c9d290, cancelable=true, 
    detail=1, _mouse=0xbffeba30, setUnder=true, mouseEventType=139238280)
    at khtmlview.cpp:3058
#12 0xb6420fa8 in KHTMLView::viewportMouseReleaseEvent (this=0x836fab0, 
    _mouse=0xbffec0e8) at dom_node.h:863
#13 0xb726a759 in QScrollView::eventFilter (this=0x836fab0, obj=0x836fc90, 
    e=0xbffec0e8) at qscrollview.cpp:1502
#14 0xb6422a03 in KHTMLView::eventFilter (this=0x836fab0, o=0x836fc90, 
    e=0xbffec0e8) at khtmlview.cpp:1916
#15 0xb7156a0e in QObject::activate_filters (this=0x836fc90, e=0xbffec0e8)
    at qobject.cpp:902
#16 0xb7156936 in QObject::event (this=0x836fc90, e=0xbffec0e8)
    at qobject.cpp:735
#17 0xb718e73f in QWidget::event (this=0x836fc90, e=0xbffec0e8)
    at qwidget.cpp:4658
#18 0xb70fdb3c in QApplication::internalNotify (this=0x84c9b88, 
    receiver=0x836fc90, e=0xbffec0e8) at qapplication.cpp:2615
#19 0xb70fcff0 in QApplication::notify (this=0xbffec96c, receiver=0x836fc90, 
    e=0xbffec0e8) at qapplication.cpp:2421
#20 0xb775fd34 in KApplication::notify (this=0xbffec96c, receiver=0x836fc90, 
    event=0xbffec0e8) at kapplication.cpp:550
#21 0xb709278c in QETWidget::translateMouseEvent (this=0x836fc90, 
    event=0xb75c0310) at qapplication_x11.cpp:4242
#22 0xb70903fc in QApplication::x11ProcessEvent (this=0xbffec96c, 
    event=0xbffec558) at qapplication_x11.cpp:3555
#23 0xb70a7dfb in QEventLoop::processEvents (this=0x8142268, flags=4)
    at qeventloop_x11.cpp:192
#24 0xb710fa98 in QEventLoop::enterLoop (this=0x8142268) at qeventloop.cpp:198
#25 0xb710f948 in QEventLoop::exec (this=0x8142268) at qeventloop.cpp:145
#26 0xb70fdd71 in QApplication::exec (this=0xbffec96c)
    at qapplication.cpp:2758
#27 0xb7f5dca4 in kdemain (argc=2, argv=0xbffecad4) at konq_main.cc:206
#28 0xb6a140da in __libc_start_main (main=0x8048744 <main>, argc=2, 
    ubp_av=0xbffecad4, init=0x8048780 <__libc_csu_init>, 
    fini=0xb7feeca0 <_rtld_local_ro>, 
    rtld_fini=0xb6b07a00 <__libc_ptyname2+19853>, stack_end=0xbffecacc)
    at libc-start.c:212
#29 0x080486a1 in _start () at start.S:119
Comment 6 Henk Poley 2005-10-17 21:19:51 UTC
Hmm.. of course.. I have only been able to reproduce this twice afterwards (clicking a dozen of lastfm:// links). Ao there is definitely some kind of randomness in it.
Comment 7 Philip Rodrigues 2006-09-06 12:46:38 UTC
Have you had a chance to try this with more recent versions in the 3.5 series?
Comment 8 Henk Poley 2006-09-07 11:34:53 UTC
I'm currently running KDE 3.5.2 from Gentoo/stable. And in the process of updating from GCC 3.4.6 -> 4.1.1, so I have no idea how usefull this backtrace is.


Using host libthread_db library "/lib/libthread_db.so.1".
`system-supplied DSO at 0xffffe000' has disappeared; keeping its symbols.
[Thread debugging using libthread_db enabled]
[New Thread -1230760272 (LWP 26737)]
[KCrash handler]
#6  0xb6303e8b in KHTMLPart::checkLinkSecurity (this=0x839e170, 
    linkURL=@0xbfcbb110, message=@0xbfcbb184, button=@0xbfcbb180)
    at khtml_part.cpp:6835
#7  0xb6331d0f in KHTMLPart::urlSelectedIntern (this=0x839e170, 
    url=@0xbfcbb340, button=1, state=0, _target=@0xbfcbb344, args=@0xbfcbb220)
    at khtml_part.cpp:3925
#8  0xb63328fd in KHTMLPart::urlSelected (this=0x839e170, url=@0xbfcbb340, 
    button=1, state=0, _target=@0xbfcbb344, args=@0xbfcbb2e4)
    at khtml_part.cpp:3879
#9  0xb638d365 in DOM::HTMLAnchorElementImpl::defaultEventHandler (
    this=0x8b3ce28, evt=0x8617d00) at html_inlineimpl.cpp:158
#10 0xb635750f in DOM::NodeImpl::dispatchGenericEvent (this=0x8b3ce28, 
    evt=0x8617d00) at dom_nodeimpl.cpp:399
#11 0xb63562e2 in DOM::NodeImpl::dispatchEvent (this=0x8b3ce28, 
    evt=0x8617d00, exceptioncode=@0xbfcbb508, tempEvent=true)
    at dom_nodeimpl.cpp:343
#12 0xb62fb274 in KHTMLView::dispatchMouseEvent (this=0x83b2ab8, eventId=4, 
    targetNode=0x8b3ce28, targetNodeNonShared=0x8b3d1f8, cancelable=true, 
    detail=1, _mouse=0xbfcbb5d8, setUnder=true, mouseEventType=1)
    at khtmlview.cpp:3186
#13 0xb62fb997 in KHTMLView::viewportMouseReleaseEvent (this=0x83b2ab8, 
    _mouse=0xbfcbba8c) at khtmlview.cpp:1280
#14 0xb72d111e in QScrollView::eventFilter (this=0x83b2ab8, obj=0x83b2958, 
    e=0xbfcbba8c) at qscrollview.cpp:1501
#15 0xb62f56dc in KHTMLView::eventFilter (this=0x83b2ab8, o=0x83b2958, 
    e=0xbfcbba8c) at khtmlview.cpp:1977
#16 0xb71bf22c in QObject::activate_filters (this=0x83b2958, e=0xbfcbba8c)
    at qobject.cpp:903
#17 0xb71bf29b in QObject::event (this=0x83b2958, e=0xbfcbba8c)
    at qobject.cpp:735
#18 0xb71f790c in QWidget::event (this=0x83b2958, e=0xbfcbba8c)
    at qwidget.cpp:4659
#19 0xb7160e97 in QApplication::internalNotify (this=0xbfcbc2b0, 
    receiver=0x83b2958, e=0xbfcbba8c) at qapplication.cpp:2635
#20 0xb7161be9 in QApplication::notify (this=0xbfcbc2b0, receiver=0x83b2958, 
    e=0xbfcbba8c) at qapplication.cpp:2421
#21 0xb78b848e in KApplication::notify (this=0xbfcbc2b0, receiver=0x83b2958, 
    event=0xbfcbba8c) at kapplication.cpp:550
#22 0xb7101f32 in QETWidget::translateMouseEvent (this=0x83b2958, 
    event=0xbfcbbe18) at qapplication.h:499
#23 0xb71017ff in QApplication::x11ProcessEvent (this=0xbfcbc2b0, 
    event=0xbfcbbe18) at qapplication_x11.cpp:3447
#24 0xb711165a in QEventLoop::processEvents (this=0x813bd70, 
    flags=<value optimized out>) at qeventloop_x11.cpp:192
#25 0xb7177590 in QEventLoop::enterLoop (this=0x813bd70) at qeventloop.cpp:198
#26 0xb7177416 in QEventLoop::exec (this=0x813bd70) at qeventloop.cpp:145
#27 0xb716092f in QApplication::exec (this=0xbfcbc2b0)
    at qapplication.cpp:2758
#28 0xb695550f in kdemain (argc=15, argv=0xf) at konq_main.cc:206
#29 0xb76d47e4 in kdeinitmain (argc=15, argv=0xf) at konqueror_dummy.cc:3
#30 0x0804eacc in launch (argc=1, _name=0x81278bc "konqueror", 
    args=0x81278c6 "\001", cwd=0x0, envc=1, envs=0x81278d6 "", 
    reset_env=false, tty=0x0, avoid_loops=false, 
    startup_id_str=0x81278db "MFL;1157621427;139746;12788_TIME2275224405")
    at kinit.cpp:639
#31 0x0804f252 in handle_launcher_request (sock=8) at kinit.cpp:1205
#32 0x0804f78b in handle_requests (waitForPid=0) at kinit.cpp:1406
#33 0x08050088 in main (argc=2, argv=0xbfcbca34, envp=0xbfcbca40)
    at kinit.cpp:1850
Comment 9 Richard Lärkäng 2007-08-22 20:06:19 UTC
The problem seems to be that the tokenizer is deleted while the messagebox is shown.
If I click on a lastfm:// link before the page is loaded, and then wait for the page to finish loading, and after that click on one of the buttons I can reproduce the crash all the time here.
Comment 10 Jonas Vejlin 2009-04-05 08:16:21 UTC
do you still have this problem in konq 4?
Comment 11 FiNeX 2009-08-23 11:41:52 UTC
It looks like it is no more reproducible (moreover the page has to be fully loaded before seing any link). Someone is able to reproduce with KDE 4.3 or trunk?
Comment 12 Myriam Schweingruber 2012-06-18 17:29:29 UTC
Closing based on comment #11