<?xml version="1.0" encoding="UTF-8" ?>

<bugzilla version="5.2"
          urlbase="https://bugzilla.altlinux.org/"
          
          maintainer="jenya@basealt.ru"
>

    <bug>
          <bug_id>33972</bug_id>
          
          <creation_ts>2017-10-05 15:52:34 +0300</creation_ts>
          <short_desc>Segfault для Qt4, Qt5</short_desc>
          <delta_ts>2017-10-06 11:51:14 +0300</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>4</classification_id>
          <classification>Development</classification>
          <product>Sisyphus</product>
          <component>python3-module-PyQt5</component>
          <version>unstable</version>
          <rep_platform>all</rep_platform>
          <op_sys>Linux</op_sys>
          <bug_status>CLOSED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P3</priority>
          <bug_severity>major</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Fr. Br. George">george</reporter>
          <assigned_to name="Vitaly Lipatov">lav</assigned_to>
          <cc>grenka</cc>
    
    <cc>lav</cc>
          
          <qa_contact>qa-sisyphus</qa_contact>

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>166165</commentid>
    <comment_count>0</comment_count>
    <who name="Fr. Br. George">george</who>
    <bug_when>2017-10-05 15:52:34 +0300</bug_when>
    <thetext>Приложения, написанные на PyQt4/PyQt5 падают с segfault:

python3 -c &apos;from PyQt4 import QtGui&apos;       
[2]    5169 segmentation fault  python3 -c &apos;from PyQt4 import QtGui&apos;

То же самое для PyQt5

Вершина stack trace:
Program received signal SIGSEGV, Segmentation fault.
0x00007ffff717de96 in strlen () from /lib64/libc.so.6
(gdb) bt
#0  0x00007ffff717de96 in strlen () from /lib64/libc.so.6
#1  0x00000000004d9170 in PyUnicode_FromFormatV ()
#2  0x000000000050ea9d in PyErr_Format ()
#3  0x00007ffff0dbe3ea in ?? () from /usr/lib64/python3/site-packages/sip.so
#4  0x00007ffff64dcc17 in PyInit_QtGui ()
   from /usr/lib64/python3/site-packages/PyQt4/QtGui.so
#5  0x00000000005197e2 in _PyImport_LoadDynamicModuleWithSpec ()
#6  0x0000000000516da5 in ?? ()
#7  0x000000000059f909 in PyCFunction_Call ()
#8  0x00000000004fc014 in PyEval_EvalFrameEx ()
...

Некоторая засада в том, что для ванильного python3-module-sip, поставленного pip3 эффект тот же, так что это может быть ошибкой PyQt*</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>166166</commentid>
    <comment_count>1</comment_count>
    <who name="Fr. Br. George">george</who>
    <bug_when>2017-10-05 16:04:34 +0300</bug_when>
    <thetext>Так, это, похоже, таки ошибка PyQt*, сейчас проверил на ванильном PyQt5 и нашем sip — работает</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>166168</commentid>
    <comment_count>2</comment_count>
    <who name="Anton Farygin">rider</who>
    <bug_when>2017-10-05 16:28:34 +0300</bug_when>
    <thetext>На PyQT 5 должно быть починено, PyQT 4 тоже обновили, должно заработать, проверь.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>166169</commentid>
    <comment_count>3</comment_count>
    <who name="Anton Farygin">rider</who>
    <bug_when>2017-10-05 16:28:49 +0300</bug_when>
    <thetext>#190296</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>166173</commentid>
    <comment_count>4</comment_count>
    <who name="Fr. Br. George">george</who>
    <bug_when>2017-10-05 18:04:55 +0300</bug_when>
    <thetext>Спасибо, работает!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>166177</commentid>
    <comment_count>5</comment_count>
    <who name="Ivan Zakharyaschev">imz</who>
    <bug_when>2017-10-05 20:38:04 +0300</bug_when>
    <thetext>Действительно, было плохо, теперь проходит проверку (которую я, пользуясь моментом, ещё раз порекламирую):

$ apt-repo --hsh-apt-config=/home/imz/.hasher/sisyphus/apt.conf add 190330
$ apt-repo --hsh-apt-config=/home/imz/.hasher/sisyphus/apt.conf test &apos;&apos; python3-module-sip python3-module-PyQt5 &amp;&amp; { hsh-run --mount=/proc,/dev/pts /usr/lib/rpm/check-python3-provs-importable.sh python3-module-PyQt5; echo $?; }
...
0
$ apt-repo --hsh-apt-config=/home/imz/.hasher/sisyphus/apt.conf test &apos;&apos; python3-module-PyQt4 &amp;&amp; { hsh-run --mount=/proc,/dev/pts /usr/lib/rpm/check-python3-provs-importable.sh python3-module-PyQt4; echo $?; }
...
PyQt4.uic.pyuic
123
$ hsh-shell --mount=/proc,/dev/pts
[builder@localhost .in]$ python3 -c &apos;import PyQt4.uic.pyuic&apos;
Error: one input ui-file must be specified
[builder@localhost .in]$ 

А это какой-то странный модуль попал в Provides. (И зависимости на python3-module-sip не хватило почему-то.)

Возвращаясь к исходной проблеме. Интересно будет узнать, оно когда-то работало, а потом стало падать, или сразу было собрано в нерабочем виде.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>166179</commentid>
    <comment_count>6</comment_count>
    <who name="Anton Farygin">rider</who>
    <bug_when>2017-10-05 22:25:56 +0300</bug_when>
    <thetext>@darktemplar говорит, что если собрать pyhton-module-sip, то придётся чинить python-module-PyQT.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>166188</commentid>
    <comment_count>7</comment_count>
    <who name="Vitaly Lipatov">lav</who>
    <bug_when>2017-10-06 11:51:14 +0300</bug_when>
    <thetext>(В ответ на комментарий №6)
&gt; @darktemplar говорит, что если собрать pyhton-module-sip, то придётся чинить
&gt; python-module-PyQT.
Добавил в PyQt5 будущей сборки

%define sipver2 %(rpm -q --qf &apos;%%{VERSION}&apos; python-module-sip)
Requires: python-module-sip = %sipver2</thetext>
  </long_desc>
      
      

    </bug>

</bugzilla>