[dolphin] [Bug 420911] Authentication dialog to access a Samba share always re-appears together a pointiless "Examining" notification after canceling

Harald Sitter bugzilla_noreply at kde.org
Mon May 4 08:59:54 BST 2020


https://bugs.kde.org/show_bug.cgi?id=420911

Harald Sitter <sitter at kde.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
     Ever confirmed|0                           |1
           Assignee|plasma-bugs at kde.org         |dolphin-bugs-null at kde.org
            Product|kio-extras                  |dolphin
             Status|REPORTED                    |CONFIRMED
                 CC|                            |kfm-devel at kde.org,
                   |                            |sitter at kde.org
          Component|Samba                       |general

--- Comment #1 from Harald Sitter <sitter at kde.org> ---
Moving down the stack. At a glance this is a bug in dolphin.

A fairly reliable way to reproduce this is:

- dolphin --new-window smb://somehost
- drill into a share with auth
- minimize window
- wait a second or two
- alt-tab into window again
- auth loop starts

The reason it keeps asking for auth is because dolphin keeps running a stat on
the same url expecting a different outcome. Trace below.

The stat triggers the auth dialog, that causes dolphin to lose window focus,
the smb slave comes back with an error (ERR_ACCESS_DENIED), dolphin gets focus
again, the window gets an activation event again (cause of the regained focus)
and the same dance happens again.

There's a number of problems with this IMHO.

Firstly the obvious bug at hand.

Secondly, dolphin shouldn't look up the find tool on window activation, if
anything it should happen if and when the url of the "container" changes. Even
if the code wasn't misbehaving, the way it is currently written needlessly
stats the same url even when the url hasn't changed.

Lastly, KIO::mostLocalUrl shouldn't run any stat on jobs that aren't local
they'll not have a mostLocalUrl because they aren't local. I've opened bug
#420985 for this.

#0  KIO::StatJob::StatJob (this=0x555556734db0, dd=...) at
./src/core/statjob.cpp:68
#1  0x00007ffff5d158ea in KIO::StatJobPrivate::newJob (flags=...,
packedArgs=..., command=69, url=...) at ./src/core/statjob.cpp:58
#2  KIO::statDetails (url=..., side=side at entry=KIO::StatJob::SourceSide,
details=..., details at entry=..., flags=...) at ./src/core/statjob.cpp:235
#3  0x00007ffff5d159d7 in KIO::mostLocalUrl (url=..., flags=...,
flags at entry=...) at ./src/core/statjob.cpp:212
#4  0x00007ffff7b2ede9 in DolphinMainWindow::activeContainerLocalPath
(this=this at entry=0x555555853020) at ./src/dolphinmainwindow.cpp:945
#5  0x00007ffff7b360f5 in DolphinMainWindow::preferredSearchTool
(this=this at entry=0x555555853020) at ./src/dolphinmainwindow.cpp:959
#6  0x00007ffff7b36474 in
DolphinMainWindow::updateOpenPreferredSearchToolAction (this=0x555555853020) at
./src/dolphinmainwindow.cpp:1001
#7  0x00007ffff7b369fa in DolphinMainWindow::event (this=0x555555853020,
event=0x7fffffffd360) at ./src/dolphinmainwindow.cpp:2301
#8  0x00007ffff270b9ac in QApplicationPrivate::notify_helper(QObject*, QEvent*)
() from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#9  0x00007ffff2712bb0 in QApplication::notify(QObject*, QEvent*) () from
/usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#10 0x00007ffff1350128 in QCoreApplication::notifyInternal2
(receiver=0x555555853020, event=0x7fffffffd360) at
kernel/qcoreapplication.cpp:1075
#11 0x00007ffff2710a83 in QApplication::setActiveWindow(QWidget*) () from
/usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#12 0x00007ffff2710c83 in
QApplicationPrivate::notifyActiveWindowChange(QWindow*) () from
/usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#13 0x00007ffff1e16465 in QGuiApplicationPrivate::processActivatedEvent
(e=<optimized out>) at kernel/qguiapplication.cpp:2436
#14 0x00007ffff1e1aaed in QGuiApplicationPrivate::processWindowSystemEvent
(e=e at entry=0x555556373cb0) at kernel/qguiapplication.cpp:1956
#15 0x00007ffff1df31cb in QWindowSystemInterface::sendWindowSystemEvents
(flags=flags at entry=...) at kernel/qwindowsysteminterface.cpp:1170
#16 0x00007fffe20fcf9a in xcbSourceDispatch (source=<optimized out>) at
qxcbeventdispatcher.cpp:105
#17 0x00007fffe9282417 in g_main_context_dispatch () from
/usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#18 0x00007fffe9282650 in ?? () from /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#19 0x00007fffe92826dc in g_main_context_iteration () from
/usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#20 0x00007ffff13af42c in QEventDispatcherGlib::processEvents
(this=0x555555800270, flags=...) at kernel/qeventdispatcher_glib.cpp:423
#21 0x00007ffff134e9aa in QEventLoop::exec (this=this at entry=0x7fffffffd700,
flags=..., flags at entry=...) at kernel/qeventloop.cpp:225
#22 0x00007ffff1358120 in QCoreApplication::exec () at
kernel/qcoreapplication.cpp:1383
#23 0x00007ffff7b2a7c5 in kdemain (argc=<optimized out>, argv=<optimized out>)
at ./src/main.cpp:189
#24 0x00007ffff7713b97 in __libc_start_main (main=0x555555554720 <main>,
argc=3, argv=0x7fffffffd968, init=<optimized out>, fini=<optimized out>,
rtld_fini=<optimized out>, 
    stack_end=0x7fffffffd958) at ../csu/libc-start.c:310
#25 0x000055555555475a in _start ()

-- 
You are receiving this mail because:
You are on the CC list for the bug.



More information about the kfm-devel mailing list