Menu

#21 Opening a external storage device with file manager through Be-MediaTray causes Be-shell (or another thing, most likely) to fire up a thousand Dolphin windows.

2.0
closed
nobody
2014-11-23
2013-11-09
No

I have this problem in Opensuse 12.3 with KDE 4.10.5 and Qt 4.8.4

The problem happens when I use the Mediatray to open my USB devices using the option "Open with File Manager" in the menu that pops out of the usb icon that appears when I connect one.

When I click the icon and I keep the click, then a little menu pops out and I release the button in "Open with File Manager", then a really big number of kioclient instaces are open, much of them zombies, then a hundred dolphin windows began to pop out, the system hangs and it does not finish until I don't know... I just kill Xorg to stop all.

17181 ?        Z      0:00 [kioclient] <defunct>
17187 ?        Z      0:00 [kioclient] <defunct>
17195 ?        Z      0:00 [kioclient] <defunct>
17203 ?        Z      0:00 [kioclient] <defunct>
17213 ?        Z      0:00 [kioclient] <defunct>
17227 ?        Z      0:00 [kioclient] <defunct>
17242 ?        Z      0:00 [kioclient] <defunct>
17438 ?        Z      0:00 [kioclient] <defunct>
17523 ?        Z      0:00 [kioclient] <defunct>
17562 ?        Z      0:00 [kioclient] <defunct>
17589 ?        Z      0:00 [kioclient] <defunct>
17618 ?        Z      0:00 [kioclient] <defunct>
17646 ?        Z      0:00 [kioclient] <defunct>
17745 ?        S      0:00 /usr/bin/kioclient exec /media/JOSEL2
17747 ?        R      0:00 /usr/bin/kioclient exec /media/JOSEL2
17748 ?        R      0:00 /usr/bin/kioclient exec /media/JOSEL2
...
17801 ?        R      0:00 /usr/bin/kioclient exec /media/JOSEL2
17803 tty2     S+     0:00 grep --color=auto kioclient

This problem occurs when I access the mouse, by holding the mouse button when I click on the little icon, but when I just click on the icon it just fires one dolphin window.

I have this problem only with Opensuse 12.3, I use Debian 7 as well, and I have almost the same Be-shell configuration and theme (only different are some panels and buttons on them), and never had this problem there.

But as additional information I have to mention, that I have a very weird problem with the mouse in Opensuse... from time to time the buttons stop clicking, and the problem is just in Opensuse.

5 Attachments

Discussion

  • Jose Luis Triana

    Added more images as attachments.

     

    Last edit: Jose Luis Triana 2013-11-09
  • Jose Luis Triana

    Added the file with the complete zombie processes.

    As an additional information: I compiled and installed the last be-shell code at Saturday, November 9 2013 at 12:00 pm UTC -6, still have the problem.

     

    Last edit: Jose Luis Triana 2013-11-09
  • Thomas Luebking

    Thomas Luebking - 2013-11-09

    The menu is feeded from the solid actions that you can configure by right clicking the volume. (In contrast to just a normal left click on the volume which is be.shell specific code to mount and open the inode)

    There are four possible issues:
    a) the configured solid action is broken (and tirggers whatever instead of "kioclient exec %25f") -> lookup the config for the volume.

    b) the volume fails to mount several times and returns the setup with an error (kinda unpredicted condition in be.shell, thus bug)
    -> git fetch; git rebase origin/master # altered to unique connection

    c) the action is triggered several times (for whatever reason, eg. the mosue) - pot. also leading to the (b) condition

    d) the solid action is read wrongly

    -> for c & d, in mediatray.cpp, qDebug() in BE::Device::run(QAction *act) (call back if none of the above is the reason and you need help on this)

     
  • Jose Luis Triana

    a) I really don't know , the configuration is OK, it is "kioclient exec %25f"

    b) I fetched that git branch, with unique connection, the same result, but now it makes polkit to ask for a password because it is trying to mount the floppy (I have one, but with no floppy inserted) before I used this branch no floppy-ask-for-permission-to-mount-it.

    c) Maybe it is a mouse problem, but no hardware, I'm actually having problems with mouse in this distro (Opensuse 12.3), software problem (I don't know what problem is; maybe xorg or the nvidia-driver or opensuse upgrade), If I had a hardware problem with the mouse I would have this issue with Debian, but in Debian I have no problem.

    d) Maybe this is the problem rather than c, because When I kill everything, before definitive X restart, I tried to kill everything: dolphin, kioclient, I stop kdeinit, but it keeps opening and opening dolphin windows, as If I ordered it to open inifinite dolphin windows...

     

    Last edit: Jose Luis Triana 2013-11-10
  • Thomas Luebking

    Thomas Luebking - 2013-11-10

    Ok, attached is a patch to debug the mediatray a bit.
    Copy it into the be-shell source dir and run
    patch -p1 < debug_mediatray.diff

    recompile and install be::shell and from konsole run "be.shell --restart"
    then try to mount/open the item and watch the output.

    Ideally it will look like

    trying to execute solid action on "<LABEL>" "Flash Disk" "drive-removable-media-usb"
    we need it mounted "<LABEL>" "Flash Disk" "drive-removable-media-usb"
    has a volume "<LABEL>" "Flash Disk" "drive-removable-media-usb"
    need to mount "<LABEL>" "Flash Disk" "drive-removable-media-usb"
    trying to execute solid action on "<LABEL>" "Flash Disk" "drive-removable-media-usb"
    we need it mounted "<LABEL>" "Flash Disk" "drive-removable-media-usb"

    ########### NOTICE: that the next step is NOT to mount it, since that happened at this point

    has a volume "<LABEL>" "Flash Disk" "drive-removable-media-usb"
    gonna execute "kioclient exec /run/media/<user>/<LABEL>" on "<LABEL>" "Flash Disk" "drive-removable-media-usb" true

    <user> and <LABEL> are obviously placeholders and depend on the device label and your user name.

    It might be interesting to see whether you're actually mounting the desired device (eg. flash disk or so) or this accidentally points the floppy drive (for whatever reason)

    You might also want to try the behavior if there's a floppy injected (no: i did not test anything with a floppy drive in the last 5 years or so =)

     
  • Thomas Luebking

    Thomas Luebking - 2013-11-10

    I pushed another patch that will prevent repeated attempts to mount a device (if that does not work)
    I don't see where this would prevent your condition (esp. since the unique connection didn't work either) but it might be still worth a shot.

    Otherwise please try to get the debug info from the attached patch, thanks.

     
  • Jose Luis Triana

    It tries to mount the floppy but the the flashdisk as well:

    trying to execute solid action on "Disco extraíble de 0 B" "Floppy Drive" "media-floppy" 
    we need it mounted "Disco extraíble de 0 B" "Floppy Drive" "media-floppy" 
    has a volume "Disco extraíble de 0 B" "Floppy Drive" "media-floppy" 
    need to mount "Disco extraíble de 0 B" "Floppy Drive" "media-floppy" 
    trying to execute solid action on "JOSEL" "v165w" "drive-removable-media-usb" 
    we need it mounted "JOSEL" "v165w" "drive-removable-media-usb" 
    has a volume "JOSEL" "v165w" "drive-removable-media-usb" 
    gonna execute "kioclient exec /media/JOSEL4" on "JOSEL" "v165w" "drive-removable-media-usb" true 
    Got notified "Notificaciones de hardware" 0 "" "emblem-mounted" "Notificación de dispositivos" "No se pudo montar el siguiente dispositivo: Disco extraíble de 0 B" () QMap() -1
    
     
  • Thomas Luebking

    Thomas Luebking - 2013-11-11

    Ok, this is getting more weird.

    a) Did you attempt to open the floppy or the usb drive?
    b) Is that the complete output?
    c) Do you still get the massive kioclient execution amount?

    It looks like you were trying to open the floppy.
    Unless there's actually a floppy in the drive, there should be no volume, thus no volume setup.
    Next thing is that it looks as if the volume setup would cause a change of the device with the new UDI being that of the usb stick rather than the floppy.
    However, the usb drive is also mounted (by the floppy mount attempt?) and the opened.
    Then you get a message that the floppy could not be mounted (since there's non in the drive, i assume)

    If the answers are
    a) usb
    b) yes
    there seems a bug in libsolid or the underlying backend (udev/udisks/2)

    If it's also
    c) yes
    despite "b) yes", it's at least not this invocation directly that would cause the massive kioclient execution.

    Does "kioclient exec /media/JOSEL4" open the path in dolphin?

     
  • Jose Luis Triana

    a) the USB drive, I don't have floppys with me.
    b) Maybe, I did be-shell --restart &> file2, I suposse it saves the std error and the stdout in the file, if not, I will upload the file again, a new and complete.
    c) Yes, it is massive execution of kioclient

    And Yes, kioclient exec /media/JOSEL4 opens the path in Dolphin

     

    Last edit: Jose Luis Triana 2013-11-11
  • Thomas Luebking

    Thomas Luebking - 2013-11-12

    What happened about the "a lot of Dolphins..." part?

    Leaving aside the "wtf is the floppy invoked here" part, this sounded more like the "kioclient exec" binding is borked ("kcmshell4 filetypes", inode binding) - eg. bound to "kioclient exec" instead of "dolphin" or something like that.

    So, most important thing to clarify:
    running "kioclient exec /media/JOSEL4" from eg. konsole opens one dolphin or countless?

     
  • Jose Luis Triana

    The "A lot of Dolphins" part is wrong, I wasn't mean to say that, in reality after releasing the mouse button in the menu of mediatray it opens first countless "kioclient exec /media/MY-FLASH'" then the infinite Dolphins.

    but it keeps opening one kioclient to another and after each kioclient a dolphin follows up, but infinite times.

    the thing here is when I click the menu element as descrived above it opens in one time a lot of kioclients -> dolphins then after one or few seconds, another bunch of kioclients -> dolphins runs, and don't stop, never stop or I kill Xorg before it finishes to open the countless number of dolphin windows it thinks that I requested it to.

    When I run "kioclient exec /media/JOSEL4" from konsole it just opens one Dolphin window.

    And the kcmshell4 filetypes in inode binding, looks normal, the mount-point is bounded to dolphin as the first preferred, konqueror the second, gwenview, super-user file manager and I don't know why or how Audacious... and the dolphin order is: dolphin %i -caption "%c" %u

    A weird thing in that binding; I changed Konqueror to be the first in the preference list, but it keeps opening the mount-point in dolphin.

     

    Last edit: Jose Luis Triana 2013-11-12
  • Thomas Luebking

    Thomas Luebking - 2014-03-01

    Hi, Sorry for the delay.
    Is this still an issue for you?

    In case, i'd try sth. entirely different to sort out the cause of this (I think I looked in the wrong direction, QToolButton::DelayedPopup might be the trigger)

     
  • mkae

    mkae - 2014-03-28

    I am seeing the same thing happening on OSX with KDE installed through MacPorts (KDE 4.12.2 + Qt 4.8.5) if I configure a browser by

    $ kwriteconfig --group General --key BrowserApplication '!safari’

    and call kioclient to open a url

    $ kioclient exec 'http://www.kde.org/'

    new browsers will be opened with a rate of about 2 per second.

     
  • Thomas Luebking

    Thomas Luebking - 2014-05-05

    Please see
    http://lists.kde.org/?l=kde-devel&m=139915316302201&w=2

    This might be about the configuration of the default component - the prepended "!" exclamation mark (added by the componentchooser kcm) apparently can cause this.

    Jose, if you still see this and are still interested, you might want to cross check - feel free to ask back if you needs assistance on altering the config.

     
  • Jose Luis Triana

    I replaced openSUSE 12.3 with Kubuntu 14.04, this version of Kubuntu hve KDE 4.13.0 and I don't have that problem anymore.

    I think this issue should be closed now, as it didn't belong to Be.shell I compiled the same revision of Be.shell that I did in openSuse 12.3 that has KDE 4.10.

    Thnak you very much Thomas, great help, great support.

    mkae thank you as well.

    Regards.

     

    Last edit: Jose Luis Triana 2014-05-08
  • Thomas Luebking

    Thomas Luebking - 2014-05-08
    • labels: --> kderuntime, SEP
    • status: open --> closed
     
  • Thomas Luebking

    Thomas Luebking - 2014-05-08

    Ok, thanks for the update. ooc - did you keep your users ~/.kde dir?

     

Log in to post a comment.