[xmonad] Strange spawnPipe error

Ferenc Wagner wferi at niif.hu
Sat Dec 26 17:56:28 EST 2009


Viktor Deryagin <vderyagin at gmail.com> writes:

> On Sat, Dec 26, 2009 at 9:47 PM, Ferenc Wagner <wferi at niif.hu> wrote:
>
>> Sorry, I can't find any trace of xmonad in the output.  I'd recommend
>> changing the xmonad call in your startup file to something like
>
> I chenged my ~/.xinitrc entry to
>
> exec strace -f xmonad -o xmonad.strace
>
> Output contains errors "createSession: permission denied (Operation
> not permitted)" (attached).
> Hope it will help.

Very strange, all the setsid() syscalls are doubled like for example

[pid 11584] setsid()                    = 11584
[pid 11584] setsid()                    = -1 EPERM (Operation not permitted)
[pid 11584] write(2, "xmonad-i386-linux: ", 19) = 19
[pid 11584] write(2, "createSession: permission denied"..., 58) = 58
[pid 11584] write(2, "\n", 1)           = 1

setsid() should indeed work as above: after a fork(), one setsid()
should succeed, but further ones should fail.  What is your GHC version?
What is your unix package version?  Please compile the following test
program, run it under strace -f and send the output back:

> import System.Posix.Process
> 
> child = do
>   createSession
>   putStrLn "child done" -- remove this line if the program hangs
> 
> main = do
>   pid <- forkProcess child
>   putStrLn $ "forked " ++ show pid
>   status <- getProcessStatus True False pid
>   putStrLn $ "child status: " ++ show status
-- 
Regards,
Feri.


More information about the xmonad mailing list