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(0x402e0000, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED, 3, 0x20000) = 0x402e0000 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, 0x4000) = 0x402e6000 old_mmap(0x402e7000, 157020, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x402e7000 close(3) = 0 munmap(0x40018000, 15630) = 0 getrlimit(RLIMIT_STACK, {rlim_cur=RLIM_INFINITY, rlim_max=RLIM_INFINITY}) = 0 setrlimit(RLIMIT_STACK, {rlim_cur=2044*1024, rlim_max=RLIM_INFINITY}) = 0 getpid() = 24592 rt_sigaction(SIGRTMIN, {0x40272030, [], SA_RESTORER, 0x40160678}, NULL, 8) = 0 rt_sigaction(SIGRT_1, {0x40272080, [], SA_RESTORER, 0x40160678}, NULL, 8) = 0 rt_sigaction(SIGRT_2, {0x40272150, [], SA_RESTORER, 0x40160678}, NULL, 8) = 0 rt_sigprocmask(SIG_BLOCK, [RTMIN], NULL, 8) = 0 rt_sigprocmask(SIG_UNBLOCK, [RT_1], NULL, 8) = 0 _sysctl({{CTL_KERN, KERN_VERSION}, 2, 0xbffff9d4, 35, (nil), 0}) = 0 brk(0) = 0x8052cd0 brk(0x8073cd0) = 0x8073cd0 brk(0) = 0x8073cd0 brk(0x8074000) = 0x8074000 fcntl64(0, F_SETFL, O_RDONLY|O_NONBLOCK) = 0 fcntl64(1, F_SETFL, O_WRONLY|O_NONBLOCK) = 0 fcntl64(2, F_SETFL, O_WRONLY|O_NONBLOCK) = 0 ioctl(0, SNDCTL_TMR_TIMEBASE or TCGETS, {B38400 opost isig icanon echo ...}) = 0 gettimeofday({1107411273, 327152}, NULL) = 0 open("/usr/lib/cgi-bin/smokeping.cgi", O_RDONLY|O_LARGEFILE) = 3 fstat64(3, {st_mode=S_IFREG|0755, st_size=365, ...}) = 0 stat64(".", {st_mode=S_IFDIR|0755, st_size=12288, ...}) = 0 mmap2(NULL, 365, PROT_READ, MAP_SHARED, 3, 0) = 0x40018000 munmap(0x40018000, 365) = 0 socket(PF_FILE, SOCK_STREAM, 0) = 4 socket(PF_FILE, SOCK_STREAM, 0) = 5 socket(PF_FILE, SOCK_STREAM, 0) = 6 getuid32() = 33 geteuid32() = 33 open("/tmp/speedy.6.21.F", O_RDWR|O_CREAT|O_LARGEFILE, 0600) = -1 EACCES (Permission denied) getpid() = 24592 --- SIGSEGV (Segmentation fault) @ 0 (0) --- +++ killed by SIGSEGV +++
blowit:/usr/bin$ gdb speedy GNU gdb 6.3-debian Copyright 2004 Free Software Foundation, Inc. GDB is free software, covered by the GNU General Public License, and you are welcome to change it and/or distribute copies of it under certain conditions. Type "show copying" to see the conditions. There is absolutely no warranty for GDB. Type "show warranty" for details. This GDB was configured as "i386-linux"...(no debugging symbols found) Using host libthread_db library "/lib/libthread_db.so.1". (gdb) set args /usr/lib/cgi-bin/smokeping.cgi (gdb) run Starting program: /usr/bin/speedy /usr/lib/cgi-bin/smokeping.cgi (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) [Thread debugging using libthread_db enabled] [New Thread 16384 (LWP 12043)] (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) Program received signal SIGSEGV, Segmentation fault. [Switching to Thread 16384 (LWP 12043)] 0x0804b9d3 in speedy_util_pid_invalidate () (gdb) backtrace #0 0x0804b9d3 in speedy_util_pid_invalidate () #1 0x0804ba68 in speedy_util_die () #2 0x0804e301 in speedy_backend_exited () #3 0x0804e5f3 in speedy_file_size () #4 0x0804e681 in speedy_file_set_state () #5 0x0804d2dd in speedy_frontend_connect () #6 0x0804ab58 in _start () #7 0xbffffbc0 in ?? () #8 0xbffffbbe in ?? () #9 0x00000000 in ?? () #10 0xffffffff in ?? () #11 0xbffffbd0 in ?? () #12 0x401483da in ?? () from /lib/libc.so.6 #13 0x401483da in ?? () from /lib/libc.so.6 #14 0x00000000 in ?? () #15 0x4013cbe0 in ?? () from /lib/libc.so.6 #16 0x00000000 in ?? () #17 0x00000020 in ?? () #18 0x4014847a in ?? () from /lib/libc.so.6 #19 0x4026d1df in ?? () from /lib/libpthread.so.0 #20 0x00000000 in ?? () #21 0x40148490 in ?? () from /lib/libc.so.6 #22 0x40143080 in ?? () from /lib/libc.so.6 #23 0x00000001 in ?? () #24 0x00000000 in ?? () #25 0x00000000 in ?? () #26 0x402bb834 in ?? () #27 0x00000007 in ?? () #28 0x00000008 in ?? () #29 0x00000009 in ?? () #30 0x40145172 in ?? () from /lib/libc.so.6 #31 0x080530e0 in ?? () #32 0x00000200 in ?? () #33 0x0000019f in ?? () #34 0x0ab98982 in ?? () #35 0x4013dc20 in ?? () from /lib/libc.so.6 #36 0xbffffc24 in ?? () #37 0x40016f88 in ?? () #38 0x00000002 in ?? () ---Type <return> to continue, or q <return> to quit--- #39 0x402bb9a8 in ?? () #40 0x00000000 in ?? () #41 0x00000001 in ?? () #42 0xbffffc24 in ?? () #43 0x00000000 in ?? () #44 0x00000000 in ?? () #45 0x401422d0 in ?? () from /lib/libc.so.6 #46 0xbffffc60 in ?? () #47 0x40007a4c in _dl_unload_cache () from /lib/ld-linux.so.2 #48 0x0804b397 in main () (gdb)
smime.p7s
Description: S/MIME cryptographic signature