Bug 228660 - rekonq crashes on ftp protocol
Summary: rekonq crashes on ftp protocol
Status: RESOLVED FIXED
Alias: None
Product: rekonq
Classification: Applications
Component: general (show other bugs)
Version: unspecified
Platform: Ubuntu Linux
: NOR crash
Target Milestone: ---
Assignee: Andrea Diamantini
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2010-02-26 20:45 UTC by Rohan Garg
Modified: 2010-04-30 14:25 UTC (History)
4 users (show)

See Also:
Latest Commit:
Version Fixed In: 0.4.65


Attachments
New crash information added by DrKonqi (10.91 KB, text/plain)
2010-02-27 12:41 UTC, Rohan Garg
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Rohan Garg 2010-02-26 20:45:21 UTC
Application: rekonq (0.3.95)
KDE Platform Version: 4.4.00 (KDE 4.4.0)
Qt Version: 4.6.1
Operating System: Linux 2.6.31-20-generic x86_64
Distribution: Ubuntu 9.10

-- Information about the crash:
When you try to open ftp://download.nvidia.com/XFree86/Linux-x86_64/195.36.03 rekonq crashes everytime,with the new protocolhandler in place,this should have been resolved but apparently its not

The crash can be reproduced every time.

 -- Backtrace:
Application: rekonq (kdeinit4), signal: Segmentation fault
The current source language is "auto; currently c".
[Current thread is 1 (Thread 0x7fc3070687f0 (LWP 27428))]

Thread 6 (Thread 0x7fc2f56ab910 (LWP 27429)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:261
#1  0x00007fc2fc2b8b86 in ?? () from /usr/lib/libQtWebKit.so.4
#2  0x00007fc2fc2b8bc9 in ?? () from /usr/lib/libQtWebKit.so.4
#3  0x00007fc3052b5a04 in start_thread (arg=<value optimized out>) at pthread_create.c:300
#4  0x00007fc30407a80d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#5  0x0000000000000000 in ?? ()

Thread 5 (Thread 0x7fc2f0b09910 (LWP 27430)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:261
#1  0x00007fc3055456fb in QWaitConditionPrivate::wait (this=<value optimized out>, mutex=0xdf3330, time=18446744073709551615) at thread/qwaitcondition_unix.cpp:87
#2  QWaitCondition::wait (this=<value optimized out>, mutex=0xdf3330, time=18446744073709551615) at thread/qwaitcondition_unix.cpp:159
#3  0x00007fc2fba89096 in ThreadWeaver::WeaverImpl::blockThreadUntilJobsAreBeingAssigned (this=0xdf30b0, th=0x14a4950) at ../../../threadweaver/Weaver/WeaverImpl.cpp:365
#4  0x00007fc2fba8b74b in ThreadWeaver::WorkingHardState::applyForWork (this=0xdf3390, th=0x14a4950) at ../../../threadweaver/Weaver/WorkingHardState.cpp:71
#5  0x00007fc2fba8b764 in ThreadWeaver::WorkingHardState::applyForWork (this=0xdf3390, th=0x14a4950) at ../../../threadweaver/Weaver/WorkingHardState.cpp:74
#6  0x00007fc2fba8b764 in ThreadWeaver::WorkingHardState::applyForWork (this=0xdf3390, th=0x14a4950) at ../../../threadweaver/Weaver/WorkingHardState.cpp:74
#7  0x00007fc2fba89bff in ThreadWeaver::ThreadRunHelper::run (this=0x7fc2f0b08fb0, parent=0xdf30b0, th=0x14a4950) at ../../../threadweaver/Weaver/Thread.cpp:87
#8  0x00007fc2fba8a058 in ThreadWeaver::Thread::run (this=0x14a4950) at ../../../threadweaver/Weaver/Thread.cpp:142
#9  0x00007fc305544745 in QThreadPrivate::start (arg=0x14a4950) at thread/qthread_unix.cpp:248
#10 0x00007fc3052b5a04 in start_thread (arg=<value optimized out>) at pthread_create.c:300
#11 0x00007fc30407a80d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#12 0x0000000000000000 in ?? ()
The current source language is "auto; currently asm".

Thread 4 (Thread 0x7fc2ef6c0910 (LWP 27431)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:261
#1  0x00007fc3055456fb in QWaitConditionPrivate::wait (this=<value optimized out>, mutex=0xff0d90, time=18446744073709551615) at thread/qwaitcondition_unix.cpp:87
#2  QWaitCondition::wait (this=<value optimized out>, mutex=0xff0d90, time=18446744073709551615) at thread/qwaitcondition_unix.cpp:159
#3  0x00007fc2fc7b4df8 in ?? () from /usr/lib/libQtWebKit.so.4
#4  0x00007fc2fc7b9788 in ?? () from /usr/lib/libQtWebKit.so.4
#5  0x00007fc2fc2be10b in ?? () from /usr/lib/libQtWebKit.so.4
#6  0x00007fc305544745 in QThreadPrivate::start (arg=0x14f2890) at thread/qthread_unix.cpp:248
#7  0x00007fc3052b5a04 in start_thread (arg=<value optimized out>) at pthread_create.c:300
#8  0x00007fc30407a80d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#9  0x0000000000000000 in ?? ()

Thread 3 (Thread 0x7fc2eeebf910 (LWP 27450)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:261
#1  0x00007fc3055456fb in QWaitConditionPrivate::wait (this=<value optimized out>, mutex=0xdf3330, time=18446744073709551615) at thread/qwaitcondition_unix.cpp:87
#2  QWaitCondition::wait (this=<value optimized out>, mutex=0xdf3330, time=18446744073709551615) at thread/qwaitcondition_unix.cpp:159
#3  0x00007fc2fba89096 in ThreadWeaver::WeaverImpl::blockThreadUntilJobsAreBeingAssigned (this=0xdf30b0, th=0x15bb060) at ../../../threadweaver/Weaver/WeaverImpl.cpp:365
#4  0x00007fc2fba8b74b in ThreadWeaver::WorkingHardState::applyForWork (this=0xdf3390, th=0x15bb060) at ../../../threadweaver/Weaver/WorkingHardState.cpp:71
#5  0x00007fc2fba89bff in ThreadWeaver::ThreadRunHelper::run (this=0x7fc2eeebefb0, parent=0xdf30b0, th=0x15bb060) at ../../../threadweaver/Weaver/Thread.cpp:87
#6  0x00007fc2fba8a058 in ThreadWeaver::Thread::run (this=0x15bb060) at ../../../threadweaver/Weaver/Thread.cpp:142
#7  0x00007fc305544745 in QThreadPrivate::start (arg=0x15bb060) at thread/qthread_unix.cpp:248
#8  0x00007fc3052b5a04 in start_thread (arg=<value optimized out>) at pthread_create.c:300
#9  0x00007fc30407a80d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#10 0x0000000000000000 in ?? ()

Thread 2 (Thread 0x7fc2ed8bb910 (LWP 27453)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:261
#1  0x00007fc3055456fb in QWaitConditionPrivate::wait (this=<value optimized out>, mutex=0xdf3330, time=18446744073709551615) at thread/qwaitcondition_unix.cpp:87
#2  QWaitCondition::wait (this=<value optimized out>, mutex=0xdf3330, time=18446744073709551615) at thread/qwaitcondition_unix.cpp:159
#3  0x00007fc2fba89096 in ThreadWeaver::WeaverImpl::blockThreadUntilJobsAreBeingAssigned (this=0xdf30b0, th=0x15c1850) at ../../../threadweaver/Weaver/WeaverImpl.cpp:365
#4  0x00007fc2fba8b74b in ThreadWeaver::WorkingHardState::applyForWork (this=0xdf3390, th=0x15c1850) at ../../../threadweaver/Weaver/WorkingHardState.cpp:71
#5  0x00007fc2fba89bff in ThreadWeaver::ThreadRunHelper::run (this=0x7fc2ed8bafb0, parent=0xdf30b0, th=0x15c1850) at ../../../threadweaver/Weaver/Thread.cpp:87
#6  0x00007fc2fba8a058 in ThreadWeaver::Thread::run (this=0x15c1850) at ../../../threadweaver/Weaver/Thread.cpp:142
#7  0x00007fc305544745 in QThreadPrivate::start (arg=0x15c1850) at thread/qthread_unix.cpp:248
#8  0x00007fc3052b5a04 in start_thread (arg=<value optimized out>) at pthread_create.c:300
#9  0x00007fc30407a80d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#10 0x0000000000000000 in ?? ()

Thread 1 (Thread 0x7fc3070687f0 (LWP 27428)):
[KCrash Handler]
#5  0x00007fc3060d9713 in KFileItem::isDir (this=0x7fff33a65630) at ../../kio/kio/kfileitem.cpp:975
#6  0x00007fc3060d9739 in KFileItem::isFile (this=0x7fff33a65630) at ../../kio/kio/kfileitem.cpp:985
#7  0x00007fc2f85001f4 in ProtocolHandler::showResults (this=0x144cfb0, list=...) at /home/shadeslayer/unstable/Git/mainline/src/protocolhandler.cpp:283
#8  0x00007fc2f84fe59c in ProtocolHandler::qt_metacall (this=0x144cfb0, _c=QMetaObject::InvokeMetaMethod, _id=1, _a=0x7fff33a65780)
    at /home/shadeslayer/unstable/Git/mainline/build/src/protocolhandler.moc:79
#9  0x00007fc30564bd3f in QMetaObject::activate (sender=0x1189010, m=<value optimized out>, local_signal_index=<value optimized out>, argv=0x7fff33a65780) at kernel/qobject.cpp:3275
#10 0x00007fc3060ad0d5 in KDirLister::newItems (this=0x7fff33a65630, _t1=<value optimized out>) at ./kdirlister.moc:267
#11 0x00007fc3060ade17 in KDirLister::Private::emitItems (this=0x1699e70) at ../../kio/kio/kdirlister.cpp:2360
#12 0x00007fc3060b537e in KDirListerCache::slotEntries (this=0x7fff33a65960, job=<value optimized out>, entries=<value optimized out>) at ../../kio/kio/kdirlister.cpp:1157
#13 0x00007fc3060c1a57 in KDirListerCache::qt_metacall (this=0x161cb00, _c=QMetaObject::InvokeMetaMethod, _id=<value optimized out>, _a=0x7fff33a65bd0) at ./kdirlister_p.moc:104
#14 0x00007fc30564bd3f in QMetaObject::activate (sender=0x15c30a0, m=<value optimized out>, local_signal_index=<value optimized out>, argv=0x7fff33a65780) at kernel/qobject.cpp:3275
#15 0x00007fc306088cb4 in KIO::ListJob::entries (this=0x7fff33a65630, _t1=0x15c30a0, _t2=<value optimized out>) at ./jobclasses.moc:835
#16 0x00007fc30609451f in KIO::ListJobPrivate::slotListEntries (this=0x1621940, list=<value optimized out>) at ../../kio/kio/job.cpp:2411
#17 0x00007fc3060946ea in KIO::ListJob::qt_metacall (this=0x15c30a0, _c=QMetaObject::InvokeMetaMethod, _id=<value optimized out>, _a=0x7fff33a65f10) at ./jobclasses.moc:821
#18 0x00007fc30564bd3f in QMetaObject::activate (sender=0x1646680, m=<value optimized out>, local_signal_index=<value optimized out>, argv=0x7fff33a65780) at kernel/qobject.cpp:3275
#19 0x00007fc30614cba5 in KIO::SlaveInterface::listEntries (this=0x7fff33a65630, _t1=<value optimized out>) at ./slaveinterface.moc:185
#20 0x00007fc30614fb65 in KIO::SlaveInterface::dispatch (this=0x1646680, _cmd=<value optimized out>, rawdata=...) at ../../kio/kio/slaveinterface.cpp:193
#21 0x00007fc30614cf83 in KIO::SlaveInterface::dispatch (this=0x1646680) at ../../kio/kio/slaveinterface.cpp:91
#22 0x00007fc3061412e6 in KIO::Slave::gotInput (this=0x1646680) at ../../kio/kio/slave.cpp:324
#23 0x00007fc3061414cc in KIO::Slave::qt_metacall (this=0x1646680, _c=QMetaObject::InvokeMetaMethod, _id=<value optimized out>, _a=0x7fff33a66300) at ./slave.moc:82
#24 0x00007fc30564bd3f in QMetaObject::activate (sender=0x14d2260, m=<value optimized out>, local_signal_index=<value optimized out>, argv=0x7fff33a65780) at kernel/qobject.cpp:3275
#25 0x00007fc30605faa7 in KIO::ConnectionPrivate::dequeue (this=0x161b8a0) at ../../kio/kio/connection.cpp:82
#26 0x00007fc30605fbcd in KIO::Connection::qt_metacall (this=0x14d2260, _c=QMetaObject::InvokeMetaMethod, _id=<value optimized out>, _a=0x14a0730) at ./connection.moc:79
#27 0x00007fc305648c79 in QObject::event (this=0x14d2260, e=0x160dc10) at kernel/qobject.cpp:1248
#28 0x00007fc3047d7fac in QApplicationPrivate::notify_helper (this=0xd7f340, receiver=0x14d2260, e=0x160dc10) at kernel/qapplication.cpp:4298
#29 0x00007fc3047de59b in QApplication::notify (this=0x7fff33a66de0, receiver=0x14d2260, e=0x160dc10) at kernel/qapplication.cpp:4181
#30 0x00007fc305b80d16 in KApplication::notify (this=0x7fff33a66de0, receiver=0x14d2260, event=0x160dc10) at ../../kdeui/kernel/kapplication.cpp:302
#31 0x00007fc305638f3c in QCoreApplication::notifyInternal (this=0x7fff33a66de0, receiver=0x14d2260, event=0x160dc10) at kernel/qcoreapplication.cpp:704
#32 0x00007fc30563b6b7 in QCoreApplication::sendEvent (receiver=0x0, event_type=<value optimized out>, data=0xd18c30) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:215
#33 QCoreApplicationPrivate::sendPostedEvents (receiver=0x0, event_type=<value optimized out>, data=0xd18c30) at kernel/qcoreapplication.cpp:1345
#34 0x00007fc305662923 in QCoreApplication::sendPostedEvents (s=<value optimized out>) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:220
#35 postEventSourceDispatch (s=<value optimized out>) at kernel/qeventdispatcher_glib.cpp:276
#36 0x00007fc30083fbce in g_main_context_dispatch () from /lib/libglib-2.0.so.0
#37 0x00007fc300843598 in ?? () from /lib/libglib-2.0.so.0
#38 0x00007fc3008436c0 in g_main_context_iteration () from /lib/libglib-2.0.so.0
#39 0x00007fc305662463 in QEventDispatcherGlib::processEvents (this=0xd7e4d0, flags=<value optimized out>) at kernel/qeventdispatcher_glib.cpp:412
#40 0x00007fc3048877ee in QGuiEventDispatcherGlib::processEvents (this=0x7fff33a65630, flags=<value optimized out>) at kernel/qguieventdispatcher_glib.cpp:204
#41 0x00007fc305637862 in QEventLoop::processEvents (this=<value optimized out>, flags=) at kernel/qeventloop.cpp:149
#42 0x00007fc305637c3c in QEventLoop::exec (this=0x7fff33a66d50, flags=) at kernel/qeventloop.cpp:201
#43 0x00007fc30563b97b in QCoreApplication::exec () at kernel/qcoreapplication.cpp:981
#44 0x00007fc2f852bb64 in kdemain (argc=1, argv=0xd1a210) at /home/shadeslayer/unstable/Git/mainline/src/main.cpp:157
#45 0x0000000000406fb8 in launch (argc=1, _name=<value optimized out>, args=<value optimized out>, cwd=<value optimized out>, envc=1, envs=<value optimized out>, reset_env=false, tty=0x0, 
    avoid_loops=false, startup_id_str=0xd556a5 "kubuntu;1267213203;477718;2600_TIME7480933") at ../../kinit/kinit.cpp:717
#46 0x0000000000407c70 in handle_launcher_request (sock=8, who=<value optimized out>) at ../../kinit/kinit.cpp:1209
#47 0x0000000000408121 in handle_requests (waitForPid=0) at ../../kinit/kinit.cpp:1402
#48 0x0000000000408df2 in main (argc=4, argv=<value optimized out>, envp=<value optimized out>) at ../../kinit/kinit.cpp:1841
The current source language is "auto; currently c".

This bug may be a duplicate of or related to bug 223262.

Possible duplicates by query: bug 223262.

Reported using DrKonqi
Comment 1 Panagiotis Papadopoulos 2010-02-27 01:43:00 UTC
Crashes here too with 0.3.96
Comment 2 Rohan Garg 2010-02-27 12:41:55 UTC
Created attachment 41159 [details]
New crash information added by DrKonqi

Backtrace with rekonq 0.3.96,as Panagiotis Papadopoulos said,it still crashes
Comment 3 Johannes Zellner 2010-03-19 12:52:02 UTC
I cannot reproduce this bug with 0.4.53 anymore.

Is it still valid?
Comment 4 Heinz Wiesinger 2010-03-19 14:25:39 UTC
Not crashing anymore, although it still doesn't display anything ("Failed to Load"). But that's probably another bug.
Comment 5 Panagiotis Papadopoulos 2010-04-03 19:18:11 UTC
since it is not crashing anymore for you (and others can't reproduce it anymore), I'll put is resolved
Comment 6 Rohan Garg 2010-04-26 14:42:33 UTC
Well it has ceased to crash but it still shows failed to load,if you want a backtrace i can get one for you
Comment 7 Andrea Diamantini 2010-04-26 15:32:22 UTC
On Monday 26 April 2010 14:42:38 Rohan Garg wrote:
> https://bugs.kde.org/show_bug.cgi?id=228660
> 
> 
> Rohan Garg <rohan16garg@gmail.com> changed:
> 
>            What    |Removed                     |Added
> ---------------------------------------------------------------------------
> - Status|RESOLVED                    |REOPENED
>          Resolution|FIXED                       |
> 
> 
> 
> 
> --- Comment #6 from Rohan Garg <rohan16garg gmail com>  2010-04-26 14:42:33
> --- Well it has ceased to crash but it still shows failed to load,if you
> want a backtrace i can get one for you

It doesn't load because that dir in download.nvidia.com is not readable.
It crashed trying to read a not readable dir.
Comment 8 Heinz Wiesinger 2010-04-26 15:42:11 UTC
ftp://download.nvidia.com/XFree86/Linux-x86_64/195.36.15

works in konqueror and crashes rekonq 0.4.64
Comment 9 Andrea Diamantini 2010-04-28 00:50:22 UTC
commit 77311eaf0de9fd22f42df82adf69839091cc94c8
Author: Andrea Diamantini <adjam7@gmail.com>
Date:   Tue Apr 27 11:50:00 2010 +0200

    Remove the "is readable" check. Now things seem work.
    Can someone explain how can we read a not readable dir??
    
    CCBUG: 228660

diff --git a/src/application.cpp b/src/application.cpp
index d2754ec..fd03023 100644
--- a/src/application.cpp
+++ b/src/application.cpp
@@ -400,6 +400,9 @@ void Application::newWindow()
 
 void Application::updateConfiguration()
 {
+    // FIXME: 
+    // all things related to mainview can be 
+    // improved/moved/replicated in all the mainwindows
     MainView *view = mainWindow()->mainView();
     
     // ============== General ==================
diff --git a/src/protocolhandler.cpp b/src/protocolhandler.cpp
index b88f23f..1ee026a 100644
--- a/src/protocolhandler.cpp
+++ b/src/protocolhandler.cpp
@@ -211,21 +211,9 @@ QString ProtocolHandler::dirHandling(const KFileItemList &list)
     {
         return QString("rekonq error, sorry :(");
     }
-
-    KFileItem mainItem = _lister->rootItem();
-    if (mainItem.isNull()) 
-    {
-        QString errStr = i18nc("%1=an URL", "Error opening '%1': No such file or directory.", _url.prettyUrl() );
-        return errStr;
-    }
-
-    if (!mainItem.isReadable()) 
-    {
-        QString errStr = i18nc("%1=an URL", "Unable to read %1", _url.prettyUrl() );
-        return errStr;
-    }
     
-    KUrl rootUrl = mainItem.url();
+    // let me modify it..
+    KUrl rootUrl = _url;
     
      // display "rekonq info" page
     QString infoFilePath =  KStandardDirs::locate("data", "rekonq/htmls/rekonqinfo.html");
Comment 10 Andrea Diamantini 2010-04-30 02:55:58 UTC
It works now. Please check again and close this bug.
Regards.
Comment 11 Rohan Garg 2010-04-30 14:04:48 UTC
Thanks this is fixed in git commit 77311eaf0de9fd22f42df82adf69839091cc94c8 and git version 0.4.0-240-gec071ab
thanks :D