[Zope-dev] PANIC!!! That old refresh bug again.

Shane Hathaway shane@zope.com
Wed, 18 Sep 2002 11:41:03 -0400


Lennart Regebro wrote:
> Once again I have the problem that all references to imported
> modules/objects/whatever dissapear when refreshing.
> 
> It seems like sometimes some modules are not refreshed, even though they
> really are. Could it be that not all modules are properly purged from
> memory, and then when Zope core calls our newly refreshed system, it calls
> old versions of the modules, which now have lost all connection to the outer
> world, since they no longer exist?

Known bug, no known way to fix it, sorry.  Objects created from the old 
modules that stick around after refresh will suddenly be bound to the 
module "None".  You're likely to run into this if your product does 
anything more than simply define and register classes that derive from 
SimpleItem.  However, there are ways to get around this, though they are 
all very dependent on your particular code.  Which of the following are 
you doing?

- Using threads (other than the way Zope uses them)

- Opening independent database connections

- Making one product depend on another using import statements

- Storing a module-level cache

- Monkey-patching

- others...?

Shane