Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

xrdp-chansrv stucks "Resource temporarily unavailable" #1265

Closed
metalefty opened this issue Dec 7, 2018 · 4 comments
Closed

xrdp-chansrv stucks "Resource temporarily unavailable" #1265

metalefty opened this issue Dec 7, 2018 · 4 comments

Comments

@metalefty
Copy link
Member

metalefty commented Dec 7, 2018

Sometimes xrdp-chansrv stucks with CPU usage 100%.
I'm investigating the issue. Just for the record.

FreeBSD 12, xrdp 0.9.8.

recvmsg(11,0x7fffdfffdab8,0)                     ERR#35 'Resource temporarily unavailable'
recvmsg(11,0x7fffdfffdad8,0)                     ERR#35 'Resource temporarily unavailable'
select(17,{ 16 },0x0,0x0,{ 0.000000 })           = 1 (0x1)
recvfrom(16,"\0\0\0\0\M-4\^T\0\0",8,0,NULL,0x0)  = 8 (0x8)
recvfrom(16,"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"...,5292,0,NULL,0x0) = 5292 (0x14ac)
getrusage(RUSAGE_SELF,{ u=171.632692,s=3.573564,in=41,out=20 }) = 0 (0x0)
getrusage(RUSAGE_CHILDREN,{ u=0.000000,s=0.000000,in=0,out=0 }) = 0 (0x0)
select(14,0x0,{ 13 },0x0,{ 0.000000 })           = 0 (0x0)
select(14,0x0,{ 13 },0x0,{ 0.000000 })           = 0 (0x0)
getrusage(RUSAGE_SELF,{ u=171.643198,s=3.573564,in=41,out=20 }) = 0 (0x0)
getrusage(RUSAGE_CHILDREN,{ u=0.000000,s=0.000000,in=0,out=0 }) = 0 (0x0)
select(14,0x0,{ 13 },0x0,{ 0.000000 })           = 0 (0x0)
mmap(0x0,4096,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_ANON,-1,0x0) = 34574045184 (0x80cc61000)
mmap(0x0,4096,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_ANON,-1,0x0) = 34574049280 (0x80cc62000)
mmap(0x0,4096,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_ANON,-1,0x0) = 34574053376 (0x80cc63000)
mmap(0x0,4096,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_ANON,-1,0x0) = 34574057472 (0x80cc64000)
mmap(0x0,4096,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_ANON,-1,0x0) = 34574061568 (0x80cc65000)
mmap(0x0,4096,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_ANON,-1,0x0) = 34574065664 (0x80cc66000)
mmap(0x0,4096,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_ANON,-1,0x0) = 34574069760 (0x80cc67000)
mmap(0x0,4096,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_ANON,-1,0x0) = 34574073856 (0x80cc68000)
mmap(0x0,4096,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_ANON,-1,0x0) = 34574077952 (0x80cc69000)
mmap(0x0,4096,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_ANON,-1,0x0) = 34574082048 (0x80cc6a000)
select(14,0x0,{ 13 },0x0,{ 0.000000 })           = 0 (0x0)
select(15,{ 14 },0x0,0x0,{ 0.000000 })           = 0 (0x0)
select(16,{ 15 },0x0,0x0,{ 0.000000 })           = 0 (0x0)
select(17,{ 3 10 11 13 14 15 16 },{ 13 },0x0,0x0) = 2 (0x2)
select(4,{ 3 },0x0,0x0,{ 0.000000 })             = 0 (0x0)
select(14,{ 13 },0x0,0x0,{ 0.000000 })           = 1 (0x1)
recvfrom(13,"\0\0\0\0\^P\0\0\0",8,0,NULL,0x0)    = 8 (0x8)
recvfrom(13,"\a\0\0\0\b\0\0\0",8,0,NULL,0x0)     = 8 (0x8)
select(14,0x0,{ 13 },0x0,{ 0.000000 })           = 0 (0x0)
select(14,0x0,{ 13 },0x0,{ 0.000000 })           = 0 (0x0)
select(11,{ 10 },0x0,0x0,{ 0.000000 })           = 0 (0x0)
recvmsg(11,0x7fffdfffdab8,0)                     ERR#35 'Resource temporarily unavailable'
recvmsg(11,0x7fffdfffdad8,0)                     ERR#35 'Resource temporarily unavailable'
select(17,{ 16 },0x0,0x0,{ 0.000000 })           = 1 (0x1)
recvfrom(16,"\0\0\0\0\M-4\^T\0\0",8,0,NULL,0x0)  = 8 (0x8)
recvfrom(16,"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"...,5292,0,NULL,0x0) = 5292 (0x14ac)
getrusage(RUSAGE_SELF,{ u=171.658894,s=3.573564,in=41,out=20 }) = 0 (0x0)
getrusage(RUSAGE_CHILDREN,{ u=0.000000,s=0.000000,in=0,out=0 }) = 0 (0x0)
select(14,0x0,{ 13 },0x0,{ 0.000000 })           = 0 (0x0)
@jsorg71
Copy link
Contributor

jsorg71 commented Dec 7, 2018

Is there any common thing you do that causes it? playing audio, clipboard copy, etc.

@metalefty
Copy link
Member Author

I'm not sure yet. However, there was a misunderstanding. "Resource temporarily unavailable" does not equal to 100% CPU. At least on FreeBSD, chansrv always very frequently shows "Resource temporarily unavailable" but most case it works fine. No 100% CPU.

@metalefty
Copy link
Member Author

Also #1435 is related to this.

@metalefty
Copy link
Member Author

Solved by neutrinolabs/pulseaudio-module-xrdp#38

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants