Summary: | Segmentation fault | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Product: | Sisyphus | Reporter: | Roman Savochenko <rom_as> | ||||||||
Component: | glaxium | Assignee: | Ilya Mashkin <oddity> | ||||||||
Status: | CLOSED FIXED | QA Contact: | qa-sisyphus | ||||||||
Severity: | critical | ||||||||||
Priority: | P2 | CC: | oddity, php-coder | ||||||||
Version: | unstable | ||||||||||
Hardware: | all | ||||||||||
OS: | Linux | ||||||||||
Attachments: |
|
Description
Roman Savochenko
2007-06-20 10:09:58 MSD
А если попробовать из под strace запустить? Она и на Сизифе не запускается с аналогичной симптоматикой, у меня, по крайней мере. Тогда меняю компонент на Сизиф. Created attachment 2283 [details]
strace.log.gz
Вкладываю протокол strace.
open("/usr/share/games/glaxium/samples/welcome.wav", O_RDONLY) = 8 ... close(8) ... open("/usr/share/games/glaxium/samples/gameover.wav", O_RDONLY) = 8 ... close(8) = 0 ... open(NULL, O_RDONLY) = -1 EFAULT (Bad address) open(NULL, O_RDWR|O_CREAT|O_TRUNC, 0666) = -1 EFAULT (Bad address) --- SIGSEGV (Segmentation fault) @ 0 (0) --- Мда.. код-то где смотреть? Так. Смотрим здесь: http://bugs.gentoo.org/buglist.cgi?query_format=specific&order=relevance+desc&bug_status=__all__&product=Gentoo+Linux&content=glaxium Насколько понимаю, в Gentoo были подобные проблемы и они их решили. Надо взять у них патч для компиляции под gcc4.1 и оторвать из спека жесткую зависимость на старый GCC, также надо взять у них патчи для фикса этой баги и, возможно, других. Спасибо, кое-что поправил, с gcc 4.1 не хочет пока пересобираться. Но за то не падает. См. glaxium-0.5-alt5 Я вчера проверял -alt5 и у меня не работало (см. моё письмо в devel@). У меня тоже не работает. Не работает. Увы, и у меня не работает... (а игрушка-то популярная, оказывается :) Однако :) При пересборке на локальной машине - работает. После прохода через Сизиф - падает. Slava Semushin: а что за письмо в devel@? Не нахожу ничего. (In reply to comment #13) > Slava Semushin: а что за письмо в devel@? Не нахожу ничего. http://lists.altlinux.org/pipermail/devel/2007-December/067741.html Created attachment 2339 [details]
glaxium-0.5-gcc41.patch
Если кому надо гентушных патчей...
Created attachment 2340 [details] glaxium-0.5-glx.patch ...обращайтесь -- их есть у нас под рукой :) Или см. http://search.linux.kiev.ua (в данном случае http://tinyurl.com/23fjrr) Что, до сих пор не исправлено?! Я могу исправить. 2oddity@: дашь NMU? хорошо бы! PASS: nmu glaxium php-coder => 2008-08-15 00:10:04 Вот где падает (variables.cpp): 449 char* GlaxiumVariables::getFullOptionsPath() { 450 #ifdef WIN32 451 return "glaxiumrc"; 452 #else 453 static char strReturn[1024]; 454 strcpy(strReturn, getenv("HOME")); 455 strcat(strReturn, "/.glaxiumrc"); 456 #endif 457 } Я не знаю как этот код работал раньше, потому что здесь ф-ция не возвращает ничего (забыл return strReturn в случае, если не-Windows). Также здесь возможен тривиальный buffer overflow, если значение $HOME будет больше 1012 символов. Исправил в 0.5-alt6 -- проверяйте и закрывайте баг. Также опубликовал в git: http://git.altlinux.org/people/php_coder/packages/?p=glaxium.git;a=summary 2oddity@: в дальнейшем было бы желательно все сборки держать в git-е и вам сделать клон с моего репозитория. |