Co ugryzło LibreOffice?

Łukasz Maśko masko w ipipan.waw.pl
Czw, 2 Cze 2011, 16:48:45 CEST


Nie wiem po którym z update'ów któregoś ze składników systemu LibreOffice 
się na mnie obraził. Nie potrafię powiedzieć po którym, bo dawno go 
używałem.

Gdy próbuję odpalić jego dowolny składnik (dokument tekstowy, grafika czy 
arkusz kalkulacyjny - nie ma znaczenia) z jakimś dokumentem (podawanym jako 
parametr uruchomienia), to dostaję najpierw splash'a uruchomieniowego, potem 
okno z jakby-ładowanym dokumentem, a na koniec wszystko znika i tyle (jeśli 
odpalam z linni komend to dostaję czysty prompt). W dmesgu pojawia się takie 
coś:

soffice.bin[8254]: segfault at 14 ip b778b61e sp bfedf904 error 4 in 
ld-2.14.so[b7782000+1d000]

Końcówka strace -f daje takie coś:

$ strace -f oocalc wyniki.ods
[...]
[pid  8462] lstat64("/usr/lib/libreoffice/ure", {st_mode=S_IFDIR|0755, 
st_size=4096, ...}) = 0
[pid  8462] lstat64("/usr/lib/libreoffice/ure/lib", {st_mode=S_IFDIR|0755, 
st_size=4096, ...}) = 0
[pid  8462] lstat64("/usr/lib/libreoffice/ure/lib/libuno_cppu.so.3", 
{st_mode=S_IFREG|0755, st_size=211468, ...}) = 0
[pid  8462] pread64(20, 
"\10\210*\210\204\334(\210\202\32\304R\r\264\24$\32\1m\322\326\320%\315v5t\223\315\376tw"..., 
4096, 1945600) = 4096
[pid  8462] --- {si_signo=SIGSEGV, si_code=SEGV_MAPERR, si_addr=0x8b087720} 
(Segmentation fault) ---
Process 8461 resumed
Process 8462 detached
[pid  8483] +++ killed by SIGSEGV +++
[pid  8476] +++ killed by SIGSEGV +++
[pid  8471] +++ killed by SIGSEGV +++
[pid  8465] +++ killed by SIGSEGV +++
[pid  8463] +++ killed by SIGSEGV +++
Process 8459 detached
Process 8461 detached

Deskryptor nr 20, który jest używany w ostatnim pread64 dotyczy chyba pliku 
/usr/lib/libreoffice/basis-link/share/config/images_crystal.zip bo w strace 
ostatni open zwracający 20 jest taki:

[pid  8462] access("/usr/lib/libreoffice/program/../basis-
link/share/config/images_crystal.zip", F_OK) = 0
[pid  8462] lstat64("/usr/lib/libreoffice/program/../basis-
link/share/config/images_crystal.zip", {st_mode=S_IFREG|0644, 
st_size=4654052, ...}) = 0
[pid  8462] open("/usr/lib/libreoffice/program/../basis-
link/share/config/images_crystal.zip", O_RDONLY|O_LARGEFILE) = 20
[pid  8462] fstat64(20, {st_mode=S_IFREG|0644, st_size=4654052, ...}) = 0

Tylko że zaraz potem są poprawne operacje na tym pliku, a sam plik 
sprawdzany przez unzip -t też wydaje się być poprawny.

Dowolny składnik LibreOffice uruchamiany z linii polceń _bez_żadnego_ pliku 
do otwarcia powoduje poprawne uruchomienie aplikacja się i jeśli jest już 
otwarta, to można z niej otworzyć dowolny dokument. I wtedy jest OK.

Konfiguracja programowa to Th+ready+test, wszystko najnowsze co jest w CVS, 
architektura i686.

Czy macie może pomysł, co jest popsute?
-- 
Łukasz Maśko                                           GG:   2441498    _o)
Lukasz.Masko(at)ipipan.waw.pl                                           /\\
Registered Linux User #61028                                           _\_V
Ubuntu: staroafrykańskie słowo oznaczające "Nie umiem zainstalować Debiana"


Więcej informacji o liście pld-users-pl