Bug 33033

Summary: Не запускается
Product: Branch p8 Reporter: Dmytro <d20052005>
Component: curaAssignee: Антон Мидюков <antohami>
Status: CLOSED FIXED QA Contact: qa-p8 <qa-p8>
Severity: normal    
Priority: P3 CC: antohami, ekorneechev, faf, lav
Version: не указана   
Hardware: all   
OS: Linux   
Bug Depends on: 33035    
Bug Blocks:    

Description Dmytro 2017-01-23 19:32:14 MSK
$ apt-cache show cura | grep Ver
Version: 15.04.4-alt2

Ругается в консоль:
$ cura
load preferences from /home/dmytro/.cura/15.04.4/preferences.ini
Traceback (most recent call last):
  File "/usr/bin/cura", line 5, in <module>
    cura.main()
  File "/usr/lib/python2.7/site-packages/Cura/cura.py", line 86, in main
    app.CuraApp(args).MainLoop()
  File "/usr/lib/python2.7/site-packages/Cura/gui/app.py", line 61, in __init__
    self.splash = splashScreen.splashScreen(self.afterSplashCallback)
  File "/usr/lib/python2.7/site-packages/Cura/gui/splashScreen.py", line 11, in __init__
    super(splashScreen, self).__init__(bitmap, wx.SPLASH_CENTRE_ON_SCREEN, 0, None)
AttributeError: 'module' object has no attribute 'SPLASH_CENTRE_ON_SCREEN'
Comment 1 Evgeniy Korneechev 2017-01-24 11:50:33 MSK
C версией модуля python-module-wx3.0 из Сизифа (https://bugzilla.altlinux.org/33035) другая проблема:

Traceback (most recent call last):
  File "/usr/lib64/python2.7/site-packages/wx-3.0-gtk3/wx/_core.py", line 16762, in <lambda>
    lambda event: event.callable(*event.args, **event.kw) )
  File "/usr/lib/python2.7/site-packages/Cura/gui/splashScreen.py", line 15, in DoCallback
    self.callback()
  File "/usr/lib/python2.7/site-packages/Cura/gui/app.py", line 103, in afterSplashCallback
    from Cura.gui import mainWindow
  File "/usr/lib/python2.7/site-packages/Cura/gui/mainWindow.py", line 17, in <module>
    from Cura.gui import sceneView
  File "/usr/lib/python2.7/site-packages/Cura/gui/sceneView.py", line 28, in <module>
    from Cura.gui.util import previewTools
  File "/usr/lib/python2.7/site-packages/Cura/gui/util/previewTools.py", line 12, in <module>
    from Cura.gui.util import openglHelpers
  File "/usr/lib/python2.7/site-packages/Cura/gui/util/openglHelpers.py", line 17, in <module>
    glutInit() #Hack; required before glut can be called. Not required for all OS.
  File "/usr/lib/python2.7/site-packages/OpenGL/GLUT/special.py", line 333, in glutInit
    _base_glutInit( ctypes.byref(count), holder )
  File "/usr/lib/python2.7/site-packages/OpenGL/platform/baseplatform.py", line 407, in __call__
    self.__name__, self.__name__,
OpenGL.error.NullFunctionError: Attempt to call an undefined function glutInit, check for bool(glutInit) before calling
Comment 2 Evgeniy Korneechev 2017-01-24 12:47:56 MSK
(В ответ на комментарий №1)
> OpenGL.error.NullFunctionError: Attempt to call an undefined function glutInit,
> check for bool(glutInit) before calling

Данная проблема решается установкой пакета libfreeglut (после этого приложение запускается без ошибок).
Comment 3 Dmytro 2017-01-24 17:50:56 MSK
(В ответ на комментарий №2)
> (В ответ на комментарий №1)
> > OpenGL.error.NullFunctionError: Attempt to call an undefined function glutInit,
> > check for bool(glutInit) before calling
> 
> Данная проблема решается установкой пакета libfreeglut (после этого приложение
> запускается без ошибок).

Но другие остаются и приложение не стартует? Я правильно понял?
Comment 4 Evgeniy Korneechev 2017-01-24 18:01:05 MSK
(В ответ на комментарий №3)
> > Данная проблема решается установкой пакета libfreeglut (после этого приложение
> > запускается без ошибок).
> 
> Но другие остаются и приложение не стартует? Я правильно понял?

после установки libfreeglut и python-module-wx3.0 (последний с Сизифа) - ошибок при запуске нет, программа запускается.
Comment 5 Dmytro 2017-02-04 14:45:09 MSK
Обновил из Сизифа cura (подтянула по зависимостям еще и 3dprinter-udev-rules) и python-module-wx3.0, версии libfreeglut совпали. При первом запуске стартовал мастер настройки, но сама программа не запустилась. Чего-то еще ему не хватает.
В консоль пишет:
$ cura
load preferences from /home/dmytro/.cura/15.04.4/preferences.ini
/usr/lib64/python2.7/site-packages/wx-3.0-gtk3/wx/_core.py:16629: UserWarning: wxPython/wxWidgets release number mismatch
  warnings.warn("wxPython/wxWidgets release number mismatch")
Traceback (most recent call last):
  File "/usr/lib64/python2.7/site-packages/wx-3.0-gtk3/wx/_core.py", line 16762, in <lambda>
    lambda event: event.callable(*event.args, **event.kw) )
  File "/usr/lib/python2.7/site-packages/Cura/gui/splashScreen.py", line 15, in DoCallback
    self.callback()
  File "/usr/lib/python2.7/site-packages/Cura/gui/app.py", line 151, in afterSplashCallback
    self.mainWindow = mainWindow.mainWindow()
  File "/usr/lib/python2.7/site-packages/Cura/gui/mainWindow.py", line 72, in __init__
    i = self.fileMenu.Append(-1, _("Load model file...\tCTRL+L"))
  File "/usr/lib64/python2.7/site-packages/wx-3.0-gtk3/wx/_core.py", line 12003, in Append
    return _core_.Menu_Append(*args, **kwargs)
wx._core.PyAssertionError: C++ assertion "Assert failure" failed at ./src/common/stockitem.cpp(213) in wxGetStockLabel(): invalid stock item ID
Comment 6 Dmytro 2017-02-10 20:31:16 MSK
Для проверки поставил alt-p8-sysv-xfce-20161212-x86_64.iso и обновил его до текущего Сизифа. Установил cura и libfreeglut.

При попытке запуска то же, что и на p8: дальше мастера настройки не идет.

$ cura
load preferences from /home/dmytro/.cura/15.04.4/preferences.ini
/usr/lib64/python2.7/site-packages/wx-3.0-gtk3/wx/_core.py:16629: UserWarning: wxPython/wxWidgets release number mismatch
  warnings.warn("wxPython/wxWidgets release number mismatch")
Traceback (most recent call last):
  File "/usr/lib64/python2.7/site-packages/wx-3.0-gtk3/wx/_core.py", line 16762, in <lambda>
    lambda event: event.callable(*event.args, **event.kw) )
  File "/usr/lib/python2.7/site-packages/Cura/gui/splashScreen.py", line 15, in DoCallback
    self.callback()
  File "/usr/lib/python2.7/site-packages/Cura/gui/app.py", line 151, in afterSplashCallback
    self.mainWindow = mainWindow.mainWindow()
  File "/usr/lib/python2.7/site-packages/Cura/gui/mainWindow.py", line 72, in __init__
    i = self.fileMenu.Append(-1, _("Load model file...\tCTRL+L"))
  File "/usr/lib64/python2.7/site-packages/wx-3.0-gtk3/wx/_core.py", line 12003, in Append
    return _core_.Menu_Append(*args, **kwargs)
wx._core.PyAssertionError: C++ assertion "Assert failure" failed at ./src/common/stockitem.cpp(213) in wxGetStockLabel(): invalid stock item ID
Comment 7 Dmytro 2017-02-10 20:40:47 MSK
Перевесил на Сизиф
Comment 8 Dmytro 2017-02-12 11:20:52 MSK
(In reply to comment #4)
> (В ответ на комментарий №3)
> > > Данная проблема решается установкой пакета libfreeglut (после этого приложение
> > > запускается без ошибок).
> > 
> > Но другие остаются и приложение не стартует? Я правильно понял?
> 
> после установки libfreeglut и python-module-wx3.0 (последний с Сизифа) - ошибок
> при запуске нет, программа запускается.

А Вы на какую версию ставили? 32х или 64х?
Comment 9 Evgeniy Korneechev 2017-02-13 13:02:07 MSK
(В ответ на комментарий №8)
> А Вы на какую версию ставили? 32х или 64х?

$ uname -m
x86_64
$ rpm -q libfreeglut 
libfreeglut-3.0.0-alt1
$ rpm -q python-module-wx3.0 
python-module-wx3.0-3.0.2.0-alt1
$ rpm -q cura
cura-15.04.4-alt3

Первичный запуск (в мастере настройки далее->далее->финиш) - OK:
$ cura
load preferences from /home/HQ/linux/.cura/15.04.4/preferences.ini
/usr/lib64/python2.7/site-packages/wx-3.0-gtk3/wx/_core.py:16629: UserWarning: wxPython/wxWidgets release number mismatch
  warnings.warn("wxPython/wxWidgets release number mismatch")
Listening for engine communications on 49674
Comment 10 Dmytro 2017-02-14 13:28:22 MSK
(In reply to comment #9)

> Первичный запуск (в мастере настройки далее->далее->финиш) - OK:

Возможно, разгадка именно в этом. Я в мастере конкретный принтер выбирал.
Проверю.
Comment 11 Антон Мидюков 2017-12-13 11:14:24 MSK
В Сизиф ушла версия 2.4, к которой эти ошибки относиться не могут никак, так как ни от libglut.so.3, ни от wxpython cura-2.4 не зависит.

Прошу проверить, воспроизводится ли ещё проблема в p8?

Перевешиваю баг на p8 и беру на себя.
Comment 12 Dmytro 2017-12-22 04:20:52 MSK
Не стартует:

$ cura
load preferences from /home/dmytro/.cura/15.04.4/preferences.ini
/usr/lib64/python2.7/site-packages/wx-3.0-gtk3/wx/_core.py:16629: UserWarning: wxPython/wxWidgets release number mismatch
  warnings.warn("wxPython/wxWidgets release number mismatch")

(cura:27237): Gdk-ERROR **: The program 'cura' received an X Window System error.
This probably reflects a bug in the program.
The error was 'BadValue (integer parameter out of range for operation)'.
  (Details: serial 23372 error_code 2 request_code 154 (GLX) minor_code 24)
  (Note to programmers: normally, X errors are reported asynchronously;
   that is, you will receive the error a while after causing it.
   To debug your program, run it with the GDK_SYNCHRONIZE environment
   variable to change this behavior. You can then get a meaningful
   backtrace from your debugger if you break on the gdk_x_error() function.)
Ловушка трассировки/останова
Comment 13 Антон Мидюков 2017-12-22 11:52:19 MSK
(In reply to comment #12)
> Не стартует:
> 
> $ cura
> load preferences from /home/dmytro/.cura/15.04.4/preferences.ini
> /usr/lib64/python2.7/site-packages/wx-3.0-gtk3/wx/_core.py:16629: UserWarning:
> wxPython/wxWidgets release number mismatch
>   warnings.warn("wxPython/wxWidgets release number mismatch")
> 
> (cura:27237): Gdk-ERROR **: The program 'cura' received an X Window System
> error.
> This probably reflects a bug in the program.
> The error was 'BadValue (integer parameter out of range for operation)'.
>   (Details: serial 23372 error_code 2 request_code 154 (GLX) minor_code 24)
>   (Note to programmers: normally, X errors are reported asynchronously;
>    that is, you will receive the error a while after causing it.
>    To debug your program, run it with the GDK_SYNCHRONIZE environment
>    variable to change this behavior. You can then get a meaningful
>    backtrace from your debugger if you break on the gdk_x_error() function.)
> Ловушка трассировки/останова

Вот не может cura-15.04.4-alt2.M80P.2 такого выдавать!

rpm -q cura

что выдаёт?

Не может выдавать, так как в спеке есть такие строки:
# Not started with wxpython-3.0
Requires: python-module-wx < 2.9 

А у вас установлен python-module-wx3.0
Comment 14 Dmytro 2017-12-22 12:42:06 MSK
>>А у вас установлен python-module-wx3.0

Я его на этой машине отдельно из Сизифа ставил.

Оказывается, Cura тоже:
$ rpm -q cura
cura-15.04.4-alt3

Давно пытался запустить, забыл уже.
Comment 15 Dmytro 2017-12-22 12:52:28 MSK
Установил правильную версию (разумеется, конфиги удалил. Но не думаю, что это показатель. В ближайшие дни на чистых виртуалках проверю. 

$ cura
load preferences from /home/dmytro/.cura/15.04.4/preferences.ini
The program 'python' received an X Window System error.
This probably reflects a bug in the program.
The error was 'BadValue (integer parameter out of range for operation)'.
  (Details: serial 3112 error_code 2 request_code 154 minor_code 24)
  (Note to programmers: normally, X errors are reported asynchronously;
   that is, you will receive the error a while after causing it.
   To debug your program, run it with the --sync command line
   option to change this behavior. You can then get a meaningful
   backtrace from your debugger if you break on the gdk_x_error() function.)
Comment 16 Антон Мидюков 2017-12-23 18:58:15 MSK
Возможно, проблема сейчас в том, что у вас часть пакетов из Сизифа родом.
Comment 17 Dmytro 2017-12-24 17:24:10 MSK
Именно поэтому я и упомянул чистые виртуалки.
Comment 18 Vitaly Lipatov 2017-12-24 17:33:04 MSK
(В ответ на комментарий №17)
> Именно поэтому я и упомянул чистые виртуалки.
Единственное доказательство, которое нужно предъявить, это список установленных пакетов:
$ rpm -q cura python-module-wx wxGTK
cura-15.04.4-alt2.M80P.2
python-module-wx-2.8.12.1-alt3.svn20120530.1
wxGTK-2.8.12-alt1.svn20131012.3.M80P.1

Я сделал epmi cura
и всё отлично поставилось и работает.

Вообще большого смысла говорить о программе, которая не может быть собрана с новым wx, нет.
Comment 19 Антон Мидюков 2017-12-25 05:06:56 MSK
(In reply to comment #18)
> Вообще большого смысла говорить о программе, которая не может быть собрана с
> новым wx, нет.

Версия 2.4 и выше переписана на pyQT5. В Сизиф собрал 2.4, так как 2.5 и выше для работы требуют python 3.5.2, а у нас 3.5.1. В p8 2.4 пока никак не собрать, так как требуется бэкпортировать protobuf 3.4.1 из Сизифа.

Раз проблем нет, багу закрываю.
Comment 20 Dmytro 2017-12-25 16:10:59 MSK
Благодарю за устранение. Сегодня поставил на реальные машина. Работает как на х32, так и на х64.

Есть еще проблема с меню выбора устройств (не все видны)... Но даже не знаю, стоит ли заводить баг, т.к. решаться проблема, уверен, в этой версии уже не будет. Разве что "для отчетности"
Comment 21 Антон Мидюков 2017-12-25 18:11:27 MSK
(In reply to comment #20)
> Благодарю за устранение. Сегодня поставил на реальные машина. Работает как на
> х32, так и на х64.
> 
> Есть еще проблема с меню выбора устройств (не все видны)... Но даже не знаю,
> стоит ли заводить баг, т.к. решаться проблема, уверен, в этой версии уже не
> будет. Разве что "для отчетности"

Проверьте на регулярке, будет воспроизводиться баг или нет. Если будет, то на Сизиф вешайте. Если нет, то на p8. Я конечно постараюсь обновить cura в p8, но не факт, что у меня это получится. А так, может победим в этой версии. Баг в любом случае вешайте на меня.
Comment 22 Dmytro 2017-12-25 19:19:42 MSK
(In reply to comment #18)
> (В ответ на комментарий №17)
> > Именно поэтому я и упомянул чистые виртуалки.
> Единственное доказательство, которое нужно предъявить, это список установленных
> пакетов:
> $ rpm -q cura python-module-wx wxGTK
> cura-15.04.4-alt2.M80P.2
> python-module-wx-2.8.12.1-alt3.svn20120530.1
> wxGTK-2.8.12-alt1.svn20131012.3.M80P.1
> 
> Я сделал epmi cura
> и всё отлично поставилось и работает.
> 
> Вообще большого смысла говорить о программе, которая не может быть собрана с
> новым wx, нет.
Comment 23 Dmytro 2017-12-25 19:22:29 MSK
(In reply to comment #18)
> (В ответ на комментарий №17)
> > Именно поэтому я и упомянул чистые виртуалки.
> Единственное доказательство, которое нужно предъявить, это список установленных
> пакетов:
> $ rpm -q cura python-module-wx wxGTK
> cura-15.04.4-alt2.M80P.2
> python-module-wx-2.8.12.1-alt3.svn20120530.1
> wxGTK-2.8.12-alt1.svn20131012.3.M80P.1
> 
> Я сделал epmi cura
> и всё отлично поставилось и работает.
> 
> Вообще большого смысла говорить о программе, которая не может быть собрана с
> новым wx, нет.

Пакеты все те же, а на 1 конкретной машине не заводится:

$ rpm -q cura python-module-wx wxGTK
cura-15.04.4-alt2.M80P.2
python-module-wx-2.8.12.1-alt3.svn20120530.1
wxGTK-2.8.12-alt1.svn20131012.3.M80P.1

Но ее во внимание брать не стоит, т.к. на ней мне уже больше года лень ОС с нуля переставить ))), и на ней другие проблемы есть. Она пережила очень много сбоев и экспериментов.