Anonymous | Login | Signup for a new account | 12-17-2024 10:33 PST |
Main | My View | View Issues | Change Log | Docs |
Viewing Issue Advanced Details [ Jump to Notes ] | [ View Simple ] [ 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 | Platform | |||||
Status | closed | OS | |||||||
Projection | none | OS Version | |||||||
ETA | none | Fixed in Version | 4.0.26 | Product Version | 4.0.24 | ||||
Product Build | |||||||||
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) |
||||||||
Steps To Reproduce | |||||||||
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. |