Bug 12085 - Segmentation fault
Summary: Segmentation fault
Status: CLOSED FIXED
Alias: None
Product: Sisyphus
Classification: Development
Component: glaxium (show other bugs)
Version: unstable
Hardware: all Linux
: P2 critical
Assignee: Ilya Mashkin
QA Contact: qa-sisyphus
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2007-06-20 10:09 MSD by Roman Savochenko
Modified: 2008-08-30 00:04 MSD (History)
2 users (show)

See Also:


Attachments
strace.log.gz (22.27 KB, application/octet-stream)
2007-11-22 11:23 MSK, Roman Savochenko
no flags Details
glaxium-0.5-gcc41.patch (808 bytes, patch)
2007-12-26 22:24 MSK, Michael Shigorin
no flags Details | Diff
glaxium-0.5-glx.patch (1.97 KB, patch)
2007-12-26 22:27 MSK, Michael Shigorin
no flags Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Roman Savochenko 2007-06-20 10:09:58 MSD
Branch 4.0: 15.06.2007
Проверялось на двух машинах.
При запуске открывается окно и сразу исчезает. Сообщается следующее:
//--------------------------------------------------------------------//
[roman@roman roman]$ glaxium
Depth buffer depth : 24
Stencil buffer will be used for shadows.
Found textures in /usr/share/games/glaxium
Number of texture units               : 2
 Cannot load dot3 extension neither NVidia neither ARB.
 Fall back to basic openGL. The floor will be very simple.
Glaxium will use anisotropy texture : 2.000000
Opened audio at 22050 Hz 16 bit stereo, 1024 bytes audio buffer
Number of mixing channels : 22
No SDL joystick found...
Segmentation fault
Comment 1 Slava Semushin 2007-11-20 09:24:55 MSK
А если попробовать из под strace запустить?
Comment 2 Alexey Rusakov 2007-11-20 09:53:13 MSK
Она и на Сизифе не запускается с аналогичной симптоматикой, у меня, по крайней мере.
Comment 3 Slava Semushin 2007-11-20 10:00:13 MSK
Тогда меняю компонент на Сизиф.
Comment 4 Roman Savochenko 2007-11-22 11:23:55 MSK
Created attachment 2283 [details]
strace.log.gz

Вкладываю протокол strace.
Comment 5 Slava Semushin 2007-11-22 11:45:38 MSK
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) ---

Мда.. код-то где смотреть?

Comment 6 Slava Semushin 2007-11-22 12:33:59 MSK
Так. Смотрим здесь:
http://bugs.gentoo.org/buglist.cgi?query_format=specific&order=relevance+desc&bug_status=__all__&product=Gentoo+Linux&content=glaxium

Насколько понимаю, в Gentoo были подобные проблемы и они их решили. Надо взять у
них патч для компиляции под gcc4.1 и оторвать из спека жесткую зависимость на
старый GCC, также надо взять у них патчи для фикса этой баги и, возможно, других.
Comment 7 Ilya Mashkin 2007-12-24 23:43:04 MSK
Спасибо, кое-что поправил, с gcc 4.1 не хочет пока пересобираться. Но за то не
падает.
См. glaxium-0.5-alt5
Comment 8 Slava Semushin 2007-12-25 08:00:15 MSK
Я вчера проверял -alt5 и у меня не работало (см. моё письмо в devel@).
Comment 9 Roman Savochenko 2007-12-25 11:10:31 MSK
У меня тоже не работает.
Comment 10 Slava Semushin 2007-12-25 11:13:55 MSK
Не работает.
Comment 11 Alexey Rusakov 2007-12-26 01:12:13 MSK
Увы, и у меня не работает...
(а игрушка-то популярная, оказывается :)
Comment 12 Ilya Mashkin 2007-12-26 03:11:14 MSK
Однако :)
При пересборке на локальной машине - работает.
После прохода через Сизиф - падает.
Comment 13 Ilya Mashkin 2007-12-26 03:27:37 MSK
Slava Semushin: а что за письмо в devel@? Не нахожу ничего.
Comment 14 Slava Semushin 2007-12-26 10:11:58 MSK
(In reply to comment #13)
> Slava Semushin: а что за письмо в devel@? Не нахожу ничего.

http://lists.altlinux.org/pipermail/devel/2007-December/067741.html
Comment 15 Michael Shigorin 2007-12-26 22:24:10 MSK
Created attachment 2339 [details]
glaxium-0.5-gcc41.patch

Если кому надо гентушных патчей...
Comment 16 Michael Shigorin 2007-12-26 22:27:54 MSK
Created attachment 2340 [details]
glaxium-0.5-glx.patch

...обращайтесь -- их есть у нас под рукой :)

Или см. http://search.linux.kiev.ua (в данном случае http://tinyurl.com/23fjrr)
Comment 17 Slava Semushin 2008-07-18 09:59:57 MSD
Что, до сих пор не исправлено?!
Comment 18 Slava Semushin 2008-08-13 17:39:15 MSD
Я могу исправить.

2oddity@: дашь NMU?
Comment 19 Ilya Mashkin 2008-08-15 00:16:25 MSD
хорошо бы!
PASS: nmu glaxium php-coder => 2008-08-15 00:10:04
Comment 20 Slava Semushin 2008-08-17 16:40:41 MSD
Вот где падает (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 символов.
Comment 21 Slava Semushin 2008-08-17 17:01:07 MSD
Исправил в 0.5-alt6 -- проверяйте и закрывайте баг.

Также опубликовал в git: http://git.altlinux.org/people/php_coder/packages/?p=glaxium.git;a=summary

2oddity@: в дальнейшем было бы желательно все сборки держать в git-е и вам сделать клон с моего репозитория.