Greetings fine peoples,

I'm trying to use apptrace 
(http://code.google.com/p/apptrace/wiki/UsingApptrace) to find memory leaks 
in my web2py GAE application.  (i know they are there cause i get requests 
killed for out of memory).  I followed the instructions for installing 
apptrace and i can import guppy.heapy.heapyc at the python2.5 prompt, but 
when i try to run the code in the GAE dev server i get the following: 

ERROR    2011-12-20 18:59:46,483 dev_appserver.py:2785] Exception 
encountered handling request
Traceback (most recent call last):
  File 
"/Applications/GoogleAppEngineLauncher.app/Contents/Resources/GoogleAppEngine-default.bundle/Contents/Resources/google_appengine/google/appengine/tools/dev_appserver.py",
 
line 2726, in _HandleRequest
    self._Dispatch(dispatcher, self.rfile, outfile, env_dict)
  File 
"/Applications/GoogleAppEngineLauncher.app/Contents/Resources/GoogleAppEngine-default.bundle/Contents/Resources/google_appengine/google/appengine/tools/dev_appserver.py",
 
line 2611, in _Dispatch
    base_env_dict=env_dict)
  File 
"/Applications/GoogleAppEngineLauncher.app/Contents/Resources/GoogleAppEngine-default.bundle/Contents/Resources/google_appengine/google/appengine/tools/dev_appserver.py",
 
line 653, in Dispatch
    base_env_dict=base_env_dict)
  File 
"/Applications/GoogleAppEngineLauncher.app/Contents/Resources/GoogleAppEngine-default.bundle/Contents/Resources/google_appengine/google/appengine/tools/dev_appserver.py",
 
line 1675, in Dispatch
    self._module_dict)
  File 
"/Applications/GoogleAppEngineLauncher.app/Contents/Resources/GoogleAppEngine-default.bundle/Contents/Resources/google_appengine/google/appengine/tools/dev_appserver.py",
 
line 1575, in ExecuteCGI
    reset_modules = exec_script(config, handler_path, cgi_path, hook)
  File 
"/Applications/GoogleAppEngineLauncher.app/Contents/Resources/GoogleAppEngine-default.bundle/Contents/Resources/google_appengine/google/appengine/tools/dev_appserver.py",
 
line 1277, in ExecuteOrImportScript
    exec module_code in script_module.__dict__
  File "/Users/cfhowes/clients/rockriver/source/gae/web2py/gaehandler.py", 
line 101, in <module>
    main()
  File "/Users/cfhowes/clients/rockriver/source/gae/web2py/gaehandler.py", 
line 98, in main
    run_wsgi_app(wsgiapp)
  File 
"/Applications/GoogleAppEngineLauncher.app/Contents/Resources/GoogleAppEngine-default.bundle/Contents/Resources/google_appengine/google/appengine/ext/webapp/util.py",
 
line 98, in run_wsgi_app
    run_bare_wsgi_app(add_wsgi_middleware(application))
  File 
"/Applications/GoogleAppEngineLauncher.app/Contents/Resources/GoogleAppEngine-default.bundle/Contents/Resources/google_appengine/google/appengine/ext/webapp/util.py",
 
line 116, in run_bare_wsgi_app
    result = application(env, _start_response)
  File "routermiddleware.py", line 61, in __call__
    resp = req.get_response(self.app)
  File 
"/Applications/GoogleAppEngineLauncher.app/Contents/Resources/GoogleAppEngine-default.bundle/Contents/Resources/google_appengine/lib/webob/webob/__init__.py",
 
line 1216, in get_response
    application, catch_exc_info=False)
  File 
"/Applications/GoogleAppEngineLauncher.app/Contents/Resources/GoogleAppEngine-default.bundle/Contents/Resources/google_appengine/lib/webob/webob/__init__.py",
 
line 1188, in call_application
    output.extend(app_iter)
  File 
"/Applications/GoogleAppEngineLauncher.app/Contents/Resources/GoogleAppEngine-default.bundle/Contents/Resources/google_appengine/google/appengine/ext/appstats/recording.py",
 
line 926, in appstats_wsgi_wrapper
    result = app(environ, appstats_start_response)
  File 
"/Library/Python/2.5/site-packages/apptrace-0.2.3-py2.5.egg/apptrace/middleware.py",
 
line 116, in wsgi_app
    if record: recorder.trace()
  File 
"/Library/Python/2.5/site-packages/apptrace-0.2.3-py2.5.egg/apptrace/instruments.py",
 
line 174, in trace
    hp = hpy()
  File 
"/Library/Python/2.5/site-packages/guppy-0.1.9-py2.5-macosx-10.6-x86_64.egg/guppy/__init__.py",
 
line 37, in hpy
    return r.guppy.heapy.Use
  File 
"/Library/Python/2.5/site-packages/guppy-0.1.9-py2.5-macosx-10.6-x86_64.egg/guppy/etc/Glue.py",
 
line 45, in __getattr__
    return self._share.getattr(self, name)
  File 
"/Library/Python/2.5/site-packages/guppy-0.1.9-py2.5-macosx-10.6-x86_64.egg/guppy/etc/Glue.py",
 
line 195, in getattr
    d = self.getattr2(inter, cache, owner, name)
  File 
"/Library/Python/2.5/site-packages/guppy-0.1.9-py2.5-macosx-10.6-x86_64.egg/guppy/etc/Glue.py",
 
line 213, in getattr2
    x = self.getattr_package(inter, name)
  File 
"/Library/Python/2.5/site-packages/guppy-0.1.9-py2.5-macosx-10.6-x86_64.egg/guppy/etc/Glue.py",
 
line 261, in getattr_package
    x = self.makeModule(x, name)
  File 
"/Library/Python/2.5/site-packages/guppy-0.1.9-py2.5-macosx-10.6-x86_64.egg/guppy/etc/Glue.py",
 
line 321, in makeModule
    return Share(module, self, module.__name__, Clamp)
  File 
"/Library/Python/2.5/site-packages/guppy-0.1.9-py2.5-macosx-10.6-x86_64.egg/guppy/etc/Glue.py",
 
line 184, in __init__
    getattr(inter, name)
  File 
"/Library/Python/2.5/site-packages/guppy-0.1.9-py2.5-macosx-10.6-x86_64.egg/guppy/etc/Glue.py",
 
line 45, in __getattr__
    return self._share.getattr(self, name)
  File 
"/Library/Python/2.5/site-packages/guppy-0.1.9-py2.5-macosx-10.6-x86_64.egg/guppy/etc/Glue.py",
 
line 195, in getattr
    d = self.getattr2(inter, cache, owner, name)
  File 
"/Library/Python/2.5/site-packages/guppy-0.1.9-py2.5-macosx-10.6-x86_64.egg/guppy/etc/Glue.py",
 
line 215, in getattr2
    x = self.getattr3(inter, name)
  File 
"/Library/Python/2.5/site-packages/guppy-0.1.9-py2.5-macosx-10.6-x86_64.egg/guppy/etc/Glue.py",
 
line 283, in getattr3
    pa = getattr(pa, at)
  File 
"/Library/Python/2.5/site-packages/guppy-0.1.9-py2.5-macosx-10.6-x86_64.egg/guppy/etc/Glue.py",
 
line 45, in __getattr__
    return self._share.getattr(self, name)
  File 
"/Library/Python/2.5/site-packages/guppy-0.1.9-py2.5-macosx-10.6-x86_64.egg/guppy/etc/Glue.py",
 
line 195, in getattr
    d = self.getattr2(inter, cache, owner, name)
  File 
"/Library/Python/2.5/site-packages/guppy-0.1.9-py2.5-macosx-10.6-x86_64.egg/guppy/etc/Glue.py",
 
line 213, in getattr2
    x = self.getattr_package(inter, name)
  File 
"/Library/Python/2.5/site-packages/guppy-0.1.9-py2.5-macosx-10.6-x86_64.egg/guppy/etc/Glue.py",
 
line 250, in getattr_package
    x = __import__(self.makeName(name), globals(), locals())
  File 
"/Users/cfhowes/clients/rockriver/source/gae/web2py/gluon/custom_import.py", 
line 286, in __call__
    fromlist, level)
  File 
"/Users/cfhowes/clients/rockriver/source/gae/web2py/gluon/custom_import.py", 
line 80, in __call__
    level)
  File 
"/Applications/GoogleAppEngineLauncher.app/Contents/Resources/GoogleAppEngine-default.bundle/Contents/Resources/google_appengine/google/appengine/tools/dev_appserver_import_hook.py",
 
line 662, in Decorate
    return func(self, *args, **kwargs)
  File 
"/Applications/GoogleAppEngineLauncher.app/Contents/Resources/GoogleAppEngine-default.bundle/Contents/Resources/google_appengine/google/appengine/tools/dev_appserver_import_hook.py",
 
line 1818, in load_module
    return self.FindAndLoadModule(submodule, fullname, search_path)
  File 
"/Applications/GoogleAppEngineLauncher.app/Contents/Resources/GoogleAppEngine-default.bundle/Contents/Resources/google_appengine/google/appengine/tools/dev_appserver_import_hook.py",
 
line 662, in Decorate
    return func(self, *args, **kwargs)
  File 
"/Applications/GoogleAppEngineLauncher.app/Contents/Resources/GoogleAppEngine-default.bundle/Contents/Resources/google_appengine/google/appengine/tools/dev_appserver_import_hook.py",
 
line 1690, in FindAndLoadModule
    description)
  File 
"/Applications/GoogleAppEngineLauncher.app/Contents/Resources/GoogleAppEngine-default.bundle/Contents/Resources/google_appengine/google/appengine/tools/dev_appserver_import_hook.py",
 
line 662, in Decorate
    return func(self, *args, **kwargs)
  File 
"/Applications/GoogleAppEngineLauncher.app/Contents/Resources/GoogleAppEngine-default.bundle/Contents/Resources/google_appengine/google/appengine/tools/dev_appserver_import_hook.py",
 
line 1633, in LoadModuleRestricted
    description)
  File 
"/Library/Python/2.5/site-packages/guppy-0.1.9-py2.5-macosx-10.6-x86_64.egg/guppy/heapy/View.py",
 
line 555, in <module>
    prime_builtin_types()
  File 
"/Library/Python/2.5/site-packages/guppy-0.1.9-py2.5-macosx-10.6-x86_64.egg/guppy/heapy/View.py",
 
line 538, in prime_builtin_types
    import guppy.heapy.heapyc
  File 
"/Users/cfhowes/clients/rockriver/source/gae/web2py/gluon/custom_import.py", 
line 286, in __call__
    fromlist, level)
  File 
"/Users/cfhowes/clients/rockriver/source/gae/web2py/gluon/custom_import.py", 
line 80, in __call__
    level)
ImportError: No module named heapyc


it seems that somehow custom importer can't find this item that is on my 
pythonpath.  any ideas where/how i can fix that?  Since this is for 
temporary debugging i can modify things in web2py during my tests if need 
be.

thanks much!

christian

Reply via email to