FS#29795 - Libreoffice PYTHONPATH breaks stackless 2.7.2 runtime

Attached to Project: Arch Linux
Opened by Laurent Rahuel (asrenzo) - Monday, 07 May 2012, 09:28 GMT
Last edited by Evangelos Foutras (foutrelis) - Saturday, 19 May 2012, 16:25 GMT
Task Type Bug Report
Category Packages: Extra
Status Closed
Assigned To No-one
Architecture All
Severity Low
Priority Normal
Reported Version
Due in Version Undecided
Due Date Undecided
Percent Complete 100%
Votes 0
Private No

Details

Description:
Manualy compiled stackless python segfaults at launch since latest libreoffice update.

Steps to reproduce:
I have a stackless python 2.7.2 installed in /opt/ for a while now. Since libreoffice's update, I'm not able to launch this binary anymore.
strace telling me a problem occurs while search for types

execve("/opt/stackless-2.7.2/bin/python", ["/opt/stackless-2.7.2/bin/python"], [/* 26 vars */]) = 0
brk(0) = 0x9fed000
mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb77a3000
access("/etc/ld.so.preload", R_OK) = -1 ENOENT (No such file or directory)
open("/etc/ld.so.cache", O_RDONLY|O_CLOEXEC) = 3
fstat64(3, {st_mode=S_IFREG|0644, st_size=165127, ...}) = 0
mmap2(NULL, 165127, PROT_READ, MAP_PRIVATE, 3, 0) = 0xb777a000
close(3) = 0
open("/lib/libpthread.so.0", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0000[\0\0004\0\0\0"..., 512) = 512
fstat64(3, {st_mode=S_IFREG|0755, st_size=130658, ...}) = 0
mmap2(NULL, 107004, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xb775f000
mmap2(0xb7776000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x16) = 0xb7776000
mmap2(0xb7778000, 4604, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0xb7778000
close(3) = 0
open("/lib/libdl.so.2", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\320\n\0\0004\0\0\0"..., 512) = 512
fstat64(3, {st_mode=S_IFREG|0755, st_size=13856, ...}) = 0
mmap2(NULL, 16500, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xb775a000
mmap2(0xb775d000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x2) = 0xb775d000
close(3) = 0
open("/lib/libutil.so.1", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\220\n\0\0004\0\0\0"..., 512) = 512
fstat64(3, {st_mode=S_IFREG|0755, st_size=9816, ...}) = 0
mmap2(NULL, 12416, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xb7756000
mmap2(0xb7758000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x1) = 0xb7758000
close(3) = 0
open("/lib/libm.so.6", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\220D\0\0004\0\0\0"..., 512) = 512
fstat64(3, {st_mode=S_IFREG|0755, st_size=173592, ...}) = 0
mmap2(NULL, 176256, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xb772a000
mmap2(0xb7754000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x29) = 0xb7754000
close(3) = 0
open("/lib/libc.so.6", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\1\1\1\3\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0000\225\1\0004\0\0\0"..., 512) = 512
fstat64(3, {st_mode=S_IFREG|0755, st_size=1950296, ...}) = 0
mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb7729000
mmap2(NULL, 1710692, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xb7587000
mprotect(0xb7722000, 4096, PROT_NONE) = 0
mmap2(0xb7723000, 12288, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x19b) = 0xb7723000
mmap2(0xb7726000, 10852, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0xb7726000
close(3) = 0
mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb7586000
set_thread_area({entry_number:-1 -> 6, base_addr:0xb75866c0, limit:1048575, seg_32bit:1, contents:0, read_exec_only:0, limit_in_pages:1, seg_not_present:0, useable:1}) = 0
mprotect(0xb7723000, 8192, PROT_READ) = 0
mprotect(0xb7754000, 4096, PROT_READ) = 0
mprotect(0xb7758000, 4096, PROT_READ) = 0
mprotect(0xb775d000, 4096, PROT_READ) = 0
mprotect(0xb7776000, 4096, PROT_READ) = 0
mprotect(0xb77c5000, 4096, PROT_READ) = 0
munmap(0xb777a000, 165127) = 0
set_tid_address(0xb7586728) = 12018
set_robust_list(0xb7586730, 12) = 0
rt_sigaction(SIGRTMIN, {0xb77645d0, [], SA_SIGINFO}, NULL, 8) = 0
rt_sigaction(SIGRT_1, {0xb7764660, [], SA_RESTART|SA_SIGINFO}, NULL, 8) = 0
rt_sigprocmask(SIG_UNBLOCK, [RTMIN RT_1], NULL, 8) = 0
getrlimit(RLIMIT_STACK, {rlim_cur=8192*1024, rlim_max=RLIM_INFINITY}) = 0
uname({sys="Linux", node="arch32-00.net-ng.com", ...}) = 0
ioctl(0, SNDCTL_TMR_TIMEBASE or SNDRV_TIMER_IOCTL_NEXT_DEVICE or TCGETS, {B38400 opost isig icanon echo ...}) = 0
brk(0) = 0x9fed000
brk(0xa00e000) = 0xa00e000
mmap2(NULL, 266240, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb7545000
open("/proc/meminfo", O_RDONLY|O_CLOEXEC) = 3
fstat64(3, {st_mode=S_IFREG|0444, st_size=0, ...}) = 0
mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb77a2000
read(3, "MemTotal: 3617184 kB\nMemF"..., 1024) = 1024
close(3) = 0
munmap(0xb77a2000, 4096) = 0
fstat64(0, {st_mode=S_IFCHR|0620, st_rdev=makedev(136, 2), ...}) = 0
fstat64(0, {st_mode=S_IFCHR|0620, st_rdev=makedev(136, 2), ...}) = 0
fstat64(1, {st_mode=S_IFCHR|0620, st_rdev=makedev(136, 2), ...}) = 0
fstat64(2, {st_mode=S_IFCHR|0620, st_rdev=makedev(136, 2), ...}) = 0
readlink("/opt/stackless-2.7.2/bin/python", 0xbfbd9bec, 4096) = -1 EINVAL (Invalid argument)
stat64("/opt/stackless-2.7.2/bin/Modules/Setup", 0xbfbd9bec) = -1 ENOENT (No such file or directory)
stat64("/opt/stackless-2.7.2/bin/lib/python2.7/os.py", 0xbfbd9bec) = -1 ENOENT (No such file or directory)
stat64("/opt/stackless-2.7.2/bin/lib/python2.7/os.pyc", 0xbfbd9bec) = -1 ENOENT (No such file or directory)
stat64("/opt/stackless-2.7.2/lib/python2.7/os.py", {st_mode=S_IFREG|0644, st_size=26300, ...}) = 0
stat64("/opt/stackless-2.7.2/bin/Modules/Setup", 0xbfbd8b88) = -1 ENOENT (No such file or directory)
stat64("/opt/stackless-2.7.2/bin/lib/python2.7/lib-dynload", 0xbfbd8b88) = -1 ENOENT (No such file or directory)
stat64("/opt/stackless-2.7.2/lib/python2.7/lib-dynload", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
rt_sigaction(SIGPIPE, {SIG_IGN, [], 0}, {SIG_DFL, [], 0}, 8) = 0
rt_sigaction(SIGXFSZ, {SIG_IGN, [], 0}, {SIG_DFL, [], 0}, 8) = 0
rt_sigaction(SIGHUP, NULL, {SIG_DFL, [], 0}, 8) = 0
rt_sigaction(SIGINT, NULL, {SIG_DFL, [], 0}, 8) = 0
rt_sigaction(SIGQUIT, NULL, {SIG_DFL, [], 0}, 8) = 0
rt_sigaction(SIGILL, NULL, {SIG_DFL, [], 0}, 8) = 0
rt_sigaction(SIGTRAP, NULL, {SIG_DFL, [], 0}, 8) = 0
rt_sigaction(SIGABRT, NULL, {SIG_DFL, [], 0}, 8) = 0
rt_sigaction(SIGBUS, NULL, {SIG_DFL, [], 0}, 8) = 0
rt_sigaction(SIGFPE, NULL, {SIG_DFL, [], 0}, 8) = 0
rt_sigaction(SIGKILL, NULL, {SIG_DFL, [], 0}, 8) = 0
rt_sigaction(SIGUSR1, NULL, {SIG_DFL, [], 0}, 8) = 0
rt_sigaction(SIGSEGV, NULL, {SIG_DFL, [], 0}, 8) = 0
rt_sigaction(SIGUSR2, NULL, {SIG_DFL, [], 0}, 8) = 0
rt_sigaction(SIGPIPE, NULL, {SIG_IGN, [], 0}, 8) = 0
rt_sigaction(SIGALRM, NULL, {SIG_DFL, [], 0}, 8) = 0
rt_sigaction(SIGTERM, NULL, {SIG_DFL, [], 0}, 8) = 0
rt_sigaction(SIGSTKFLT, NULL, {SIG_DFL, [], 0}, 8) = 0
rt_sigaction(SIGCHLD, NULL, {SIG_DFL, [], 0}, 8) = 0
rt_sigaction(SIGCONT, NULL, {SIG_DFL, [], 0}, 8) = 0
rt_sigaction(SIGSTOP, NULL, {SIG_DFL, [], 0}, 8) = 0
rt_sigaction(SIGTSTP, NULL, {SIG_DFL, [], 0}, 8) = 0
rt_sigaction(SIGTTIN, NULL, {SIG_DFL, [], 0}, 8) = 0
rt_sigaction(SIGTTOU, NULL, {SIG_DFL, [], 0}, 8) = 0
rt_sigaction(SIGURG, NULL, {SIG_DFL, [], 0}, 8) = 0
rt_sigaction(SIGXCPU, NULL, {SIG_DFL, [], 0}, 8) = 0
rt_sigaction(SIGXFSZ, NULL, {SIG_IGN, [], 0}, 8) = 0
rt_sigaction(SIGVTALRM, NULL, {SIG_DFL, [], 0}, 8) = 0
rt_sigaction(SIGPROF, NULL, {SIG_DFL, [], 0}, 8) = 0
rt_sigaction(SIGWINCH, NULL, {SIG_DFL, [], 0}, 8) = 0
rt_sigaction(SIGIO, NULL, {SIG_DFL, [], 0}, 8) = 0
rt_sigaction(SIGPWR, NULL, {SIG_DFL, [], 0}, 8) = 0
rt_sigaction(SIGSYS, NULL, {SIG_DFL, [], 0}, 8) = 0
rt_sigaction(SIGRT_2, NULL, {SIG_DFL, [], 0}, 8) = 0
rt_sigaction(SIGRT_3, NULL, {SIG_DFL, [], 0}, 8) = 0
rt_sigaction(SIGRT_4, NULL, {SIG_DFL, [], 0}, 8) = 0
rt_sigaction(SIGRT_5, NULL, {SIG_DFL, [], 0}, 8) = 0
rt_sigaction(SIGRT_6, NULL, {SIG_DFL, [], 0}, 8) = 0
rt_sigaction(SIGRT_7, NULL, {SIG_DFL, [], 0}, 8) = 0
rt_sigaction(SIGRT_8, NULL, {SIG_DFL, [], 0}, 8) = 0
rt_sigaction(SIGRT_9, NULL, {SIG_DFL, [], 0}, 8) = 0
rt_sigaction(SIGRT_10, NULL, {SIG_DFL, [], 0}, 8) = 0
rt_sigaction(SIGRT_11, NULL, {SIG_DFL, [], 0}, 8) = 0
rt_sigaction(SIGRT_12, NULL, {SIG_DFL, [], 0}, 8) = 0
rt_sigaction(SIGRT_13, NULL, {SIG_DFL, [], 0}, 8) = 0
rt_sigaction(SIGRT_14, NULL, {SIG_DFL, [], 0}, 8) = 0
rt_sigaction(SIGRT_15, NULL, {SIG_DFL, [], 0}, 8) = 0
rt_sigaction(SIGRT_16, NULL, {SIG_DFL, [], 0}, 8) = 0
rt_sigaction(SIGRT_17, NULL, {SIG_DFL, [], 0}, 8) = 0
rt_sigaction(SIGRT_18, NULL, {SIG_DFL, [], 0}, 8) = 0
rt_sigaction(SIGRT_19, NULL, {SIG_DFL, [], 0}, 8) = 0
rt_sigaction(SIGRT_20, NULL, {SIG_DFL, [], 0}, 8) = 0
rt_sigaction(SIGRT_21, NULL, {SIG_DFL, [], 0}, 8) = 0
rt_sigaction(SIGRT_22, NULL, {SIG_DFL, [], 0}, 8) = 0
rt_sigaction(SIGRT_23, NULL, {SIG_DFL, [], 0}, 8) = 0
rt_sigaction(SIGRT_24, NULL, {SIG_DFL, [], 0}, 8) = 0
rt_sigaction(SIGRT_25, NULL, {SIG_DFL, [], 0}, 8) = 0
rt_sigaction(SIGRT_26, NULL, {SIG_DFL, [], 0}, 8) = 0
rt_sigaction(SIGRT_27, NULL, {SIG_DFL, [], 0}, 8) = 0
rt_sigaction(SIGRT_28, NULL, {SIG_DFL, [], 0}, 8) = 0
rt_sigaction(SIGRT_29, NULL, {SIG_DFL, [], 0}, 8) = 0
rt_sigaction(SIGRT_30, NULL, {SIG_DFL, [], 0}, 8) = 0
rt_sigaction(SIGRT_31, NULL, {SIG_DFL, [], 0}, 8) = 0
rt_sigaction(SIGRT_32, NULL, {SIG_DFL, [], 0}, 8) = 0
rt_sigaction(SIGINT, {0x81241c0, [], 0}, {SIG_DFL, [], 0}, 8) = 0
stat64("copy_reg", 0xbfbd696c) = -1 ENOENT (No such file or directory)
open("copy_reg.so", O_RDONLY|O_LARGEFILE) = -1 ENOENT (No such file or directory)
open("copy_regmodule.so", O_RDONLY|O_LARGEFILE) = -1 ENOENT (No such file or directory)
open("copy_reg.py", O_RDONLY|O_LARGEFILE) = -1 ENOENT (No such file or directory)
open("copy_reg.pyc", O_RDONLY|O_LARGEFILE) = -1 ENOENT (No such file or directory)
stat64("/usr/lib/libreoffice/program", {st_mode=S_IFDIR|0755, st_size=12288, ...}) = 0
stat64("/usr/lib/libreoffice/program", {st_mode=S_IFDIR|0755, st_size=12288, ...}) = 0
stat64("/usr/lib/libreoffice/program/copy_reg", 0xbfbd696c) = -1 ENOENT (No such file or directory)
open("/usr/lib/libreoffice/program/copy_reg.so", O_RDONLY|O_LARGEFILE) = -1 ENOENT (No such file or directory)
open("/usr/lib/libreoffice/program/copy_regmodule.so", O_RDONLY|O_LARGEFILE) = -1 ENOENT (No such file or directory)
open("/usr/lib/libreoffice/program/copy_reg.py", O_RDONLY|O_LARGEFILE) = -1 ENOENT (No such file or directory)
open("/usr/lib/libreoffice/program/copy_reg.pyc", O_RDONLY|O_LARGEFILE) = -1 ENOENT (No such file or directory)
stat64("/opt/stackless-2.7.2/lib/python27.zip", 0xbfbd5828) = -1 ENOENT (No such file or directory)
stat64("/opt/stackless-2.7.2/lib", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
stat64("/opt/stackless-2.7.2/lib/python27.zip", 0xbfbd67e0) = -1 ENOENT (No such file or directory)
stat64("/opt/stackless-2.7.2/lib/python2.7/", {st_mode=S_IFDIR|0755, st_size=20480, ...}) = 0
stat64("/opt/stackless-2.7.2/lib/python2.7/", {st_mode=S_IFDIR|0755, st_size=20480, ...}) = 0
stat64("/opt/stackless-2.7.2/lib/python2.7/copy_reg", 0xbfbd696c) = -1 ENOENT (No such file or directory)
open("/opt/stackless-2.7.2/lib/python2.7/copy_reg.so", O_RDONLY|O_LARGEFILE) = -1 ENOENT (No such file or directory)
open("/opt/stackless-2.7.2/lib/python2.7/copy_regmodule.so", O_RDONLY|O_LARGEFILE) = -1 ENOENT (No such file or directory)
open("/opt/stackless-2.7.2/lib/python2.7/copy_reg.py", O_RDONLY|O_LARGEFILE) = 3
fstat64(3, {st_mode=S_IFREG|0644, st_size=7120, ...}) = 0
open("/opt/stackless-2.7.2/lib/python2.7/copy_reg.pyc", O_RDONLY|O_LARGEFILE) = 4
fstat64(4, {st_mode=S_IFREG|0644, st_size=5390, ...}) = 0
mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb77a2000
read(4, "\3\363\r\n\203\213\247Oc\0\0\0\0\0\0\0\0\5\0\0\0@\0\0\0s\326\0\0\0d\0"..., 4096) = 4096
fstat64(4, {st_mode=S_IFREG|0644, st_size=5390, ...}) = 0
brk(0xa02f000) = 0xa02f000
read(4, "\0\26\203\1\0\202\1\0n\0\0|\2\0t\4\0k\6\0r\300\0t\1\0d\6\0|\2\0"..., 4096) = 1294
read(4, "", 4096) = 0
close(4) = 0
munmap(0xb77a2000, 4096) = 0
stat64("types", 0xbfbcf43c) = -1 ENOENT (No such file or directory)
open("types.so", O_RDONLY|O_LARGEFILE) = -1 ENOENT (No such file or directory)
open("typesmodule.so", O_RDONLY|O_LARGEFILE) = -1 ENOENT (No such file or directory)
open("types.py", O_RDONLY|O_LARGEFILE) = -1 ENOENT (No such file or directory)
open("types.pyc", O_RDONLY|O_LARGEFILE) = -1 ENOENT (No such file or directory)
stat64("/usr/lib/libreoffice/program/types", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
stat64("/usr/lib/libreoffice/program/types/__init__.py", 0xbfbcf370) = -1 ENOENT (No such file or directory)
stat64("/usr/lib/libreoffice/program/types/__init__.pyc", 0xbfbcf370) = -1 ENOENT (No such file or directory)
--- SIGSEGV {si_signo=SIGSEGV, si_code=SEGV_MAPERR, si_addr=0x4} ---
+++ killed by SIGSEGV +++


I noticed that file /etc/profile.d/libreoffice-common.sh is setting PYTHONPATH globaly to PYTHONPATH:/usr/lib/libreoffice/program.

Unsetting this value from my shell will fix the segfault.

Could you please remove this env setting as it is only helpfull only when using libreoffice. Thus my env won't be polluted with extra path I'm not using.

Regards,

Laurent Rahuel
This task depends upon

Closed by  Evangelos Foutras (foutrelis)
Saturday, 19 May 2012, 16:25 GMT
Reason for closing:  Duplicate
Additional comments about closing:   FS#27257 

Loading...