Ticket #1262 (closed bug: fixed)

Opened 16 months ago

Last modified 15 months ago

Exception in Orange.utils.addons cleanup

Reported by: ales Owned by: matija
Milestone: 2.6 Component: library
Severity: immediate Keywords:
Cc: Blocking:
Blocked By:

Description

An exception occurs when python interpreter is shutting down and is cleaning up the loaded modules (problem reported in  http://orange.biolab.si/forum/viewtopic.php?f=4&t=1739).

Running

python -v -c"import Orange"

on Debian (squeeze) indicates this happens while cleaning up Orange.utils.addons (but does not happen on Mac OSX 10.6)

A quick glance at the module suggest that the problem is the global addons variable. This is a shelve object which has a __del__ method and that is probably where the error happens.

Even if this is not the cause the global variable should be removed and the shelve opened only when required (use with closing(f): construct).

Change History

comment:1 Changed 15 months ago by ales

  • Severity changed from major to immediate

Running

python -c"import Orange; Orange.utils.addons.addons.close()"

does not produce the exception, so the diagnosis is probably correct.

comment:2 Changed 15 months ago by matija

  • Status changed from new to closed
  • Resolution set to fixed

I could not reproduce this on a fresh installation of Squeeze, so I'm working blind here. Hopefully this is fixed in commit e0b3d7e.

Note: See TracTickets for help on using tickets.