Bug 4688 - Crash on select a lot games
Summary: Crash on select a lot games
Status: CLOSED FIXED
Alias: None
Product: Sisyphus
Classification: Development
Component: pysol (show other bugs)
Version: unstable
Hardware: all Linux
: P3 normal
Assignee: Alexei Takaseev
QA Contact: qa-sisyphus
URL:
Keywords:
: 1412 (view as bug list)
Depends on:
Blocks:
 
Reported: 2004-07-05 16:14 MSD by Eugene Vlasov
Modified: 2007-01-18 21:44 MSK (History)
20 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Eugene Vlasov 2004-07-05 16:14:23 MSD
[eugene@eugene-home eugene]$ rpm -qa|grep pysol
pysol-sound-server-3.00-alt4
pysol-4.82-alt3
[eugene@eugene-home eugene]$ rpm -qa|grep ^python|sort
python-2.3.3-alt10
python-base-2.3.3-alt10
python-dev-2.3.3-alt10
python-doc-2.3.3-alt1
python-info-2.3.3-alt10
python-modules-2.3.3-alt10
python-modules-bsddb-2.3.3-alt10
python-modules-compiler-2.3.3-alt10
python-modules-curses-2.3.3-alt10
python-modules-email-2.3.3-alt10
python-modules-encodings-2.3.3-alt10
python-modules-hotshot-2.3.3-alt10
python-modules-logging-2.3.3-alt10
python-modules-tkinter-2.3.3-alt10
python-modules-xml-2.3.3-alt10
python-strict-2.3.3-alt10
python-tools-i18n-2.3.3-alt10
python-tools-idle-2.3.3-alt10
python-tools-modulator-2.3.3-alt10

При выборе многих игр выдает ошибки вроде следующей:
  Internal error. Please report this bug:
  exception.TypeError:
unbound method createGame() must be called with Klondike instance as first
argument (got EightTimesEight instance instead)
и вылетает. После этого запустить его можно только после удаления ~/.pysol/ с
потерей всех настроек и статистики.
Вот список игр, на которых это воспроизводится:
  8 x 8, Achtmal Acht, American Toad, Baby Spiderette, Backer's Dozen, Batsford,
Big Harp, Black Widow, Blind Alleys, Brunswick, Busy Aces, Casino Klondike,
Chameleon, Chessboard, Corona, Courtyard, Cruel, Deuces, Die Russische, Die
Schlange, Double Canfield, Double Klondike by Threes, Double Rail, Eastcliff,
Forty and Eight, Free Napoleon, Gargantua, Good Measure, Grandmother's Game,
Ground for a Divorce, Indian, Irmgard, Klondike by Threes, Lady Betty, Little
Forty, Lucas, Maria, Martha, Midshipman, Milligan Cell, Napoleon, Pas Seul,
Peek, Poker Shuffle, Quadrangle, Rainbow, Rainfall, Red and Black, Scorpion,
Simple Simon, Single Rail, Spanish Patience, Spider, Spiderette, Stalactites,
Steps, Storehouse, Three Shuffles and a Draw, Thumb and Pouch, Trefoil,
Variegated Canfield, Vegas Klondike, Waning Moon, Wasp, Westcliff, Whitehead,
Will o'the Wisp, Zebra
Comment 1 Alexei Takaseev 2004-07-05 16:39:23 MSD
По всему похоже, что это те игры, которые имеются в меню выбора, но реально
отсутствующие. Надо патчить исходники :(
Comment 2 Eugene Vlasov 2004-07-05 17:17:27 MSD
Нет, эти игры в исходниках есть (я немного поковырялся). Проблема в том, что там
довольно сложная система наследования. Ошибка возникает при вызове методов
класса - родителя, которые перекрыты (конструкция вида BaseClass.Method(self,
...)). Почему такая конструкция не работает в данном случае - не знаю.
Comment 3 Alexei Takaseev 2004-07-07 04:57:32 MSD
Не, на таком уровне в python я не спец. Я пакет-то вытащил из orphaned только
потому, что некоторые игры из него понравились. А уж настолько серьезно
перетряхивать потроха исходников моих знаний явно недостаточно. Летом как бы
обещается бета пятой версии pysol, может там что сделают?
Comment 4 Eugene Vlasov 2004-07-12 20:38:27 MSD
Кажется я нашел решение. Вот кусок дебиановского патча, который исправляет
положение:

---- pysol-4.82.orig/src/main.py
+++ pysol-4.82/src/main.py
@@ -92,7 +92,7 @@
 
     # try to load plugins
     if not "--noplugins" in args[1:]:
-        for dir in (os.path.join(app.dataloader.dir, "games"),
+        for dir in (#os.path.join(app.dataloader.dir, "games"),
                     os.path.join(app.dataloader.dir, "plugins"),
                     app.dn.plugins):
             try:

Проблема в том, что файлы из каталога games импортируются дважды - из pysol.py и
из main.py.

Comment 5 Alexei Takaseev 2004-07-13 18:39:32 MSD
Нда, как все просто, когда знаешь куда смотреть :)

Патч приложен к сборке pysol-4.82-alt4. Ушло в incoming
Comment 6 Eugene Vlasov 2007-01-18 21:44:26 MSK
*** Bug 1412 has been marked as a duplicate of this bug. ***