xpra icon
Bug tracker and wiki

Opened 3 years ago

Closed 3 years ago

Last modified 10 months ago

#1392 closed defect (worksforme)

moduleset error horror

Reported by: Antoine Martin Owned by: Antoine Martin
Priority: critical Milestone: 2.0
Component: packaging Version: trunk
Keywords: osx Cc:

Description

It started with some updates from trunk that should be applied to v1.0.x (see #840):

jhbuild was then failing with the totally unhelpful:

jhbuild update: failed to parse /Users/osx/Source/jhbuild/modulesets/http:/xpra.org/svn/Xpra/tags/v1.0.x/osx/jhbuild/xpra.modules: \
  [Errno 2] No such file or directory: \
  u'/Users/osx/Source/jhbuild/modulesets/http:/xpra.org/svn/Xpra/tags/v1.0.x/osx/jhbuild/xpra.modules'

So r14664 moved "xpra.modules" to "modulesets-stable", which allowed me to continue (after downloading it into "~/Source/jhbuild/modulesets" by hand).
This uncovered an error in the r14662 changeset, fixed in r14665.
r14666 moved "xpra.modules" back to where it was (a URL link) but unfortunately it still fails with the same error.
Whatever the problem is, it's really not obvious to me.

Change History (5)

comment:1 Changed 3 years ago by Antoine Martin

Owner: changed from Antoine Martin to Smo

@smo: please advise on which updates from trunk (#1404) are applicable to the 1.x branch.
Then I'll give this another go, copying the module files by hand if needed.

comment:2 Changed 3 years ago by Smo

Owner: changed from Smo to Antoine Martin

Okay I've updated the other ticket.

comment:3 Changed 3 years ago by Antoine Martin

Resolution: worksforme
Status: newclosed

Rebuild from scratch with the updates from ticket:1404#comment:9 worked OK.
Closing.

comment:4 Changed 3 years ago by Antoine Martin

Hit it again after r15394 which had some small mistakes in it:

Tried moving things around (r15397), no help.
Then digging into the jhbuild code in ~/Source/jhbuild/jhbuild//moduleset.py, I find that they're swallowing the exception details (PITA), so I replaced the exception code with this:

def _parse_module_set(config, uri):
    try:
        filename = httpcache.load(uri, nonetwork=config.nonetwork, age=0)
    except Exception as e:
        raise FatalError(_('could not download %s: %s') % (uri, e))
    filename = os.path.normpath(filename)
    try:
        document = xml.dom.minidom.parse(filename)
    except IOError as e:
        import traceback
        traceback.print_stack()
        #raise FatalError(_('failed to parse %s: %s') % (filename, e))
        raise
    except xml.parsers.expat.ExpatError as e:
        #raise FatalError(_('failed to parse %s: %s') % (uri, e))
        import traceback
        traceback.print_stack()
        raise

And got the details needed instead of the utterly useless original exception message. Immediately found the problem, fixed in r15398. (could also have been found by opening the file with a validating XML parser)
Why on earth isn't this the default??

comment:5 Changed 10 months ago by Antoine Martin

Similar hidden error in jhbuild: ticket:2383#comment:1

Note: See TracTickets for help on using tickets.