What is the code in no.finn.framework.LoginStuff.executeLogon doing? It
looks like you are looking up a resource which is throwing an exception.
This exception is being logged, which causes a resource lookup, resulting in
a deadlock contention in the java.util.ResourceBundle.getBundle method.
Karl.
> -----Original Message-----
> From: Johansen, Roar [mailto:[EMAIL PROTECTED]]
> Sent: Wednesday, June 20, 2001 3:20 AM
> To: JRun-Talk
> Subject: Java level deadlock in JRun
>
>
> > We are running JRun 3.02a Advanced version on Solaris 2.7
> and Suns JVM
> > 1.2.2_08. We are currently running Netscape Enterprise 3.63.
> >
> > This configuration freezes /deadlocks a little too frequently.
> > Using "kill -QUIT <pid>" we can create stack traces when
> the stops occur.
> > It seems that the deadlock is related to jrun log-event.
> When we look at
> > line [18] for t@10150 the method call is :
> > java.util.ResourceBundle.getBundle(ResourceBundle.java:417)
> . t@10193 line
> > [1] tries to do a getBundle for the same resource.
> >
> > Could this be a JRun bug? Does anyone know what we can do here?
> >
> >
> > Regards,
> > Roar Johansen
> >
> >
> > SIGQUIT
> > A SIGQUIT has been received. Do you want to:
> > [ 0 ] continue program
> > [ 1 ] check & print one deadlock
> > [ 2 ] check & print all deadlocks
> > [ 3 ] dump thread stacks
> > [ 4 ] dump lock registry
> > [ 5 ] heap inspection
> > [ 6 ] terminate program
> > Type number corresponding to selected action:
> > FOUND A JAVA LEVEL DEADLOCK:
> > ---------------------------
> > t@10193 waiting to lock object@0xeac110b8:"java/lang/Class"
> > which is locked by t@10150
> > t@10150 waiting to lock object@0xeadd08a4:"java/lang/Object"
> > which is locked by t@10193
> >
> > JAVA STACK INFORMATION FOR THREADS LISTED ABOVE:
> > -----------------------------------------------
> >
> > Java Stack for t@10193 (EE = 0x67c9550) "jcp-1362" :
> > ==========
> > [1] java.util.ResourceBundle.getBundle(ResourceBundle.java:417)
> > [2] java.util.ResourceBundle.getBundle(ResourceBundle.java:353)
> > [3]
> >
> java.text.DateFormatSymbols.getLocaleElements(DateFormatSymbol
> s.java:412)
> > [4]
> java.text.DateFormatSymbols.cacheLookup(DateFormatSymbols.java:426)
> > [5]
> java.text.DateFormatSymbols.initializeData(DateFormatSymbols.java:454)
> > [6] java.text.DateFormatSymbols.<init>(DateFormatSymbols.java:107)
> > [7] java.text.SimpleDateFormat.<init>(SimpleDateFormat.java:283)
> > [8] java.text.SimpleDateFormat.<init>(SimpleDateFormat.java:275)
> > [9]
> >
> allaire.jrun.util.PropertiesUtil.getVariableValue(PropertiesUt
> il.java:704)
> > [10]
> >
> allaire.jrun.util.PropertiesUtil.expandDynamicVariables(Proper
> tiesUtil.jav
> > a:595)
> > [11] allaire.jrun.logging.LogEvent.format(LogEvent.java:218)
> > [12]
> allaire.jrun.logging.FileLogWriter.logEvent(FileLogWriter.java:291)
> > [13]
> >
> allaire.jrun.logging.ThreadedLogger.processQueue(ThreadedLogge
> r.java:229)
> > [14]
> allaire.jrun.logging.ThreadedLogger.flush(ThreadedLogger.java:177)
> > [15]
> allaire.jrun.logging.ThreadedLogger.logEvent(ThreadedLogger.java:145)
> > [16]
> >
> allaire.jrun.logging.LoggingService.sendLogEvent(LoggingServic
> e.java:207)
> > [17]
> allaire.jrun.logging.LoggingService.logError(LoggingService.java:273)
> > [18] allaire.jrun.logging.LogDelegate.logError(LogDelegate.java:47)
> > [19]
> allaire.jrun.jrpp.ProxyService.swapRunnable(ProxyService.java:45)
> > [20] allaire.jrun.ThreadPool.swapRunnable(ThreadPool.java:216)
> > [21] allaire.jrun.WorkerThread.run(WorkerThread.java:62)
> >
> > Java Stack for t@10150 (EE = 0x6a908b0) "jcp-1356" :
> > ==========
> > [1]
> allaire.jrun.logging.ThreadedLogger.flush(ThreadedLogger.java:177)
> > [2]
> allaire.jrun.logging.ThreadedLogger.logEvent(ThreadedLogger.java:145)
> > [3]
> >
> allaire.jrun.logging.LoggingService.sendLogEvent(LoggingServic
> e.java:207)
> > [4]
> allaire.jrun.logging.LoggingService.logError(LoggingService.java:273)
> > [5]
> >
> allaire.jrun.resource.JarResource.loadDirectories(JarResource.
> java:188)
> > [6] allaire.jrun.resource.JarResource.<init>(JarResource.java:71)
> > [7] allaire.jrun.resource.JarResource.<init>(JarResource.java:49)
> > [8] allaire.jrun.resource.JarResource.<init>(JarResource.java:30)
> > [9]
> >
> allaire.jrun.servlet.JRunResourceManager.getResource(JRunResou
> rceManager.j
> > ava:84)
> > [10]
> >
> allaire.jrun.servlet.JRunResourceManager.getResource(JRunResou
> rceManager.j
> > ava:84)
> > [11]
> >
> allaire.jrun.servlet.JRunResourceManager.getResourceURL(JRunRe
> sourceManage
> > r.java:191)
> > [12] allaire.jrun.servlet.JRunSE.getResource(JRunSE.java:1457)
> > [13]
> >
> allaire.jrun.servlet.JRunServletLoader.getClassBytes(JRunServl
> etLoader.jav
> > a:619)
> > [14]
> >
> allaire.jrun.servlet.JRunServletLoader.loadClass(JRunServletLo
> ader.java:51
> > 3)
> > [15]
> >
> allaire.jrun.servlet.JRunServletLoader.loadClass(JRunServletLo
> ader.java:40
> > 1)
> > [16] java.lang.ClassLoader.loadClass(ClassLoader.java:256)
> > [17] java.util.ResourceBundle.findBundle(ResourceBundle.java:534)
> > [18] java.util.ResourceBundle.getBundle(ResourceBundle.java:417)
> > [19] java.util.ResourceBundle.getBundle(ResourceBundle.java:339)
> > [20] no.finn.framework.LoginStuff.executeLogon(LoginStuff.java:32)
> > [21]
> >
> no.finn.framework.navigation.FinnNavigator.doFINNService(FinnN
> avigator.jav
> > a:81)
> > [22]
> no.finn.framework.navigation.FinnServlet.service(FinnServlet.java:64)
> > [23] javax.servlet.http.HttpServlet.service(HttpServlet.java:860)
> > [24] allaire.jrun.servlet.JRunSE.service(JRunSE.java:1003)
> > [25] allaire.jrun.servlet.JRunSE.runServlet(JRunSE.java:869)
> > [26]
> >
> allaire.jrun.servlet.JRunRequestDispatcher.forward(JRunRequest
> Dispatcher.j
> > ava:58)
> > [27] allaire.jrun.servlet.JRunSE.service(JRunSE.java:1078)
> > [28] allaire.jrun.servlet.JvmContext.dispatch(JvmContext.java:322)
> > [29] allaire.jrun.jrpp.ProxyEndpoint.run(ProxyEndpoint.java:379)
> > [30] allaire.jrun.ThreadPool.run(ThreadPool.java:245)
> > [31] allaire.jrun.WorkerThread.run(WorkerThread.java:62)
> > -----------------------------------------------
> > Found 1 deadlock
> >
> >
> >
> Archives: http://www.mail-archive.com/[email protected]/
> Unsubscribe: http://www.houseoffusion.com/index.cfm?sidebar=lists
>
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Structure your ColdFusion code with Fusebox. Get the official book at
http://www.fusionauthority.com/bkinfo.cfm
Archives: http://www.mail-archive.com/[email protected]/
Unsubscribe: http://www.houseoffusion.com/index.cfm?sidebar=lists