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)

Attachment: smime.p7s
Description: S/MIME cryptographic signature

Reply via email to