Bug#292938: speedy-cgi-perl: Running /usr/bin/speedy as non root result in Segmentation fault
Jose, What kind of information do you need ? In the mean time I resolved the problem by adding a root sticky-bit on the executable. (Perhaps it's something the program can't read when run as a non-root user.) Sven -Original Message- From: Jose Carlos Garcia Sogo [mailto:[EMAIL PROTECTED] Sent: 31 January 2005 22:58 To: [EMAIL PROTECTED] Subject: Bug#292938: speedy-cgi-perl: Running /usr/bin/speedy as non root result in Segmentation fault El lun, 31-01-2005 a las 11:50 +0100, Sven Van Den Steene escribió: > Package: speedy-cgi-perl > Version: 2.22-1 > Severity: grave > Justification: renders package unusable > > > We've installed on a new system smokeping wich depends on > speedy-cgi-perl. After some problems trying to get smokeping working > we tested some small perl-scripts to resolve where the problem's located. > > Even the following small script resolt in an http error: > > #!/usr/bin/speedy -w > > print "Content-type: text/html\n\nHello World!\n"; > > We changed the /usr/bin/speedy by /usr/bin/perl the script runs fine. > When one runs the script from cli being root the script runs fine. > After we su-ed to www-data we get the following error: > > /usr/lib/cgi-bin$ speedy test.cgi > Segmentation fault hal9000:/home/jose# su www-data hal9000:/home/jose$ id uid=33(www-data) gid=33(www-data) grupos=33(www-data) hal9000:/home/jose$ speedy test.cgi Content-type: text/html Hello World! hal9000:/home/jose$ dpkg -l speedy-cgi-perl Desired=Unknown/Install/Remove/Purge/Hold | Estado=No/Instalado/Config-files/Unpacked/Failed-config/Half-installed |/ Err?=(none)/Hold/Reinst-required/X=both-problems (Status,Err: mayúsc.=malo) ||/ Nombre VersiónDescripción +++-===-===- +++== ii speedy-cgi-perl 2.22-1 speed up perl scripts by making them persisten > If you need more info please srop a mail. Obviously, I need it :-) Thanks, -- Jose Carlos Garcia Sogo [EMAIL PROTECTED] DISCLAIMER http://www.belgacom.be/maildisclaimer
Bug#292938: speedy-cgi-perl: Running /usr/bin/speedy as non root result in Segmentation fault
Jose, While running the strace I noticed the non-root user could not create the file in /tmp. Indeed the file permissions on /tmp were 755 in stead of 1777. I changed the permissions and it works like a charm. Sven -Original Message- From: Jose Carlos Garcia Sogo [mailto:[EMAIL PROTECTED] Sent: 02 February 2005 22:42 To: [EMAIL PROTECTED] Cc: [EMAIL PROTECTED] Subject: Bug#292938: speedy-cgi-perl: Running /usr/bin/speedy as non root result in Segmentation fault El mié, 02-02-2005 a las 08:45 +0100, [EMAIL PROTECTED] escribió: > Jose, > > What kind of information do you need ? > > In the mean time I resolved the problem by adding a root sticky-bit on the executable. > (Perhaps it's something the program can't read when run as a non-root > user Please, don't remove CC to the bug #, so BTS can keep track of mails. Having a backtrace of the executable when it hangs could be interesting. Also, you could send me directly a strace of it running (os speedy-cgi-perl, not smokeping) Thanks, -- Jose Carlos Garcia Sogo [EMAIL PROTECTED] blowit:/usr/bin$ strace speedy /usr/lib/cgi-bin/smokeping.cgi execve("/usr/bin/speedy", ["speedy", "/usr/lib/cgi-bin/smokeping.cgi"], [/* 16 vars */]) = 0 uname({sys="Linux", node="blowit", ...}) = 0 brk(0) = 0x8052cd0 old_mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x40017000 access("/etc/ld.so.nohwcap", F_OK) = -1 ENOENT (No such file or directory) open("/etc/ld.so.preload", O_RDONLY)= -1 ENOENT (No such file or directory) open("/etc/ld.so.cache", O_RDONLY) = 3 fstat64(3, {st_mode=S_IFREG|0644, st_size=15630, ...}) = 0 old_mmap(NULL, 15630, PROT_READ, MAP_PRIVATE, 3, 0) = 0x40018000 close(3)= 0 access("/etc/ld.so.nohwcap", F_OK) = -1 ENOENT (No such file or directory) open("/usr/lib/libperl.so.5.8", O_RDONLY) = 3 read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\300\7\2"..., 512) = 512 fstat64(3, {st_mode=S_IFREG|0644, st_size=1150824, ...}) = 0 old_mmap(NULL, 1158176, PROT_READ|PROT_EXEC, MAP_PRIVATE, 3, 0) = 0x4001c000 old_mmap(0x4012b000, 40960, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED, 3, 0x10f000) = 0x4012b000 old_mmap(0x40135000, 7200, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x40135000 close(3)= 0 access("/etc/ld.so.nohwcap", F_OK) = -1 ENOENT (No such file or directory) open("/lib/libc.so.6", O_RDONLY)= 3 read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\200^\1"..., 512) = 512 fstat64(3, {st_mode=S_IFREG|0644, st_size=1244016, ...}) = 0 old_mmap(NULL, 1254180, PROT_READ|PROT_EXEC, MAP_PRIVATE, 3, 0) = 0x40137000 old_mmap(0x4025f000, 32768, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED, 3, 0x127000) = 0x4025f000 old_mmap(0x40267000, 8996, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x40267000 close(3)= 0 access("/etc/ld.so.nohwcap", F_OK) = -1 ENOENT (No such file or directory) open("/lib/libpthread.so.0", O_RDONLY) = 3 read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\340A\0"..., 512) = 512 fstat64(3, {st_mode=S_IFREG|0644, st_size=81127, ...}) = 0 old_mmap(NULL, 331716, PROT_READ|PROT_EXEC, MAP_PRIVATE, 3, 0) = 0x4026a000 old_mmap(0x40277000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED, 3, 0xc000) = 0x40277000 old_mmap(0x40279000, 270276, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x40279000 close(3)= 0 access("/etc/ld.so.nohwcap", F_OK) = -1 ENOENT (No such file or directory) open("/lib/libdl.so.2", O_RDONLY) = 3 read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0p\34\0\000"..., 512) = 512 fstat64(3, {st_mode=S_IFREG|0644, st_size=9872, ...}) = 0 old_mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x402bb000 old_mmap(NULL, 8632, PROT_READ|PROT_EXEC, MAP_PRIVATE, 3, 0) = 0x402bc000 old_mmap(0x402be000, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED, 3, 0x2000) = 0x402be000 close(3)= 0 access("/etc/ld.so.nohwcap", F_OK) = -1 ENOENT (No such file or directory) open("/lib/libm.so.6", O_RDONLY)= 3 read(3, "[EMAIL PROTECTED]"..., 512) = 512 fstat64(3, {st_mode=S_IFREG|0644, st_size=134464, ...}) = 0 old_mmap(NULL, 136944, PROT_READ|PROT_EXEC, MAP_PRIVATE, 3, 0) = 0x402bf000 old_mmap(0x402e, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED, 3, 0x2) = 0x402e close(3)= 0 access("/etc/ld.so.nohwcap", F_OK) = -1 ENOENT (No such file or directory) open("/lib/libcrypt.so.1", O_RDONLY)= 3 read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\0\n\0\000"..., 512) = 512 fstat64(3, {st_mode=S_IFREG|0644, st_size=18780, ...}) = 0 old_mmap(NULL, 181596, PROT_READ|PROT_EXEC, MAP_PRIVATE, 3, 0) = 0x402e1000 old_mmap(0x402e6000, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED, 3,
Bug#292938: speedy-cgi-perl: Running /usr/bin/speedy as non root result in Segmentation fault
Jose, While running the strace I noticed the non-root user could not create the file in /tmp. Indeed the file permissions on /tmp were 755 in stead of 1777. I changed the permissions and it works like a charm. Sven -Original Message- From: Jose Carlos Garcia Sogo [mailto:[EMAIL PROTECTED] Sent: 02 February 2005 22:42 To: [EMAIL PROTECTED] Cc: [EMAIL PROTECTED] Subject: Bug#292938: speedy-cgi-perl: Running /usr/bin/speedy as non root result in Segmentation fault El mié, 02-02-2005 a las 08:45 +0100, [EMAIL PROTECTED] escribió: > Jose, > > What kind of information do you need ? > > In the mean time I resolved the problem by adding a root sticky-bit on the executable. > (Perhaps it's something the program can't read when run as a non-root > user Please, don't remove CC to the bug #, so BTS can keep track of mails. Having a backtrace of the executable when it hangs could be interesting. Also, you could send me directly a strace of it running (os speedy-cgi-perl, not smokeping) Thanks, -- Jose Carlos Garcia Sogo [EMAIL PROTECTED] blowit:/usr/bin$ strace speedy /usr/lib/cgi-bin/smokeping.cgi execve("/usr/bin/speedy", ["speedy", "/usr/lib/cgi-bin/smokeping.cgi"], [/* 16 vars */]) = 0 uname({sys="Linux", node="blowit", ...}) = 0 brk(0) = 0x8052cd0 old_mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x40017000 access("/etc/ld.so.nohwcap", F_OK) = -1 ENOENT (No such file or directory) open("/etc/ld.so.preload", O_RDONLY)= -1 ENOENT (No such file or directory) open("/etc/ld.so.cache", O_RDONLY) = 3 fstat64(3, {st_mode=S_IFREG|0644, st_size=15630, ...}) = 0 old_mmap(NULL, 15630, PROT_READ, MAP_PRIVATE, 3, 0) = 0x40018000 close(3)= 0 access("/etc/ld.so.nohwcap", F_OK) = -1 ENOENT (No such file or directory) open("/usr/lib/libperl.so.5.8", O_RDONLY) = 3 read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\300\7\2"..., 512) = 512 fstat64(3, {st_mode=S_IFREG|0644, st_size=1150824, ...}) = 0 old_mmap(NULL, 1158176, PROT_READ|PROT_EXEC, MAP_PRIVATE, 3, 0) = 0x4001c000 old_mmap(0x4012b000, 40960, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED, 3, 0x10f000) = 0x4012b000 old_mmap(0x40135000, 7200, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x40135000 close(3)= 0 access("/etc/ld.so.nohwcap", F_OK) = -1 ENOENT (No such file or directory) open("/lib/libc.so.6", O_RDONLY)= 3 read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\200^\1"..., 512) = 512 fstat64(3, {st_mode=S_IFREG|0644, st_size=1244016, ...}) = 0 old_mmap(NULL, 1254180, PROT_READ|PROT_EXEC, MAP_PRIVATE, 3, 0) = 0x40137000 old_mmap(0x4025f000, 32768, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED, 3, 0x127000) = 0x4025f000 old_mmap(0x40267000, 8996, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x40267000 close(3)= 0 access("/etc/ld.so.nohwcap", F_OK) = -1 ENOENT (No such file or directory) open("/lib/libpthread.so.0", O_RDONLY) = 3 read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\340A\0"..., 512) = 512 fstat64(3, {st_mode=S_IFREG|0644, st_size=81127, ...}) = 0 old_mmap(NULL, 331716, PROT_READ|PROT_EXEC, MAP_PRIVATE, 3, 0) = 0x4026a000 old_mmap(0x40277000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED, 3, 0xc000) = 0x40277000 old_mmap(0x40279000, 270276, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x40279000 close(3)= 0 access("/etc/ld.so.nohwcap", F_OK) = -1 ENOENT (No such file or directory) open("/lib/libdl.so.2", O_RDONLY) = 3 read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0p\34\0\000"..., 512) = 512 fstat64(3, {st_mode=S_IFREG|0644, st_size=9872, ...}) = 0 old_mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x402bb000 old_mmap(NULL, 8632, PROT_READ|PROT_EXEC, MAP_PRIVATE, 3, 0) = 0x402bc000 old_mmap(0x402be000, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED, 3, 0x2000) = 0x402be000 close(3)= 0 access("/etc/ld.so.nohwcap", F_OK) = -1 ENOENT (No such file or directory) open("/lib/libm.so.6", O_RDONLY)= 3 read(3, "[EMAIL PROTECTED]"..., 512) = 512 fstat64(3, {st_mode=S_IFREG|0644, st_size=134464, ...}) = 0 old_mmap(NULL, 136944, PROT_READ|PROT_EXEC, MAP_PRIVATE, 3, 0) = 0x402bf000 old_mmap(0x402e, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED, 3, 0x2) = 0x402e close(3)= 0 access("/etc/ld.so.nohwcap", F_OK) = -1 ENOENT (No such file or directory) open("/lib/libcrypt.so.1", O_RDONLY)= 3 read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\0\n\0\000"..., 512) = 512 fstat64(3, {st_mode=S_IFREG|0644, st_size=18780, ...}) = 0 old_mmap(NULL, 181596, PROT_READ|PROT_EXEC, MAP_PRIVATE, 3, 0) = 0x402e1000 old_mmap(0x402e6000, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED, 3,