Bug 156250

Summary: file save/open dialog: browsing ftp server doesn't update location bar, file op fails too
Product: [Frameworks and Libraries] kdelibs Reporter: Marcel Partap <mpartap>
Component: generalAssignee: kdelibs bugs <kdelibs-bugs>
Status: RESOLVED WORKSFORME    
Severity: normal CC: ereslibre
Priority: NOR    
Version: unspecified   
Target Milestone: ---   
Platform: unspecified   
OS: Linux   
Latest Commit: Version Fixed In:
Attachments: Proposed patch

Description Marcel Partap 2008-01-20 18:18:23 UTC
Version:           unknown (using 4.00.80 (KDE 4.0.80 >= 20080104), Gentoo)
Compiler:          x86_64-pc-linux-gnu-gcc
OS:                Linux (x86_64) release 2.6.24-rc8-git3

I wanted to open a CSS file on my ftp with kate as I was used to from KDE3, after keying in password to kwallet and choosing the file kate crashed trying to load file ftp://hfopi.org/style.css. After trying again, I noticed the location bar does not update when browsing the remote dirs, keeps showing ftp://hfopi.org/ instead of f.e. ftp://hfopi.org/html/content/themes . Where the dialog is invoked from does not matter (i.e. same with konqi), directly opening from command line with full path works as supposed to. Here's the bt of kwrite (todays svn trunk) crashing:
Using host libthread_db library "/lib/libthread_db.so.1".
[Thread debugging using libthread_db enabled]
[New Thread 0x2ab6187f1760 (LWP 17364)]
[New Thread 0x41802950 (LWP 18790)]
[New Thread 0x41001950 (LWP 18789)]
[New Thread 0x40800950 (LWP 18760)]
[KCrash handler]
#5  0x00002ab614ff7a64 in QObject::disconnect (sender=0x1a2e120,
    signal=0xb791f9 "finished(KJob*)", receiver=0x1a2d340,
    method=0x1a5f869 "finished(KJob*)") at kernel/qobject.cpp:2721
#6  0x00002ab6112f68f6 in KJobTrackerInterface::unregisterJob ()
   from /usr/kde/svn/lib64/libkdecore.so.5
#7  0x00002ab6120d1e75 in KAbstractWidgetJobTracker::unregisterJob ()
   from /usr/kde/svn/lib64/libkdeui.so.5
#8  0x00002ab6120d4742 in KWidgetJobTracker::unregisterJob ()
   from /usr/kde/svn/lib64/libkdeui.so.5
#9  0x00002ab6120d4f3e in ?? () from /usr/kde/svn/lib64/libkdeui.so.5
#10 0x00002ab614ff368e in QObject::event (this=0xb4dd00, e=0x1a2d340)
    at kernel/qobject.cpp:1105
#11 0x00002ab615bd39e3 in QWidget::event (this=0xb4dd00, event=0xb9e2c0)
    at kernel/qwidget.cpp:6510
#12 0x00002ab615b88bfa in QApplicationPrivate::notify_helper (this=0x61c860,
    receiver=0xb4dd00, e=0xb9e2c0) at kernel/qapplication.cpp:3556
#13 0x00002ab615b89ad3 in QApplication::notify (this=0x7fff99cc2e60,
    receiver=0xb4dd00, e=0xb9e2c0) at kernel/qapplication.cpp:3497
#14 0x00002ab6120de72e in KApplication::notify ()
   from /usr/kde/svn/lib64/libkdeui.so.5
#15 0x00002ab614fe2e40 in QCoreApplication::notifyInternal (
    this=0x7fff99cc2e60, receiver=0xb4dd00, event=0xb9e2c0)
    at kernel/qcoreapplication.cpp:530
#16 0x00002ab614fe47ca in QCoreApplicationPrivate::sendPostedEvents (
    receiver=0x0, event_type=0, data=0x605e40)
    at kernel/qcoreapplication.h:200
#17 0x00002ab615009a9b in QEventDispatcherUNIX::processEvents (this=0x618460,
    flags=@0x7fff99cc2c30) at kernel/qeventdispatcher_unix.cpp:858
#18 0x00002ab615c07aca in QEventDispatcherX11::processEvents (this=0x618460,
    flags=@0x7fff99cc2c80) at kernel/qeventdispatcher_x11.cpp:145
#19 0x00002ab614fe2338 in QEventLoop::processEvents (
    this=<value optimized out>, flags=<value optimized out>)
    at kernel/qeventloop.cpp:140
#20 0x00002ab614fe244d in QEventLoop::exec (this=0x7fff99cc2cf0,
    flags=@0x7fff99cc2d00) at kernel/qeventloop.cpp:186
#21 0x00002ab614fe4bd9 in QCoreApplication::exec ()
    at kernel/qcoreapplication.cpp:759
#22 0x00002ab61100fa0e in kdemain ()
   from /usr/kde/svn/lib64/libkdeinit4_kwrite.so
#23 0x00002ab61724c1f4 in __libc_start_main (
    main=0x400a00 <__libc_start_main@plt+216>, argc=1, ubp_av=0x7fff99cc3b38,
    init=<value optimized out>, fini=<value optimized out>,
    rtld_fini=<value optimized out>, stack_end=0x7fff99cc3b28)
    at libc-start.c:227
#24 0x0000000000400969 in _start ()
#0  0x00002ab6172c5c41 in nanosleep () from /lib64/libc.so.6
Comment 1 FiNeX 2008-01-20 18:38:04 UTC
Confirmed on revision 762662.
Comment 2 Rafael Fernández López 2008-02-05 23:07:12 UTC
Created attachment 23433 [details]
Proposed patch

Can you guys tell me if the attached patch fixes this crash ? We need to assure
that the widget is deleted before the job is.
Comment 3 Marcel Partap 2008-02-08 19:15:54 UTC
hey Rafael, I can't tell if the patch fixes the crash, because the problem leading to it has been FIXED. Maybe something else crashes using KWidgetJobTracker::Private::ProgressWidget and can be fixed with that? 'll keep that patch around in case I trip a wire or so.