Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 18 Mar 2007 09:06:48 +0300 (MSK)
From:      Dmitry Marakasov <amdmi3@amdmi3.ru>
To:        FreeBSD-gnats-submit@FreeBSD.org
Subject:   ports/110464: games/fretsonfire: becomes broken if py-xml is installed
Message-ID:  <20070318060648.A7B4240E6@hades.panopticon>
Resent-Message-ID: <200703180610.l2I6A5uQ093236@freefall.freebsd.org>

next in thread | raw e-mail | index | archive | help

>Number:         110464
>Category:       ports
>Synopsis:       games/fretsonfire: becomes broken if py-xml is installed
>Confidential:   no
>Severity:       serious
>Priority:       low
>Responsible:    freebsd-ports-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Sun Mar 18 06:10:04 GMT 2007
>Closed-Date:
>Last-Modified:
>Originator:     Dmitry Marakasov
>Release:        FreeBSD 6.1-RELEASE-p12 i386
>Organization:
>Environment:
System: FreeBSD hades.panopticon 6.1-RELEASE-p12 FreeBSD 6.1-RELEASE-p12 #0: Tue Jan 16 23:12:21 MSK 2007 amdmi3@hades.panopticon:/usr/obj/usr/src/sys/HADES i386


>Description:
fretsonfire-1.1.324 becomes broken after installing textproc/py-xml. Here's what it says:

---
Traceback (most recent call last):
  File "/usr/local/bin/FretsOnFire", line 16, in ?
    execfile(os.path.join(package_dir, "FretsOnFire.py"))
  File "/usr/local/lib/fretsonfire/FretsOnFire/FretsOnFire.py", line 64, in ?
    engine = GameEngine(config)
  File "/usr/local/lib/fretsonfire/FretsOnFire/GameEngine.py", line 181, in __init__
    self.data = Data(self.resource, self.svg)
  File "/usr/local/lib/fretsonfire/FretsOnFire/Data.py", line 48, in __init__
    self.loadSvgDrawing(self, "star1", "star1.svg", textureSize = (128, 128))
  File "/usr/local/lib/fretsonfire/FretsOnFire/Data.py", line 93, in loadSvgDrawing
    getattr(target, name).convertToTexture(textureSize[0], textureSize[1])
  File "/usr/local/lib/fretsonfire/FretsOnFire/Svg.py", line 564, in convertToTexture
    self._render(transform)
  File "/usr/local/lib/fretsonfire/FretsOnFire/Svg.py", line 585, in _render
    self._cacheDrawing(self.context.drawBoard)
  File "/usr/local/lib/fretsonfire/FretsOnFire/Svg.py", line 543, in _cacheDrawing
    sax.parseString(self.svgData, SvgHandler(drawBoard, self.cache))
  File "/usr/local/lib/python2.4/site-packages/_xmlplus/sax/__init__.py", line 47, in parseString
    parser.parse(inpsrc)
  File "/usr/local/lib/python2.4/site-packages/_xmlplus/sax/expatreader.py", line 109, in parse
    xmlreader.IncrementalParser.parse(self, source)
  File "/usr/local/lib/python2.4/site-packages/_xmlplus/sax/xmlreader.py", line 123, in parse
    self.feed(buffer)
  File "/usr/local/lib/python2.4/site-packages/_xmlplus/sax/expatreader.py", line 216, in feed
    self._parser.Parse(data, isFinal)
  File "/usr/local/lib/python2.4/site-packages/_xmlplus/sax/expatreader.py", line 312, in start_element
    self._cont_handler.startElement(name, AttributesImpl(attrs))
  File "/usr/local/lib/fretsonfire/FretsOnFire/Svg.py", line 325, in startElement
    f(attrs)
  File "/usr/local/lib/fretsonfire/FretsOnFire/Svg.py", line 400, in startLineargradient
    if "xlink:href" in attrs:
  File "/usr/local/lib/python2.4/site-packages/_xmlplus/sax/xmlreader.py", line 316, in __getitem__
    return self._attrs[name]
KeyError: 0
---

After deinstalling py-xml, FOF works again.

>How-To-Repeat:
% cd /usr/ports/textproc/py-xml && make install
% FretsOnFire
>Fix:
Seems like FretsOnFire/Svg.py should be patched, so `from xml import sax` line would use python's builtin sax module (/usr/local/lib/python2.4/xml/sax) instead of one installed by py-xml (/usr/local/lib/python2.4/site-packages/_xmlplus/sax). I'm not a pro in python, so I don't know how to actually do it.

>Release-Note:
>Audit-Trail:
>Unformatted:



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20070318060648.A7B4240E6>