Hi, I successfully created a WAR file which was able to run on Apache
Tomcat with no problem. But when I uploaded it to the Google App
Engine, it shows me a error message like this:
Could not initialize class org.python.modules.thread.thread
RequestURI=/
Caused by:
java.lang.NoClassDefFoundError: Could not initialize class
org.python.modules.thread.thread
at java.lang.Class.forName0(Native Method)
...
...
at org.mortbay.io.nio.SelectChannelEndPoint.run
(SelectChannelEndPoint.java:396)
at org.mortbay.thread.BoundedThreadPool$PoolThread.run
(BoundedThreadPool.java:442)
I thought this happened because GAE disables threads as it said "A
Java application cannot create a new java.lang.ThreadGroup nor a new
java.lang.Thread. These restrictions also apply to JRE classes that
make use of threads."
Is there any way to remedy this situation? Any help would be
appreciated.
FULL TRACEBACK:
HTTP ERROR: 500
Could not initialize class org.python.modules.thread.thread
RequestURI=/
Caused by:
java.lang.NoClassDefFoundError: Could not initialize class
org.python.modules.thread.thread
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:169)
at org.python.core.SyspathJavaLoader.loadClass(SyspathJavaLoader.java:
107)
at java.lang.ClassLoader.loadClass(ClassLoader.java:254)
at org.python.core.Py.findClassEx(Py.java:817)
at org.python.core.imp.loadBuiltin(imp.java:431)
at org.python.core.imp.find_module(imp.java:393)
at org.python.core.imp.import_next(imp.java:635)
at org.python.core.imp.import_name(imp.java:746)
at org.python.core.imp.importName(imp.java:806)
at org.python.core.ImportFunction.__call__(__builtin__.java:1232)
at org.python.core.PyObject.__call__(PyObject.java:367)
at org.python.core.__builtin__.__import__(__builtin__.java:1202)
at org.python.core.imp.importFromAs(imp.java:884)
at org.python.core.imp.importFrom(imp.java:860)
at threading$py.f$0(__pyclasspath__/threading.py:375)
at threading$py.call_function(__pyclasspath__/threading.py)
at org.python.core.PyTableCode.call(PyTableCode.java:165)
at org.python.core.PyCode.call(PyCode.java:18)
at org.python.core.imp.createFromCode(imp.java:326)
at org.python.core.util.importer.importer_load_module(importer.java:
109)
at org.python.core.ClasspathPyImporter.ClasspathPyImporter_load_module
(ClasspathPyImporter.java:63)
at org.python.core.ClasspathPyImporter
$ClasspathPyImporter_load_module_exposer.__call__(Unknown Source)
at org.python.core.PyBuiltinMethodNarrow.__call__
(PyBuiltinMethodNarrow.java:47)
at org.python.core.imp.loadFromLoader(imp.java:451)
at org.python.core.imp.find_module(imp.java:408)
at org.python.core.imp.import_next(imp.java:635)
at org.python.core.imp.import_first(imp.java:665)
at org.python.core.imp.import_name(imp.java:756)
at org.python.core.imp.importName(imp.java:806)
at org.python.core.ImportFunction.__call__(__builtin__.java:1232)
at org.python.core.PyObject.__call__(PyObject.java:367)
at org.python.core.__builtin__.__import__(__builtin__.java:1202)
at org.python.core.imp.importFromAs(imp.java:884)
at org.python.core.imp.importFrom(imp.java:860)
at django.core.handlers.wsgi$py.f$0(/Users/olliwang/workspace/
jython2.5.1/Lib/site-packages/Django-1.1.1-py2.5.egg/django/core/
handlers/wsgi.py:217)
at django.core.handlers.wsgi$py.call_function(/Users/olliwang/
workspace/jython2.5.1/Lib/site-packages/Django-1.1.1-py2.5.egg/django/
core/handlers/wsgi.py)
at org.python.core.PyTableCode.call(PyTableCode.java:165)
at org.python.core.PyCode.call(PyCode.java:18)
at org.python.core.imp.createFromCode(imp.java:326)
at org.python.core.util.importer.importer_load_module(importer.java:
109)
at org.python.core.ClasspathPyImporter.ClasspathPyImporter_load_module
(ClasspathPyImporter.java:63)
at org.python.core.ClasspathPyImporter
$ClasspathPyImporter_load_module_exposer.__call__(Unknown Source)
at org.python.core.PyBuiltinMethodNarrow.__call__
(PyBuiltinMethodNarrow.java:47)
at org.python.core.imp.loadFromLoader(imp.java:451)
at org.python.core.imp.find_module(imp.java:408)
at org.python.core.PyModule.impAttr(PyModule.java:109)
at org.python.core.imp.import_next(imp.java:637)
at org.python.core.imp.import_name(imp.java:776)
at org.python.core.imp.importName(imp.java:806)
at org.python.core.ImportFunction.__call__(__builtin__.java:1232)
at org.python.core.PyObject.__call__(PyObject.java:367)
at org.python.core.__builtin__.__import__(__builtin__.java:1202)
at org.python.core.imp.importFromAs(imp.java:884)
at org.python.core.imp.importFrom(imp.java:860)
at application$py.f$0(/Users/olliwang/workspace/modjango/
application.py:6)
at application$py.call_function(/Users/olliwang/workspace/modjango/
application.py)
at org.python.core.PyTableCode.call(PyTableCode.java:165)
at org.python.core.PyCode.call(PyCode.java:18)
at org.python.core.imp.createFromCode(imp.java:326)
at org.python.core.util.importer.importer_load_module(importer.java:
109)
at org.python.core.ClasspathPyImporter.ClasspathPyImporter_load_module
(ClasspathPyImporter.java:63)
at org.python.core.ClasspathPyImporter
$ClasspathPyImporter_load_module_exposer.__call__(Unknown Source)
at org.python.core.PyBuiltinMethodNarrow.__call__
(PyBuiltinMethodNarrow.java:47)
at org.python.core.imp.loadFromLoader(imp.java:451)
at org.python.core.imp.find_module(imp.java:408)
at org.python.core.imp.import_next(imp.java:635)
at org.python.core.imp.import_first(imp.java:665)
at org.python.core.imp.import_name(imp.java:756)
at org.python.core.imp.importName(imp.java:806)
at org.python.core.ImportFunction.__call__(__builtin__.java:1232)
at org.python.core.PyObject.__call__(PyObject.java:451)
at org.python.core.PyObject.__call__(PyObject.java:457)
at modjy.modjy_publish$py.load_importable$6(__pyclasspath__/modjy/
modjy_publish.py:105)
at modjy.modjy_publish$py.call_function(__pyclasspath__/modjy/
modjy_publish.py)
at org.python.core.PyTableCode.call(PyTableCode.java:165)
at org.python.core.PyBaseCode.call(PyBaseCode.java:297)
at org.python.core.PyBaseCode.call(PyBaseCode.java:191)
at org.python.core.PyFunction.__call__(PyFunction.java:385)
at org.python.core.PyMethod.__call__(PyMethod.java:215)
at org.python.core.PyMethod.instancemethod___call__(PyMethod.java:
221)
at org.python.core.PyMethod.__call__(PyMethod.java:206)
at org.python.core.PyObject.__call__(PyObject.java:397)
at org.python.core.PyObject.__call__(PyObject.java:401)
at modjy.modjy_publish$py.get_app_object_importable$5(__pyclasspath__/
modjy/modjy_publish.py:86)
at modjy.modjy_publish$py.call_function(__pyclasspath__/modjy/
modjy_publish.py)
at org.python.core.PyTableCode.call(PyTableCode.java:165)
at org.python.core.PyBaseCode.call(PyBaseCode.java:297)
at org.python.core.PyBaseCode.call(PyBaseCode.java:191)
at org.python.core.PyFunction.__call__(PyFunction.java:385)
at org.python.core.PyMethod.__call__(PyMethod.java:215)
at org.python.core.PyMethod.instancemethod___call__(PyMethod.java:
221)
at org.python.core.PyMethod.__call__(PyMethod.java:206)
at org.python.core.PyObject.__call__(PyObject.java:397)
at org.python.core.PyObject.__call__(PyObject.java:401)
at modjy.modjy_publish$py.get_app_object$4(__pyclasspath__/modjy/
modjy_publish.py:63)
at modjy.modjy_publish$py.call_function(__pyclasspath__/modjy/
modjy_publish.py)
at org.python.core.PyTableCode.call(PyTableCode.java:165)
at org.python.core.PyBaseCode.call(PyBaseCode.java:297)
at org.python.core.PyBaseCode.call(PyBaseCode.java:191)
at org.python.core.PyFunction.__call__(PyFunction.java:385)
at org.python.core.PyFunction.__call__(PyFunction.java:380)
at org.python.modules.SynchronizedCallable.__call__(synchronize.java:
53)
at org.python.core.PyObject.__call__(PyObject.java:355)
at org.python.core.PyMethod.__call__(PyMethod.java:215)
at org.python.core.PyMethod.instancemethod___call__(PyMethod.java:
221)
at org.python.core.PyMethod.__call__(PyMethod.java:206)
at org.python.core.PyObject.__call__(PyObject.java:414)
at org.python.core.PyObject.__call__(PyObject.java:418)
at modjy.modjy$py.dispatch_to_application$9(__pyclasspath__/modjy/
modjy.py:103)
at modjy.modjy$py.call_function(__pyclasspath__/modjy/modjy.py)
at org.python.core.PyTableCode.call(PyTableCode.java:165)
at org.python.core.PyBaseCode.call(PyBaseCode.java:297)
at org.python.core.PyBaseCode.call(PyBaseCode.java:191)
at org.python.core.PyFunction.__call__(PyFunction.java:385)
at org.python.core.PyMethod.__call__(PyMethod.java:215)
at org.python.core.PyMethod.instancemethod___call__(PyMethod.java:
221)
at org.python.core.PyMethod.__call__(PyMethod.java:206)
at org.python.core.PyObject.__call__(PyObject.java:432)
at org.python.core.PyObject.__call__(PyObject.java:436)
at modjy.modjy$py.service$7(__pyclasspath__/modjy/modjy.py:80)
at modjy.modjy$py.call_function(__pyclasspath__/modjy/modjy.py)
at org.python.core.PyTableCode.call(PyTableCode.java:165)
at org.python.core.PyBaseCode.call(PyBaseCode.java:297)
at org.python.core.PyBaseCode.call(PyBaseCode.java:191)
at org.python.core.PyFunction.__call__(PyFunction.java:385)
at org.python.core.PyMethod.__call__(PyMethod.java:215)
at org.python.core.PyMethod.instancemethod___call__(PyMethod.java:
221)
at org.python.core.PyMethod.__call__(PyMethod.java:206)
at org.python.core.PyObject.__call__(PyObject.java:367)
at org.python.core.PyObject._jcallexc(PyObject.java:3500)
at org.python.proxies.modjy.modjy$modjy_servlet$2.service(Unknown
Source)
at com.xhaus.modjy.ModjyJServlet.service(ModjyJServlet.java:126)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:806)
at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:
487)
at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter
(ServletHandler.java:1093)
at
com.google.apphosting.utils.servlet.TransactionCleanupFilter.doFilter
(TransactionCleanupFilter.java:43)
at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter
(ServletHandler.java:1084)
at com.google.appengine.tools.development.StaticFileFilter.doFilter
(StaticFileFilter.java:121)
at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter
(ServletHandler.java:1084)
at org.mortbay.jetty.servlet.ServletHandler.handle
(ServletHandler.java:360)
at org.mortbay.jetty.security.SecurityHandler.handle
(SecurityHandler.java:216)
at org.mortbay.jetty.servlet.SessionHandler.handle
(SessionHandler.java:181)
at org.mortbay.jetty.handler.ContextHandler.handle
(ContextHandler.java:712)
at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:
405)
at com.google.apphosting.utils.jetty.DevAppEngineWebAppContext.handle
(DevAppEngineWebAppContext.java:54)
at org.mortbay.jetty.handler.HandlerWrapper.handle
(HandlerWrapper.java:139)
at com.google.appengine.tools.development.JettyContainerService
$ApiProxyHandler.handle(JettyContainerService.java:342)
at org.mortbay.jetty.handler.HandlerWrapper.handle
(HandlerWrapper.java:139)
at org.mortbay.jetty.Server.handle(Server.java:313)
at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:
506)
at org.mortbay.jetty.HttpConnection$RequestHandler.headerComplete
(HttpConnection.java:830)
at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:514)
at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:211)
at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:381)
at org.mortbay.io.nio.SelectChannelEndPoint.run
(SelectChannelEndPoint.java:396)
at org.mortbay.thread.BoundedThreadPool$PoolThread.run
(BoundedThreadPool.java:442)
Powered by Jetty://
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups
"Google App Engine for Java" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/google-appengine-java?hl=en
-~----------~----~----~----~------~----~------~--~---