Rendszer: Arch, x86_64, nagyjából néhány naponta a repo-val szinkronban tartva. Nincs különösebben szétberhelve, de azért vannak aur-ból forgatott csomagok. Van rajta egy VMware Workstation 6.5.3 is. Legális kulcssal, semmi crack vagy egyéb utólagos módosítás nincs rajta.
A következő bugot szívtam be tegnap:
pacman -S -u update a legfrissebb csomagokra. Mivel volt kernel frissülés, ezért reboot, majd vmware-modconfig. Itt jött a hidegzuhany:
/usr/bin/vmware: line 31: 2645 Segmentation fault "$BINDIR"/vmware-modconfig --appname="VMware Workstation" --icon="vmware-workstation"
(az output a /usr/bin/vmware script indításából jött, most éppen ilyen output volt kéznél, a segfault ugyanúgy megvan kézi indításnál is)
A /usr/bin/vmware-modconfig valójában egy script ami kétféle binárist indíthat el: /usr/lib/vmware/bin/vmware-modconfig (ez a grafikus, ez segfaultol), /usr/lib/vmware/bin/vmware-modconfig-console (ez konzolos, ez működik, egyébként a --console opcióval is kényszeríthető, hogy ez fusson).
Kézzel a -console --install-all opciókkal le tudtam forgatni a modulokat, ezzel nem volt semmi gond. A gond ott van, hogy a /usr/bin/vmware indítása során előbb meghívja a vmware-modconfig *grafikus* változatát, ami általam még nem teljesen megértett módon előkészíti a terepet a workstation binárisnak. Próbáltam kiszedni a scriptből az indítását, de enélkül az nem fut, Így értelemszerűen, a segfaultoló vmware-modconfig egy kritikus probléma.
Strace-szel megpróbáltam kideríteni, hogy mégis hol száll el, de csak annyit látok, hogy az /usr/lib/vmware/modules/modules.xml-ből való olvasás az utolsó, ami sikerül:
open("/usr/lib/vmware/modules/modules.xml", O_RDONLY) = 11
lseek(11, 0, SEEK_CUR) = 0
read(11, "<?xml version=\"1.0\" encoding=\"ut"..., 8192) = 542
read(11, "", 7650) = 0
--- SIGSEGV (Segmentation fault) @ 0 (0) ---
+++ killed by SIGSEGV +++
Végül próba-szerencse módszerrel downgrade-eltem a csomagokat és végül azt találtam, hogy a zlib frissítése 1.2.3.4-4 verzióról az 1.2.3.7-2 re okozza a bajt.
Kérdéseim:
- Más is tapasztalt-e hasonlót az új zlibbel vagy csak nálam van vele baj? Bugreport még biztos nincs róla, addig nem is akarnék, amíg nem vagyok biztos benne, hogy nem csak nálam van a baj.
- Hogyan lehetne kideríteni/mit szoktatok használni arra, hogy pontosan milyen hívás okozza a hibát? Tudok-e valahogy strace-hez hasonlóan a sima library call-okra is valahogy egyszerűen trace-elni? Itt ugyebár nincs forrás és nincs debug build, gdb-ven nem igazán mentem sokra, de ez lehet, hogy azért van, mert nem értek hozzá eléggé.
- 1035 megtekintés
Hozzászólások
Na hát akkor válaszolnék magamnak, valamint esetleg mások okulására: ltrace a barátom.
---
Internet Memetikai Tanszék
- A hozzászóláshoz be kell jelentkezni
Sajnos nem tudtam valaszolni az alapkerdesedre, de koszi hogy megosztottad velunk amit talaltal mert meg nem talalkoztam az ltrace-szel!
- A hozzászóláshoz be kell jelentkezni