Same in 9.04 i686. $ cat /etc/lsb-release DISTRIB_ID=Ubuntu DISTRIB_RELEASE=9.04 DISTRIB_CODENAME=jaunty DISTRIB_DESCRIPTION="Ubuntu 9.04" $ cat /etc/issue Ubuntu 9.04 \n \l $ uname -a Linux jimmy-desktop 2.6.28-12-generic #43-Ubuntu SMP Fri May 1 19:27:06 UTC 2009 i686 GNU/Linux Crash when execute helix-player with no root user (Segmentation fault). $ strace helix-player execve("/usr/bin/helix-player", ["helix-player"], [/* 37 vars */]) = 0 brk(0) = 0x8d7b000 access("/etc/ld.so.nohwcap", F_OK) = -1 ENOENT (No such file or directory) mmap2(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb805c000 access("/etc/ld.so.preload", R_OK) = -1 ENOENT (No such file or directory) open("/etc/ld.so.cache", O_RDONLY) = 3 fstat64(3, {st_mode=S_IFREG|0644, st_size=82045, ...}) = 0 mmap2(NULL, 82045, PROT_READ, MAP_PRIVATE, 3, 0) = 0xb8047000 close(3) = 0 access("/etc/ld.so.nohwcap", F_OK) = -1 ENOENT (No such file or directory) open("/lib/tls/i686/cmov/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\320h\1\0004\0\0\0\344"..., 512) = 512 fstat64(3, {st_mode=S_IFREG|0755, st_size=1442180, ...}) = 0 mmap2(NULL, 1451632, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xb7ee4000 mprotect(0xb8040000, 4096, PROT_NONE) = 0 mmap2(0xb8041000, 12288, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x15c) = 0xb8041000 mmap2(0xb8044000, 9840, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0xb8044000 close(3) = 0 mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb7ee3000 set_thread_area({entry_number:-1 -> 6, base_addr:0xb7ee38d0, limit:1048575, seg_32bit:1, contents:0, read_exec_only:0, limit_in_pages:1, seg_not_present:0, useable:1}) = 0 open("/dev/urandom", O_RDONLY) = 3 read(3, "\271U\26\331"..., 4) = 4 close(3) = 0 mprotect(0xb8041000, 8192, PROT_READ) = 0 mprotect(0x805d000, 4096, PROT_READ) = 0 mprotect(0xb807b000, 4096, PROT_READ) = 0 munmap(0xb8047000, 82045) = 0 getpid() = 6149 rt_sigaction(SIGCHLD, {SIG_DFL}, {SIG_DFL}, 8) = 0 geteuid32() = 1000 brk(0) = 0x8d7b000 brk(0x8d9c000) = 0x8d9c000 getppid() = 6148 stat64("/", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0 stat64(".", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0 open("/usr/bin/helix-player", O_RDONLY) = 3 fcntl64(3, F_DUPFD, 10) = 10 close(3) = 0 fcntl64(10, F_SETFD, FD_CLOEXEC) = 0 rt_sigaction(SIGINT, NULL, {SIG_DFL}, 8) = 0 rt_sigaction(SIGINT, {0x8056770, ~[RTMIN RT_1], 0}, NULL, 8) = 0 rt_sigaction(SIGQUIT, NULL, {SIG_DFL}, 8) = 0 rt_sigaction(SIGQUIT, {SIG_DFL}, NULL, 8) = 0 rt_sigaction(SIGTERM, NULL, {SIG_DFL}, 8) = 0 rt_sigaction(SIGTERM, {SIG_DFL}, NULL, 8) = 0 read(10, "#!/bin/sh\n\nHELIX_LIBS=\"/usr/lib/h"..., 8192) = 2088 stat64("/usr/lib/helix/player", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0 pipe([3, 4]) = 0 clone(child_stack=0, flags=CLONE_CHILD_CLEARTID|CLONE_CHILD_SETTID|SIGCHLD, child_tidptr=0xb7ee3918) = 6150 close(4) = 0 read(3, "\n"..., 128) = 1 read(3, ""..., 128) = 0 close(3) = 0 wait4(-1, [{WIFEXITED(s) && WEXITSTATUS(s) == 0}], 0, NULL) = 6150 --- SIGCHLD (Child exited) @ 0 (0) --- pipe([3, 4]) = 0 clone(child_stack=0, flags=CLONE_CHILD_CLEARTID|CLONE_CHILD_SETTID|SIGCHLD, child_tidptr=0xb7ee3918) = 6153 --- SIGCHLD (Child exited) @ 0 (0) --- close(4) = 0 read(3, "/usr/bin/catchsegv\n"..., 128) = 19 read(3, ""..., 128) = 0 close(3) = 0 wait4(-1, [{WIFEXITED(s) && WEXITSTATUS(s) == 0}], 0, NULL) = 6153 stat64("/usr/bin/catchsegv", {st_mode=S_IFREG|0755, st_size=3380, ...}) = 0 geteuid32() = 1000 getgid32() = 1000 getegid32() = 1000 getgroups32(0, NULL) = 18 getgroups32(18, [0, 4, 20, 21, 24, 26, 29, 30, 44, 46, 100, 104, 106, 108, 114, 123, 124, 1000]) = 18 clone(child_stack=0, flags=CLONE_CHILD_CLEARTID|CLONE_CHILD_SETTID|SIGCHLD, child_tidptr=0xb7ee3918) = 6154 --- SIGCHLD (Child exited) @ 0 (0) --- wait4(-1, [{WIFEXITED(s) && WEXITSTATUS(s) == 0}], 0, NULL) = 6154 clone(child_stack=0, flags=CLONE_CHILD_CLEARTID|CLONE_CHILD_SETTID|SIGCHLD, child_tidptr=0xb7ee3918) = 6155 wait4(-1, [{WIFSIGNALED(s) && WTERMSIG(s) == SIGSEGV}], 0, NULL) = 6155 --- SIGCHLD (Child exited) @ 0 (0) --- write(2, "Segmentation fault\n"..., 19Segmentation fault ) = 19 read(10, ""..., 8192) = 0 exit_group(0) = ? Work if run with root user. $ sudo strace helix-player execve("/usr/bin/helix-player", ["helix-player"], [/* 16 vars */]) = 0 brk(0) = 0x895e000 access("/etc/ld.so.nohwcap", F_OK) = -1 ENOENT (No such file or directory) mmap2(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb7fc5000 access("/etc/ld.so.preload", R_OK) = -1 ENOENT (No such file or directory) open("/etc/ld.so.cache", O_RDONLY) = 3 fstat64(3, {st_mode=S_IFREG|0644, st_size=82045, ...}) = 0 mmap2(NULL, 82045, PROT_READ, MAP_PRIVATE, 3, 0) = 0xb7fb0000 close(3) = 0 access("/etc/ld.so.nohwcap", F_OK) = -1 ENOENT (No such file or directory) open("/lib/tls/i686/cmov/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\320h\1\0004\0\0\0\344"..., 512) = 512 fstat64(3, {st_mode=S_IFREG|0755, st_size=1442180, ...}) = 0 mmap2(NULL, 1451632, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xb7e4d000 mprotect(0xb7fa9000, 4096, PROT_NONE) = 0 mmap2(0xb7faa000, 12288, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x15c) = 0xb7faa000 mmap2(0xb7fad000, 9840, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0xb7fad000 close(3) = 0 mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb7e4c000 set_thread_area({entry_number:-1 -> 6, base_addr:0xb7e4c8d0, limit:1048575, seg_32bit:1, contents:0, read_exec_only:0, limit_in_pages:1, seg_not_present:0, useable:1}) = 0 open("/dev/urandom", O_RDONLY) = 3 read(3, "0\271\16G"..., 4) = 4 close(3) = 0 mprotect(0xb7faa000, 8192, PROT_READ) = 0 mprotect(0x805d000, 4096, PROT_READ) = 0 mprotect(0xb7fe4000, 4096, PROT_READ) = 0 munmap(0xb7fb0000, 82045) = 0 getpid() = 11574 rt_sigaction(SIGCHLD, {SIG_DFL}, {SIG_DFL}, 8) = 0 geteuid32() = 0 brk(0) = 0x895e000 brk(0x897f000) = 0x897f000 getppid() = 11573 getcwd("/"..., 4096) = 2 open("/usr/bin/helix-player", O_RDONLY) = 3 fcntl64(3, F_DUPFD, 10) = 10 close(3) = 0 fcntl64(10, F_SETFD, FD_CLOEXEC) = 0 rt_sigaction(SIGINT, NULL, {SIG_DFL}, 8) = 0 rt_sigaction(SIGINT, {0x8056770, ~[RTMIN RT_1], 0}, NULL, 8) = 0 rt_sigaction(SIGQUIT, NULL, {SIG_DFL}, 8) = 0 rt_sigaction(SIGQUIT, {SIG_DFL}, NULL, 8) = 0 rt_sigaction(SIGTERM, NULL, {SIG_DFL}, 8) = 0 rt_sigaction(SIGTERM, {SIG_DFL}, NULL, 8) = 0 read(10, "#!/bin/sh\n\nHELIX_LIBS=\"/usr/lib/h"..., 8192) = 2088 stat64("/usr/lib/helix/player", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0 pipe([3, 4]) = 0 clone(child_stack=0, flags=CLONE_CHILD_CLEARTID|CLONE_CHILD_SETTID|SIGCHLD, child_tidptr=0xb7e4c918) = 11575 close(4) = 0 read(3, "\n"..., 128) = 1 read(3, ""..., 128) = 0 close(3) = 0 wait4(-1, [{WIFEXITED(s) && WEXITSTATUS(s) == 0}], 0, NULL) = 11575 --- SIGCHLD (Child exited) @ 0 (0) --- pipe([3, 4]) = 0 clone(child_stack=0, flags=CLONE_CHILD_CLEARTID|CLONE_CHILD_SETTID|SIGCHLD, child_tidptr=0xb7e4c918) = 11578 --- SIGCHLD (Child exited) @ 0 (0) --- close(4) = 0 read(3, "/usr/bin/catchsegv\n"..., 128) = 19 read(3, ""..., 128) = 0 close(3) = 0 wait4(-1, [{WIFEXITED(s) && WEXITSTATUS(s) == 0}], 0, NULL) = 11578 stat64("/usr/bin/catchsegv", {st_mode=S_IFREG|0755, st_size=3380, ...}) = 0 geteuid32() = 0 clone(child_stack=0, flags=CLONE_CHILD_CLEARTID|CLONE_CHILD_SETTID|SIGCHLD, child_tidptr=0xb7e4c918) = 11579 --- SIGCHLD (Child exited) @ 0 (0) --- wait4(-1, [{WIFEXITED(s) && WEXITSTATUS(s) == 0}], 0, NULL) = 11579 clone(child_stack=0, flags=CLONE_CHILD_CLEARTID|CLONE_CHILD_SETTID|SIGCHLD, child_tidptr=0xb7e4c918) = 11580 wait4(-1, [{WIFEXITED(s) && WEXITSTATUS(s) == 0}], 0, NULL) = 11580 --- SIGCHLD (Child exited) @ 0 (0) --- read(10, ""..., 8192) = 0 exit_group(0) = ?