Bug 12085 - Segmentation fault
: Segmentation fault
Status: CLOSED FIXED
: Sisyphus
(All bugs in Sisyphus/glaxium)
: unstable
: all Linux
: P2 critical
Assigned To:
:
:
:
:
:
  Show dependency tree
 
Reported: 2007-06-20 10:09 by
Modified: 2008-08-30 00:04 (History)


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


Note

You need to log in before you can comment on or make changes to this bug.


Description From 2007-06-20 10:09:58
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 From 2007-11-20 09:24:55 -------
А если попробовать из под strace запустить?
------- Comment #2 From 2007-11-20 09:53:13 -------
Она и на Сизифе не запускается с аналогичной симптоматикой, у меня, по крайней
мере.
------- Comment #3 From 2007-11-20 10:00:13 -------
Тогда меняю компонент на Сизиф.
------- Comment #4 From 2007-11-22 11:23:55 -------
Created an attachment (id=2283) [details]
strace.log.gz

Вкладываю протокол strace.
------- Comment #5 From 2007-11-22 11:45:38 -------
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 From 2007-11-22 12:33:59 -------
Так. Смотрим здесь:
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 From 2007-12-24 23:43:04 -------
Спасибо, кое-что поправил, с gcc 4.1 не хочет пока пересобираться. Но за то не
падает.
См. glaxium-0.5-alt5
------- Comment #8 From 2007-12-25 08:00:15 -------
Я вчера проверял -alt5 и у меня не работало (см. моё письмо в devel@).
------- Comment #9 From 2007-12-25 11:10:31 -------
У меня тоже не работает.
------- Comment #10 From 2007-12-25 11:13:55 -------
Не работает.
------- Comment #11 From 2007-12-26 01:12:13 -------
Увы, и у меня не работает...
(а игрушка-то популярная, оказывается :)
------- Comment #12 From 2007-12-26 03:11:14 -------
Однако :)
При пересборке на локальной машине - работает.
После прохода через Сизиф - падает.
------- Comment #13 From 2007-12-26 03:27:37 -------
Slava Semushin: а что за письмо в devel@? Не нахожу ничего.
------- Comment #14 From 2007-12-26 10:11:58 -------
(In reply to comment #13)
> Slava Semushin: а что за письмо в devel@? Не нахожу ничего.

http://lists.altlinux.org/pipermail/devel/2007-December/067741.html
------- Comment #15 From 2007-12-26 22:24:10 -------
Created an attachment (id=2339) [details]
glaxium-0.5-gcc41.patch

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

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

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

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

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

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