Anonymous | Login | Signup for a new account | 12-17-2024 10:38 PST |
Main | My View | View Issues | Change Log | Docs |
Viewing Issue Simple Details [ Jump to Notes ] | [ View Advanced ] [ Issue History ] [ Print ] | ||||||||
ID | Category | Severity | Reproducibility | Date Submitted | Last Update | ||||
0004889 | [Resin] | minor | always | 12-02-11 12:08 | 02-21-12 16:55 | ||||
Reporter | cowan | View Status | public | ||||||
Assigned To | ferg | ||||||||
Priority | normal | Resolution | fixed | ||||||
Status | closed | Product Version | 4.0.24 | ||||||
Summary | 0004889: Static calls to Alarm create Threads | ||||||||
Description |
The AlarmClock created in Alarm as a static class declaration calls ThreadPool.getThreadPool which spawns new threads. It seems unnecessary to spawn threads unless they are really needed, particularly simply upon class initialization. This causes issues running on Google App Engine, because their sandbox does not permit thread creation. This results in GoogleQuercusServlet failing to serve PHP because PageManager calls Alarm.isActive. WARNING: Nested in java.lang.ExceptionInInitializerError: java.security.AccessControlException: access denied (java.lang.RuntimePermission modifyThreadGroup) at java.security.AccessControlContext.checkPermission(AccessControlContext.java:374) at java.security.AccessController.checkPermission(AccessController.java:546) at java.lang.SecurityManager.checkPermission(SecurityManager.java:532) at com.google.appengine.tools.development.DevAppServerFactory$CustomSecurityManager.checkPermission(DevAppServerFactory.java:166) at com.google.appengine.tools.development.DevAppServerFactory$CustomSecurityManager.checkAccess(DevAppServerFactory.java:191) at java.lang.ThreadGroup.checkAccess(ThreadGroup.java:299) at java.lang.Thread.init(Thread.java:336) at java.lang.Thread.<init>(Thread.java:436) at com.caucho.env.thread.ThreadLauncher.startWorkerThread(ThreadLauncher.java:125) at com.caucho.env.thread.AbstractTaskWorker.wake(AbstractTaskWorker.java:118) at com.caucho.env.thread.AbstractThreadLauncher.update(AbstractThreadLauncher.java:453) at com.caucho.env.thread.ThreadLauncher.setPriorityIdleMin(ThreadLauncher.java:74) at com.caucho.env.thread.ThreadLauncher.<init>(ThreadLauncher.java:64) at com.caucho.env.thread.ThreadPool.<init>(ThreadPool.java:136) at com.caucho.env.thread.ThreadPool.<init>(ThreadPool.java:129) at com.caucho.env.thread.ThreadPool.getThreadPool(ThreadPool.java:156) at com.caucho.util.AlarmClock.<init>(AlarmClock.java:65) at com.caucho.util.Alarm.<clinit>(Alarm.java:68) |
||||||||
Additional Information | Rep by M. Frank | ||||||||
Attached Files | |||||||||
|
There are no notes attached to this issue. |
Mantis 1.0.0rc3[^]
Copyright © 2000 - 2005 Mantis Group
27 total queries executed. 25 unique queries executed. |