Bug 33618

Summary: Необходимо убрать некоторые оптимизации
Product: Sisyphus Reporter: Владимир Диденко <vladimir.didenko>
Component: libmozjs38Assignee: Alexey Gladkov <legion>
Status: REOPENED --- QA Contact: qa-sisyphus
Severity: normal    
Priority: P3 CC: aris
Version: unstable   
Hardware: all   
OS: Linux   

Description Владимир Диденко 2017-07-05 17:28:55 MSK
Разбирался почему у меня новый libcjs, который линкуется с libmozjs38, падает -  в итоге выяснил, что с новым GCC некоторые оптимизации работают некорректно, поэтому в других дистрибутивах (проверил на Fedora и Arch) mozjs38 собирают с  "-fno-tree-vrp -fno-strict-aliasing" и с "-O2" вместо "-O3". С такими опциями сборки libcjs  у меня больше не падает.

Отправил на сборку test-only задание #185095 - если есть желание, можно протестировать. Я проверил работу на Cinnamon и Gnome, проблем не обнаружил.

Если не будет возражений, отправлю сборку в Сизиф.

Исправления можно посмотреть здесь

http://git.altlinux.org/people/cow/packages/?p=libmozjs38.git;a=commitdiff;h=4373fe2a9720fef9be96cb2c50be476f4f789f46
http://git.altlinux.org/people/cow/packages/?p=libmozjs38.git;a=commitdiff;h=c83815111c4c305ae0e49552ed37069b9824c55a
Comment 1 Владимир Диденко 2017-07-10 11:59:07 MSK
Возражений не было - отправил в сизиф.
Comment 2 Yuri N. Sedunov 2017-07-10 12:10:01 MSK
Следовало бы подождать возражений, -- у меня gnome-shell падает с вашей сборкой.
Алексей, прошу убрать @everybody из ACL.
Comment 3 Владимир Диденко 2017-07-10 12:15:32 MSK
(В ответ на комментарий №2)
> Следовало бы подождать возражений, -- у меня gnome-shell падает с вашей
> сборкой.
> Алексей, прошу убрать @everybody из ACL.

Ну так можно было попросить подождать. И, все-таки, хотелось бы решить проблему в обе стороны - т.е. и чтобы gnome-shell работал и cjs, а не просто откатить как было.
Comment 4 Yuri N. Sedunov 2017-07-10 12:30:18 MSK
#185198 BUILDING #1 [locked] [test-only] sisyphus srpm=libmozjs38-38.8.0-alt1.src.rpm
Как соберется попробуйте. Может быть стоит и cjs пересобрать с этой mozjs.
Цитрамон ваш попробовал, -- запустился и не пищит, в отличие от гнома, который падал несколько раз при запуске на вашей сборке.
Comment 5 Владимир Диденко 2017-07-10 13:04:59 MSK
С этой сборкой падает. Достаточно в run диалоге (который по Alt+F2) набрать "gnome" и два раза нажать tab. Для воспроизведения без логина в Cinnamon можно использовать следующий скрипт

https://pastebin.com/6Ck0xYFq

Так что, возможно, стоит все-таки разобраться с gjs. Странно как-то выходит, некоторые оптимизации убираются и приложение начинает падать. И еще раз повторюсь, в других дистрибутивах собирают с "-fno-tree-vrp -fno-strict-aliasing" и с "-O2" вместо "-O3". Наверняка, это не просто так.
Comment 6 Владимир Диденко 2017-07-10 13:14:08 MSK
Кстати, тестовый скрипт и на gjs падает.
Comment 7 Yuri N. Sedunov 2017-07-10 13:36:08 MSK
$ rpmq libcjs
libcjs-3.2.0-alt1.x86_64
$ cjs test.js 
,bluetooth-sendto ,genius ,doc-prepare ,mobi-thumbnailer ,nettool ,openraster-thumbnailer ,character-map ,todo ,commander ,sudoku ,robots ,taquin ,multi-writer ,calendar ,mahjongg ,documents ,klotski ,dictionary ,photos ,screenshot ,tetravex ,disks ,shell-perf-tool ,music ,nibbles ,thumbnail-font ,system-monitor ,keyring ,battery-bench ,screensaver-command ,tweak-tool ,clocks ,desktop-item-edit ,session ,mplayer ,shell ,disk-usage ,weather ,builder ,logs ,contacts ,books ,builder-cli ,session-selector ,maps ,shell-extension-prefs ,sound-recorder ,control-center ,autogen.sh ,screensaver ,keyring-3 ,kra-thumbnailer ,font-viewer ,doc-tool ,session-quit ,flashback ,2048 ,mines ,characters ,keyring-daemon ,power-statistics ,calculator ,chess ,disk-image-mounter ,alsamixer ,text-editor ,terminal ,recipes ,epub-thumbnailer ,session-inhibit ,panel ,software ,help ,internet-radio-locator ,shell-extension-tool ,session-custom-session ,bluetooth-sendto ,genius ,doc-prepare ,mobi-thumbnailer ,nettool ,openraster-thumbnailer ,character-map ,todo ,commander ,sudoku ,robots ,taquin ,multi-writer ,calendar ,mahjongg ,documents ,klotski ,dictionary ,photos ,screenshot ,tetravex ,disks ,shell-perf-tool ,music ,nibbles ,thumbnail-font ,system-monitor ,keyring ,battery-bench ,screensaver-command ,tweak-tool ,clocks ,desktop-item-edit ,session ,mplayer ,shell ,disk-usage ,weather ,builder ,logs ,contacts ,books ,builder-cli ,session-selector ,maps ,shell-extension-prefs ,sound-recorder ,control-center ,autogen.sh ,screensaver ,keyring-3 ,kra-thumbnailer ,font-viewer ,doc-tool ,session-quit ,flashback ,2048 ,mines ,characters ,keyring-daemon ,power-statistics ,calculator ,chess ,disk-image-mounter ,alsamixer ,text-editor ,terminal ,recipes ,epub-thumbnailer ,session-inhibit ,panel ,software ,help ,internet-radio-locator ,shell-extension-tool ,session-custom-session ,bluetooth-sendto ,genius ,doc-prepare ,mobi-thumbnailer ,nettool ,openraster-thumbnailer ,character-map ,todo ,commander ,sudoku ,robots ,taquin ,multi-writer ,calendar ,mahjongg ,documents ,klotski ,dictionary ,photos ,screenshot ,tetravex ,disks ,shell-perf-tool ,music ,nibbles ,thumbnail-font ,system-monitor ,keyring ,battery-bench ,screensaver-command ,tweak-tool ,clocks ,desktop-item-edit ,session ,mplayer ,shell ,disk-usage ,weather ,builder ,logs ,contacts ,books ,builder-cli ,session-selector ,maps ,shell-extension-prefs ,sound-recorder ,control-center ,autogen.sh ,screensaver ,keyring-3 ,kra-thumbnailer ,font-viewer ,doc-tool ,session-quit ,flashback ,2048 ,mines ,characters ,keyring-daemon ,power-statistics ,calculator ,chess ,disk-image-mounter ,alsamixer ,text-editor ,terminal ,recipes ,epub-thumbnailer ,session-inhibit ,panel ,software ,help ,internet-radio-locator ,shell-extension-tool ,session-custom-session 
,bluetooth-sendto ,genius ,doc-prepare ,mobi-thumbnailer ,nettool ,openraster-thumbnailer ,character-map ,todo ,commander ,sudoku ,robots ,taquin ,multi-writer ,calendar ,mahjongg ,documents ,klotski ,dictionary ,photos ,screenshot ,tetravex ,disks ,shell-perf-tool ,music ,nibbles ,thumbnail-font ,system-monitor ,keyring ,battery-bench ,screensaver-command ,tweak-tool ,clocks ,desktop-item-edit ,session ,mplayer ,shell ,disk-usage ,weather ,builder ,logs ,contacts ,books ,builder-cli ,session-selector ,maps ,shell-extension-prefs ,sound-recorder ,control-center ,autogen.sh ,screensaver ,keyring-3 ,kra-thumbnailer ,font-viewer ,doc-tool ,session-quit ,flashback ,2048 ,mines ,characters ,keyring-daemon ,power-statistics ,calculator ,chess ,disk-image-mounter ,alsamixer ,text-editor ,terminal ,recipes ,epub-thumbnailer ,session-inhibit ,panel ,software ,help ,internet-radio-locator ,shell-extension-tool ,session-custom-session ,bluetooth-sendto ,genius ,doc-prepare ,mobi-thumbnailer ,nettool ,openraster-thumbnailer ,character-map ,todo ,commander ,sudoku ,robots ,taquin ,multi-writer ,calendar ,mahjongg ,documents ,klotski ,dictionary ,photos ,screenshot ,tetravex ,disks ,shell-perf-tool ,music ,nibbles ,thumbnail-font ,system-monitor ,keyring ,battery-bench ,screensaver-command ,tweak-tool ,clocks ,desktop-item-edit ,session ,mplayer ,shell ,disk-usage ,weather ,builder ,logs ,contacts ,books ,builder-cli ,session-selector ,maps ,shell-extension-prefs ,sound-recorder ,control-center ,autogen.sh ,screensaver ,keyring-3 ,kra-thumbnailer ,font-viewer ,doc-tool ,session-quit ,flashback ,2048 ,mines ,characters ,keyring-daemon ,power-statistics ,calculator ,chess ,disk-image-mounter ,alsamixer ,text-editor ,terminal ,recipes ,epub-thumbnailer ,session-inhibit ,panel ,software ,help ,internet-radio-locator ,shell-extension-tool ,session-custom-session ,bluetooth-sendto ,genius ,doc-prepare ,mobi-thumbnailer ,nettool ,openraster-thumbnailer ,character-map ,todo ,commander ,sudoku ,robots ,taquin ,multi-writer ,calendar ,mahjongg ,documents ,klotski ,dictionary ,photos ,screenshot ,tetravex ,disks ,shell-perf-tool ,music ,nibbles ,thumbnail-font ,system-monitor ,keyring ,battery-bench ,screensaver-command ,tweak-tool ,clocks ,desktop-item-edit ,session ,mplayer ,shell ,disk-usage ,weather ,builder ,logs ,contacts ,books ,builder-cli ,session-selector ,maps ,shell-extension-prefs ,sound-recorder ,control-center ,autogen.sh ,screensaver ,keyring-3 ,kra-thumbnailer ,font-viewer ,doc-tool ,session-quit ,flashback ,2048 ,mines ,characters ,keyring-daemon ,power-statistics ,calculator ,chess ,disk-image-mounter ,alsamixer ,text-editor ,terminal ,recipes ,epub-thumbnailer ,session-inhibit ,panel ,software ,help ,internet-radio-locator ,shell-extension-tool ,session-custom-session
Comment 8 Yuri N. Sedunov 2017-07-10 13:37:13 MSK
$ rpmq libcjs
libcjs-3.4.3-alt1.x86_64
[aris@siver mozjs]$ cjs test.js 
Ошибка сегментирования
Comment 9 Yuri N. Sedunov 2017-07-10 13:39:55 MSK
Так что разбирайтесь с cjs, а пока откатите свои изменения.
Comment 10 Владимир Диденко 2017-07-10 13:47:24 MSK
Cjs 3.2 собран с mozjs24. И я уже сказал, что на gjs таже самая проблема. Так что давайте разбираться. Можете рассказать при  каких условиях у вас падает gnome-shell с моей сборкой mozjs - я не могу воспроизвести.
Comment 11 Yuri N. Sedunov 2017-07-10 14:24:54 MSK
Обнаружил повод для падения -- одно из сторонних gnome-shell extensions, удалил его. Но ошибку пока закрывать не будем.