Version: 0.10.4 (using KDE 4.4.4) OS: MS Windows Using Windows 7 (professional, 64-bit), okular crashes when I choose File > Open. No open dialog actually comes up, just get an "okular.exe has stopped working" window with a crash in QtCore4.dll. Same behavior occurs whether or not I run in administrative mode. Other Qt-based apps such as Qt Creator do not crash when I try their File > Open dialogs. Looking at Process Monitor, it looks like okular does go through my drives and tries to list contents, failing to do so on two USB drives that host TrueCrypt volumes and thus can't be accessed directly (D: and F:, which are mounted as P: and Q:), with result "INVALID PARAMETER". I'm suspicious that this is the reason for the crash. Disabling access to those 2 drives via HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer\NoDrives and HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer\NoViewOnDrive prevents them from showing up in the Computer display, but they are still scanned according to Process Monitor, with the "INVALID PARAMTER" message. Reproducible: Always Steps to Reproduce: Choose File > Open Actual Results: okular crashes Expected Results: File open dialog should be displayed OS: WindowsNT (i686) release Windows 7 Compiler: cl.exe Crash data: Problem signature: Problem Event Name: APPCRASH Application Name: okular.exe Application Version: 0.0.0.0 Application Timestamp: 4c0dbfc4 Fault Module Name: QtCore4.dll Fault Module Version: 4.6.2.0 Fault Module Timestamp: 4c0a29a7 Exception Code: c0000005 Exception Offset: 001009b3 OS Version: 6.1.7600.2.0.0.256.48 Locale ID: 1033 Additional Information 1: 0a9e Additional Information 2: 0a9e372d3b4ad19135b953a78882e789 Additional Information 3: 0a9e Additional Information 4: 0a9e372d3b4ad19135b953a78882e789 In case the call stack is useful (probably isn't), here's what I get from Visual Studio: ========================================== QtCore4.dll!671009b3() [Frames below may be incorrect and/or missing, no symbols loaded for QtCore4.dll] QtGui4.dll!652dcca5() QtGui4.dll!65446e4f() QtGui4.dll!652e3cf1() kio.dll!0176bc1a() kio.dll!0176c85a() kfile.dll!08cd3ca3() msvcr90.dll!free(void * pBlock=0x08d0e8b5) Line 110 C 00dad33c() kernel32.dll!_HeapFree@12() + 0x14 bytes
Removing the drives via registry settings may not have an effect on KDE/Qt apps. Have you tried actually physically removing the USB drives to verify this is the problem?
Thanks very much for the suggestions, it helped me get this working; after a bit of rebooting and further testing, it appears that having more than 10 drives mapped is what causes this crash (I normally have the Truecrypt volumes plus a bunch of drives from a card reader and an ISO mounter program, so there are a lot in the Computer display, probably more than many people have)... 10 drives or less and it seems to work fine, regardless of which drives these are or which letters they are.
Created attachment 57590 [details] minimal test app to reproduce bug Testcase: minimal program compile inside kdeenv.bat When I had less than 13 driveletters, it worked fine. When I had more than 13 driveletters, it crashed. backtrace from MSVC2010, testapp compiled against trunk with MSVC2010: QtCore4.dll!70ea4f83() [Unten angegebene Rahmen sind möglicherweise nicht korrekt und/oder fehlen, keine Symbole geladen für QtCore4.dll] QtGui4.dll!7085ad53() QtGui4.dll!706dcf72() QtCore4.dll!70dda454() > kio.dll!QMap<int,KUrlComboBox::KUrlComboBoxPrivate::KUrlComboItem const *>::node_create(QMapData * adt, QMapData::Node * * aupdate, const int & akey, const KUrlComboBox::KUrlComboBoxPrivate::KUrlComboItem * const & avalue) Zeile 452 C++ kio.dll!KUrlComboBox::KUrlComboBoxPrivate::insertUrlItem(const KUrlComboBox::KUrlComboBoxPrivate::KUrlComboItem * item) Zeile 324 + 0x29 Bytes C++ kio.dll!KUrlComboBox::setMaxItems(int max) Zeile 344 + 0x14 Bytes C++ kfile.dll!KFileWidgetPrivate::readConfig(KConfigGroup & configGroup) Zeile 1814 + 0x7b Bytes C++ kfile.dll!KFileWidget::KFileWidget(const KUrl & _startDir, QWidget * parent) Zeile 586 C++ kfilemodule.dll!KFileModule::createFileWidget(const KUrl & startDir, QWidget * parent) Zeile 36 + 0x2c Bytes C++ kio.dll!KFileDialog::KFileDialog(const KUrl & startDir, const QString & filter, QWidget * parent, QWidget * customWidget) Zeile 269 + 0x14 Bytes C++ kfiledialogtest.exe!main(int argc, char * * argv) Zeile 25 + 0x3d Bytes C++ kfiledialogtest.exe!_WinMain@16() + 0x105 Bytes C++ kfiledialogtest.exe!__tmainCRTStartup() Zeile 547 + 0x1c Bytes C kernel32.dll!75b333ca() ntdll.dll!76fd9ed2() ntdll.dll!76fd9ea5()
Git commit bc3bc23cace386d6cd5559336998e674a895deef by Thomas Friedrichsmeier. Committed on 13/11/2011 at 10:10. Pushed by tfry into branch 'KDE/4.7'. Do not crash when setting maximum number of items to something smaller than the number of default items. BUG: 253284 BUG: 281920 M +3 -7 kio/kfile/kurlcombobox.cpp http://commits.kde.org/kdelibs/bc3bc23cace386d6cd5559336998e674a895deef