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

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

    <bug>
          <bug_id>56026</bug_id>
          
          <creation_ts>2025-09-17 14:00:04 +0300</creation_ts>
          <short_desc>Некоторые примеры не работают c Python 3: RuntimeError: generator raised StopIteration</short_desc>
          <delta_ts>2025-11-14 12:25:26 +0300</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>3</classification_id>
          <classification>Distributions</classification>
          <product>Branch p9</product>
          <component>python-module-pyglet</component>
          <version>не указана</version>
          <rep_platform>x86_64</rep_platform>
          <op_sys>Linux</op_sys>
          <bug_status>CLOSED</bug_status>
          <resolution>WONTFIX</resolution>
          
          <see_also>https://bugzilla.altlinux.org/show_bug.cgi?id=56025</see_also>
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P5</priority>
          <bug_severity>normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Artem Varaksa">varaksaaa</reporter>
          <assigned_to name="real@altlinux.org">real</assigned_to>
          
          
          <qa_contact name="qa-p9@altlinux.org">qa-p9</qa_contact>

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>272630</commentid>
    <comment_count>0</comment_count>
    <who name="Artem Varaksa">varaksaaa</who>
    <bug_when>2025-09-17 14:00:04 +0300</bug_when>
    <thetext>Шаги
====

1. # apt-get install -y python{,3}-module-pyglet

2. Склонировать https://git.altlinux.org/gears/p/python-module-pyglet.git и перейти к ветке, соответствующей проверяемому репозиторию.

3. Сравнить:

$ python ~/pyglet/examples/html_label.py
$ python3 ~/pyglet/examples/html_label.py

$ python ~/pyglet/examples/astraea/astraea.py
$ python3 ~/pyglet/examples/astraea/astraea.py


Фактический результат
=====================

Python 2: успешный запуск и работа.

Python 3:

&gt; Traceback (most recent call last):
&gt;   File &quot;/usr/lib/python3/site-packages/pyglet/text/runlist.py&quot;, line 408, in ranges
&gt;     starts[i], ends[i], values[i] = next(iterator)
&gt; StopIteration
&gt;
&gt; The above exception was the direct cause of the following exception:
&gt;
&gt; Traceback (most recent call last):
&gt;   File &quot;/home/test/pyglet2/examples/html_label.py&quot;, line 62, in &lt;module&gt;
&gt;     multiline=True, anchor_y=&apos;center&apos;)
&gt;   File &quot;/usr/lib/python3/site-packages/pyglet/text/__init__.py&quot;, line 493, in __init__
&gt;     multiline, dpi, batch, group)
&gt;   File &quot;/usr/lib/python3/site-packages/pyglet/text/__init__.py&quot;, line 258, in __init__
&gt;     dpi=dpi, batch=batch, group=group)
&gt;   File &quot;/usr/lib/python3/site-packages/pyglet/text/layout.py&quot;, line 797, in __init__
&gt;     self.document = document
&gt;   File &quot;/usr/lib/python3/site-packages/pyglet/text/layout.py&quot;, line 880, in _set_document
&gt;     self._init_document()
&gt;   File &quot;/usr/lib/python3/site-packages/pyglet/text/layout.py&quot;, line 983, in _init_document
&gt;     self._update()
&gt;   File &quot;/usr/lib/python3/site-packages/pyglet/text/layout.py&quot;, line 917, in _update
&gt;     lines = self._get_lines()
&gt;   File &quot;/usr/lib/python3/site-packages/pyglet/text/layout.py&quot;, line 893, in _get_lines
&gt;     glyphs = self._get_glyphs()
&gt;   File &quot;/usr/lib/python3/site-packages/pyglet/text/layout.py&quot;, line 1018, in _get_glyphs
&gt;     for start, end, (font, element) in runs.ranges(0, len(text)):
&gt;   File &quot;/usr/lib/python3/site-packages/pyglet/text/runlist.py&quot;, line 408, in ranges
&gt;     starts[i], ends[i], values[i] = next(iterator)
&gt;   File &quot;/usr/lib/python3/site-packages/pyglet/text/document.py&quot;, line 714, in ranges
&gt;     for start, end, styles in self.zip_iter.ranges(start, end):
&gt; RuntimeError: generator raised StopIteration


Ожидаемый результат
===================

Успешный запуск примеров.


Воспроизводимость
=================

Воспроизводится на виртуальных машинах:

[p9] ALT Workstation 9.2 x86_64
python-module-pyglet-1.3.0-alt4.a1.hg20150730.1.1.1.noarch

В более новых ветках и в sisyphus пакет для Python 3 собирается из другого SRPM. В нём проверка блокируется другой ошибкой: https://bugzilla.altlinux.org/56025.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>276670</commentid>
    <comment_count>1</comment_count>
    <who name="Andrey Cherepanov">cas</who>
    <bug_when>2025-11-14 12:25:26 +0300</bug_when>
    <thetext>Продукт более не поддерживается. Если актуально, то необходимо перевешать на новый поддерживаемый репозиторий (p10, p11, Sisyphus).</thetext>
  </long_desc>
      
      

    </bug>

</bugzilla>