fusfu / shellinabox

Automatically exported from code.google.com/p/shellinabox
Other
0 stars 0 forks source link

forkpty() failed on Ubuntu 10.4 VPS #120

Open GoogleCodeExporter opened 9 years ago

GoogleCodeExporter commented 9 years ago
What steps will reproduce the problem?
1. install shellinabox on a Ubuntu 10.4 based VPS
2. try to access it

What is the expected output? What do you see instead?
Regardless of the service configuration, I always see:
forkpty() failed                                                                

Session closed.                                                                 

What version of the product are you using? On what operating system?
I tried it with:
- checkout from svn and building with INSTALL.Debian instructions
- download of shellinabox_2.10-1_amd64.deb

Please provide any additional information below.
Its on a Virtual Private Server

Original issue reported on code.google.com by aboss...@gmail.com on 8 Apr 2011 at 7:24

GoogleCodeExporter commented 9 years ago
Check if /dev/ptmx exists. If not, try:
  mknod /dev/ptmx c 5 2
  chmod go+rw /dev/ptmx

Original comment by th...@ginkel.com on 23 Oct 2011 at 11:03

GoogleCodeExporter commented 9 years ago
# strace -p 171
Process 171 attached - interrupt to quit
restart_syscall(<... resuming interrupted call ...>) = 1
accept(4, {sa_family=AF_INET, sin_port=htons(54599), 
sin_addr=inet_addr("127.0.0.1")}, [16]) = 6
fcntl(6, F_SETFL, O_RDWR|O_NONBLOCK)    = 0
getpeername(6, {sa_family=AF_INET, sin_port=htons(54599), 
sin_addr=inet_addr("127.0.0.1")}, [16]) = 0
poll([{fd=4, events=POLLIN}, {fd=5, events=POLLIN}, {fd=6, events=POLLIN}], 3, 
427000) = 1 ([{fd=6, revents=POLLIN}])
rt_sigprocmask(SIG_BLOCK, [PIPE], NULL, 8) = 0
read(6, "POST /? HTTP/1.1\r\nHost: 127.0.0."..., 4096) = 1057
rt_sigpending([])                       = 0
rt_sigprocmask(SIG_UNBLOCK, [PIPE], NULL, 8) = 0
open("/dev/urandom", O_RDONLY)          = 7
read(7, "\343d\224I\324\330q\335\"&\345Y\206\226\252T", 16) = 16
close(7)                                = 0
write(3, "\0\0\0\0d\0\0\0\30\0\0\000127.0.0.1\0\0\0\0\0\0\0\0\0\0\0"..., 177) = 
177
recvmsg(3, {msg_name(0)=NULL, msg_iov(1)=[{"\0\0\0\0", 4}], msg_controllen=24, 
{cmsg_len=20, cmsg_level=SOL_SOCKET, cmsg_type=SCM_RIGHTS, {7}}, msg_flags=0}, 
0) = 4
ioctl(7, TIOCGWINSZ, 0x7fff7e1dc440)    = -1 EINVAL (Invalid argument)
ioctl(7, TIOCSWINSZ, {ws_row=24, ws_col=100, ws_xpixel=0, ws_ypixel=0}) = -1 
EINVAL (Invalid argument)
rt_sigprocmask(SIG_BLOCK, [PIPE], NULL, 8) = 0
write(6, "HTTP/1.1 200 OK\r\nContent-Type: a"..., 157) = 157
rt_sigpending([])                       = 0
rt_sigprocmask(SIG_UNBLOCK, [PIPE], NULL, 8) = 0
rt_sigprocmask(SIG_BLOCK, [PIPE], NULL, 8) = 0
read(6, 0x7fff7e1dc5b0, 4096)           = -1 EAGAIN (Resource temporarily 
unavailable)
rt_sigpending([])                       = 0
rt_sigprocmask(SIG_UNBLOCK, [PIPE], NULL, 8) = 0
poll([{fd=4, events=POLLIN}, {fd=5, events=POLLIN}, {fd=6, events=POLLIN}, 
{fd=7, events=POLLIN}], 4, 46000) = 1 ([{fd=7, revents=POLLIN|POLLHUP}])
read(7, "forkpty() failed\r\n", 2048)   = 18
poll([{fd=4, events=POLLIN}, {fd=5, events=POLLIN}, {fd=6, events=POLLIN}, 
{fd=7, events=POLLIN}], 4, 46000) = 1 ([{fd=7, revents=POLLHUP}])
poll([{fd=4, events=POLLIN}, {fd=5, events=POLLIN}, {fd=6, events=POLLIN}], 3, 
427000) = 1 ([{fd=6, revents=POLLIN}])
rt_sigprocmask(SIG_BLOCK, [PIPE], NULL, 8) = 0
read(6, "POST /? HTTP/1.1\r\nHost: 127.0.0."..., 4096) = 1037
rt_sigpending([])                       = 0
rt_sigprocmask(SIG_UNBLOCK, [PIPE], NULL, 8) = 0
close(7)                                = 0
rt_sigprocmask(SIG_BLOCK, [PIPE], NULL, 8) = 0
write(6, "HTTP/1.1 200 OK\r\nContent-Type: a"..., 177) = 177
rt_sigpending([])                       = 0
rt_sigprocmask(SIG_UNBLOCK, [PIPE], NULL, 8) = 0
rt_sigprocmask(SIG_BLOCK, [PIPE], NULL, 8) = 0
read(6, 0x7fff7e1dc5b0, 4096)           = -1 EAGAIN (Resource temporarily 
unavailable)
rt_sigpending([])                       = 0
rt_sigprocmask(SIG_UNBLOCK, [PIPE], NULL, 8) = 0
poll([{fd=4, events=POLLIN}, {fd=5, events=POLLIN}, {fd=6, events=POLLIN}], 3, 
427000) = 1 ([{fd=6, revents=POLLIN}])
rt_sigprocmask(SIG_BLOCK, [PIPE], NULL, 8) = 0
read(6, "POST /? HTTP/1.1\r\nHost: 127.0.0."..., 4096) = 1037
rt_sigpending([])                       = 0
rt_sigprocmask(SIG_UNBLOCK, [PIPE], NULL, 8) = 0
shutdown(6, 0 /* receive */)            = 0
rt_sigprocmask(SIG_BLOCK, [PIPE], NULL, 8) = 0
write(6, "HTTP/1.1 400 Bad Request\r\nConnec"..., 458) = 458
rt_sigpending([])                       = 0
rt_sigprocmask(SIG_UNBLOCK, [PIPE], NULL, 8) = 0
shutdown(6, 1 /* send */)               = 0
close(6)                                = 0
poll([{fd=4, events=POLLIN}, {fd=5, events=POLLIN}], 2, 427000^Z
[1]+  Stopped                 strace -p 171

Original comment by goo...@staerk.de on 26 Dec 2014 at 4:12

GoogleCodeExporter commented 9 years ago
/dev/ptmx existed and has permissions rw-rw-rw-. When strace'ing the process I 
got the above output.

Original comment by goo...@staerk.de on 26 Dec 2014 at 4:47

GoogleCodeExporter commented 9 years ago
I see "forkpty() failed" only sporadically.

Original comment by goo...@staerk.de on 26 Dec 2014 at 4:50