[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#862558: plasma-workspace: Freezes during login with fresh installed Stretch Japanese environment



Followup-For: Bug #862558

Dear maintainer,

I plan to NMU  plasma-workspace if the release team approves the attached patch.
 (Unblock request #864067)

Best regards,
  Nobuhiro


2017-05-31 23:38 GMT+09:00 YOSHINO Yoshihito <yy.y.ja.jp@gmail.com>:
> Followup-For: Bug #862558
> Control: reassign -1 plasma-workspace
> Control: affects -1 uim-qt5 uim-mozc
> Control: tags -1 + patch
>
> Dear Maintainer,
>
> This is a bug in ksplashqml. An upstream commit
> https://cgit.kde.org/plasma-workspace.git/commit/?id=56d2c15b9acb9c4b57398b281685807c3191f622
> has caused this problem.
>
> x-session-manag,133,kdetest /usr/bin/x-session-manager
>   ├─(ksplashqml,232)
>   ├─ssh-agent,191 /usr/bin/im-launch x-session-manager
>   ├─uim-toolbar,220
>   │   ├─{llvmpipe-0},235
>   │   ├─{llvmpipe-1},236
>   │   ├─{llvmpipe-2},237
>   │   └─{llvmpipe-3},238
>   └─uim-xim,219
> ksplashqml,233,kdetest Breeze --pid
>   ├─mozc_server,239
>   │   ├─{IPCServer},244
>   │   ├─{QueueTimer},240
>   │   ├─{QueueTimer},243
>   │   └─{WatchDog},242
>   ├─uim-candwin-qt5,245 -v
>   │   ├─{QDBusConnection},249
>   │   └─{QXcbEventReader},248
>   ├─{QDBusConnection},255
>   ├─{QQmlThread},254
>   ├─{QXcbEventReader},234
>   ├─{llvmpipe-0},250
>   ├─{llvmpipe-1},251
>   ├─{llvmpipe-2},252
>   └─{llvmpipe-3},253
>
> # strace -f -p 133
> strace: Process 133 attached
> read(3, ^Cstrace: Process 133 detached
>  <detached ...>
>
> It looks like the parent process (133), x-session-manager (startkde
> script), is waiting for the stdout of the ksplashqml process (232),
> but which is now defunct. Its child process(es) may be writing to the
> same fd.
>
> # ls -l /proc/133/fd/3
> lr-x------ 1 kdetest kdetest 64 May 31 05:13 /proc/133/fd/3 -> pipe:[88694]
>
> The direct child of the ksplashqml process (233), the splash screen daemon,
> closes the file descriptor at ksplash/ksplashqml/main.cpp:97.
>
> # ls -l /proc/233/fd/1
> ls: cannot access '/proc/233/fd/1': No such file or directory
>
> One of the children of the process (239), mozc_server, is holding the fd:
>
> # ls -l /proc/239/fd/1
> l-wx------ 1 kdetest kdetest 64 May 31 05:14 /proc/239/fd/1 -> pipe:[88694]
>
> So the startkde process has finished reading the pid number string from
> the now-defunct process, but is still waiting for another write(s) until
> the (shared) fd has been closed.
>
> This mozc_server process has been started during uim-qt5
> (a QPlatformInputContext) startup in the SplashApp
> initialization phase at ksplash/ksplashqml/main.cpp:92.
>
> Due to the upstream commit the splash screen daemon does not close file
> descriptors before the SplashApp initialization, thus its subprocess
> shares the fds.
>
> The commit log states Wayland initialization of this daemon needs the
> channels. While it may require open file descriptors 0, 1 or 2,
> no one should expect the process to talk to the parent through the
> descriptors, since the splash screen is a daemon.
>
> An attached patch reverts the commit and redirects the file descriptors
> to /dev/null.
>
> Regards,
> --
> YOSHINO Yoshihito <yy.y.ja.jp@gmail.com>



-- 
Nobuhiro Iwamatsu
   iwamatsu at {nigauri.org / debian.org}
   GPG ID: 40AD1FA6

Attachment: plasma-workspace_5.8.6-2.1.debdiff
Description: Binary data


Reply to: