java.lang.RuntimeException: More than one cluster safety number in database.

Atlassian JIRA | Ryan Ackley [Atlassian] | 7 years ago
  1. 0

    I get this exception when I do a standalone standard setup from trunk {noformat} 2009-09-17 18:09:30,020 ERROR [DefaultQuartzScheduler_Worker-9] [org.quartz.core.ErrorLogger] schedulerError Job (DEFAULT.ClusterSafetyJob threw an exception. -- referer: http://localhost:8080/confluence/setup/setuplicense.action | url: /confluence/setup/setupembeddeddb-default.action | userName: anonymous | action: setupembeddeddb-default org.quartz.SchedulerException: Job threw an unhandled exception. [See nested exception: java.lang.RuntimeException: More than one cluster safety number in database.] at org.quartz.core.JobRunShell.run(JobRunShell.java:214) at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:520) * Nested Exception (Underlying Cause) --------------- java.lang.RuntimeException: More than one cluster safety number in database. at com.atlassian.confluence.cluster.safety.HibernateClusterSafetyDao.getClusterSafetyNumberObject(HibernateClusterSafetyDao.java:40) at com.atlassian.confluence.cluster.safety.HibernateClusterSafetyDao.getSafetyNumber(HibernateClusterSafetyDao.java:11) at com.atlassian.confluence.cluster.safety.DefaultClusterSafetyManager.verify(DefaultClusterSafetyManager.java:29) at sun.reflect.GeneratedMethodAccessor311.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:304) at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:182) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:149) at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:106) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171) at com.atlassian.spring.interceptors.SpringProfilingInterceptor.invoke(SpringProfilingInterceptor.java:16) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171) at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:204) at $Proxy69.verify(Unknown Source) at com.atlassian.confluence.cluster.safety.ClusterSafetyJob.executeJob(ClusterSafetyJob.java:13) at com.atlassian.confluence.setup.quartz.AbstractClusterAwareQuartzJobBean.surroundJobExecutionWithLogging(AbstractClusterAwareQuartzJobBean.java:63) at com.atlassian.confluence.setup.quartz.AbstractClusterAwareQuartzJobBean.executeInternal(AbstractClusterAwareQuartzJobBean.java:46) at org.springframework.scheduling.quartz.QuartzJobBean.execute(QuartzJobBean.java:86) at org.quartz.core.JobRunShell.run(JobRunShell.java:203) at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:520) {noformat}

    Atlassian JIRA | 7 years ago | Ryan Ackley [Atlassian]
    java.lang.RuntimeException: More than one cluster safety number in database.
  2. 0

    I get this exception when I do a standalone standard setup from trunk {noformat} 2009-09-17 18:09:30,020 ERROR [DefaultQuartzScheduler_Worker-9] [org.quartz.core.ErrorLogger] schedulerError Job (DEFAULT.ClusterSafetyJob threw an exception. -- referer: http://localhost:8080/confluence/setup/setuplicense.action | url: /confluence/setup/setupembeddeddb-default.action | userName: anonymous | action: setupembeddeddb-default org.quartz.SchedulerException: Job threw an unhandled exception. [See nested exception: java.lang.RuntimeException: More than one cluster safety number in database.] at org.quartz.core.JobRunShell.run(JobRunShell.java:214) at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:520) * Nested Exception (Underlying Cause) --------------- java.lang.RuntimeException: More than one cluster safety number in database. at com.atlassian.confluence.cluster.safety.HibernateClusterSafetyDao.getClusterSafetyNumberObject(HibernateClusterSafetyDao.java:40) at com.atlassian.confluence.cluster.safety.HibernateClusterSafetyDao.getSafetyNumber(HibernateClusterSafetyDao.java:11) at com.atlassian.confluence.cluster.safety.DefaultClusterSafetyManager.verify(DefaultClusterSafetyManager.java:29) at sun.reflect.GeneratedMethodAccessor311.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:304) at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:182) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:149) at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:106) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171) at com.atlassian.spring.interceptors.SpringProfilingInterceptor.invoke(SpringProfilingInterceptor.java:16) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171) at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:204) at $Proxy69.verify(Unknown Source) at com.atlassian.confluence.cluster.safety.ClusterSafetyJob.executeJob(ClusterSafetyJob.java:13) at com.atlassian.confluence.setup.quartz.AbstractClusterAwareQuartzJobBean.surroundJobExecutionWithLogging(AbstractClusterAwareQuartzJobBean.java:63) at com.atlassian.confluence.setup.quartz.AbstractClusterAwareQuartzJobBean.executeInternal(AbstractClusterAwareQuartzJobBean.java:46) at org.springframework.scheduling.quartz.QuartzJobBean.execute(QuartzJobBean.java:86) at org.quartz.core.JobRunShell.run(JobRunShell.java:203) at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:520) {noformat}

    Atlassian JIRA | 7 years ago | Ryan Ackley [Atlassian]
    java.lang.RuntimeException: More than one cluster safety number in database.
  3. 0

    The client site is down and they are not able to use their wiki. Immediatley after starting confluence it is throwing a cluster panic on a single node install ... see attached log. NB: the reference to builder before the panic is due to the fact that the plugin has been DISABLED to ensure that it is NOT the cause of the problem. I have applied the patch found here: http://jira.atlassian.com/browse/CONF-17136 {code} 2009-11-05 16:36:23,823 INFO [Thread-1] [com.atlassian.confluence.lifecycle] init Confluence is ready to serve 2009-11-05 16:36:24,683 WARN [http-443-2] [atlassian.confluence.themes.DefaultThemeManager] extractTheme Unable to find configured theme module: com.adaptavist.confluence.themes.sitebuilder:sitebuilder -- url: /dashboard.action | userName: anonymous 2009-11-05 16:36:25,464 WARN [http-443-2] [atlassian.confluence.themes.DefaultThemeManager] extractTheme Unable to find configured theme module: com.adaptavist.confluence.themes.sitebuilder:sitebuilder -- action: combined 2009-11-05 16:36:30,027 ERROR [DefaultQuartzScheduler_Worker-6] [org.quartz.core.JobRunShell] run Job DEFAULT.ClusterSafetyJob threw an unhandled Exception: java.lang.RuntimeException: More than one cluster safety number in database. at com.atlassian.confluence.cluster.safety.HibernateClusterSafetyDao.getClusterSafetyNumberObject(HibernateClusterSafetyDao.java:40) at com.atlassian.confluence.cluster.safety.HibernateClusterSafetyDao.setSafetyNumber(HibernateClusterSafetyDao.java:24) at com.atlassian.confluence.cluster.safety.DefaultClusterSafetyManager.verify(DefaultClusterSafetyManager.java:36) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:304) at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:182) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:149) at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:106) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171) at com.atlassian.spring.interceptors.SpringProfilingInterceptor.invoke(SpringProfilingInterceptor.java:20) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171) at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:204) at $Proxy68.verify(Unknown Source) at com.atlassian.confluence.cluster.safety.ClusterSafetyJob.executeJob(ClusterSafetyJob.java:13) at com.atlassian.confluence.setup.quartz.AbstractClusterAwareQuartzJobBean.surroundJobExecutionWithLogging(AbstractClusterAwareQuartzJobBean.java:63) at com.atlassian.confluence.setup.quartz.AbstractClusterAwareQuartzJobBean.executeInternal(AbstractClusterAwareQuartzJobBean.java:46) at org.springframework.scheduling.quartz.QuartzJobBean.execute(QuartzJobBean.java:86) at org.quartz.core.JobRunShell.run(JobRunShell.java:203) at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(Simple {code}

    Atlassian JIRA | 7 years ago | Alain Moran [adaptavist.com]
    java.lang.RuntimeException: More than one cluster safety number in database.
  4. Speed up your debug routine!

    Automated exception search integrated into your IDE

  5. 0

    Consistently getting the following when installing a plugin using remote API. After running this, Confluence must be restarted. On restart, the plugin shows that it was successfully installed. Same plugin jar can be installed successfully installed via the UI. https://plugins.atlassian.com/server/1.0/download/pluginVersion/370 was the plugin I was trying to install. {noformat} 2009-10-07 20:28:00,025 ERROR [DefaultQuartzScheduler_Worker-0] [org.quartz.core.ErrorLogger] schedulerError Job (DEFAULT.ClusterSafetyJob threw an exception. org.quartz.SchedulerException: Job threw an unhandled exception. [See nested exception: java.lang.RuntimeException: More than one cluster safety number in database.] at org.quartz.core.JobRunShell.run(JobRunShell.java:214) at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:520) * Nested Exception (Underlying Cause) --------------- java.lang.RuntimeException: More than one cluster safety number in database. at com.atlassian.confluence.cluster.safety.HibernateClusterSafetyDao.getClusterSafetyNumberObject(HibernateClusterSafetyDao.java:40) at com.atlassian.confluence.cluster.safety.HibernateClusterSafetyDao.setSafetyNumber(HibernateClusterSafetyDao.java:24) at com.atlassian.confluence.cluster.safety.DefaultClusterSafetyManager.verify(DefaultClusterSafetyManager.java:34) at sun.reflect.GeneratedMethodAccessor382.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:304) at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:182) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:149) at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:106) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171) at com.atlassian.spring.interceptors.SpringProfilingInterceptor.invoke(SpringProfilingInterceptor.java:20) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171) at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:204) at $Proxy68.verify(Unknown Source) at com.atlassian.confluence.cluster.safety.ClusterSafetyJob.executeJob(ClusterSafetyJob.java:13) at com.atlassian.confluence.setup.quartz.AbstractClusterAwareQuartzJobBean.surroundJobExecutionWithLogging(AbstractClusterAwareQuartzJobBean.java:63) at com.atlassian.confluence.setup.quartz.AbstractClusterAwareQuartzJobBean.executeInternal(AbstractClusterAwareQuartzJobBean.java:46) at org.springframework.scheduling.quartz.QuartzJobBean.execute(QuartzJobBean.java:86) at org.quartz.core.JobRunShell.run(JobRunShell.java:203) at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:520) {noformat} Tried some other plugins (calendar plugin for example). The jar installs and removes fine from the UI. But get the following error from the API: {noformat} java.lang.RuntimeException: There was a problem evicting or flushing a PluginData object at org.apache.axis.message.SOAPFaultBuilder.createFault(SOAPFaultBuilder.java:222) at org.apache.axis.message.SOAPFaultBuilder.endElement(SOAPFaultBuilder.java:129) at org.apache.axis.encoding.DeserializationContext.endElement(DeserializationContext.java:1087) at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.endElement(AbstractSAXParser.java:633) at com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.scanEndElement(XMLNSDocumentScannerImpl.java:719) at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDispatcher.dispatch(XMLDocumentFragmentScannerImpl.java:1685) at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScannerImpl.java:368) at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:834) at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:764) at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.java:148) at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(AbstractSAXParser.java:1242) at javax.xml.parsers.SAXParser.parse(SAXParser.java:375) at org.apache.axis.encoding.DeserializationContext.parse(DeserializationContext.java:227) at org.apache.axis.SOAPPart.getAsSOAPEnvelope(SOAPPart.java:696) at org.apache.axis.Message.getSOAPEnvelope(Message.java:435) at org.apache.axis.handlers.soap.MustUnderstandChecker.invoke(MustUnderstandChecker.java:62) at org.apache.axis.client.AxisClient.invoke(AxisClient.java:206) at org.apache.axis.client.Call.invokeEngine(Call.java:2784) at org.apache.axis.client.Call.invoke(Call.java:2767) at org.apache.axis.client.Call.invoke(Call.java:2443) at org.apache.axis.client.Call.invoke(Call.java:2366) at org.apache.axis.client.Call.invoke(Call.java:1812) at com.dolby.confluence.net.confluence.ConfluenceserviceV1SoapBindingStub.installPlugin(ConfluenceserviceV1SoapBindingStub.java:4654) at org.swift.confluence.cli.ConfluenceClient.installPlugin(ConfluenceClient.java:2187) at org.swift.confluence.cli.ConfluenceClient.handleRequest(ConfluenceClient.java:441) at org.swift.common.cli.AbstractRemoteClient.process(AbstractRemoteClient.java:90) at org.swift.common.cli.CliClient.doWork(CliClient.java:160) at org.swift.confluence.cli.ConfluenceClient.main(ConfluenceClient.java:99) {noformat}

    Atlassian JIRA | 7 years ago | Bob Swift [Bob Swift Atlassian Add-ons]
    java.lang.RuntimeException: More than one cluster safety number in database.
  6. 0

    After upgrading from 2.2 to 3.0.2 I am receiving a constant stream, about 3 a minute of the following error. 2009-11-02 14:57:30,025 ERROR [DefaultQuartzScheduler_Worker-2] [org.quartz.core.ErrorLogger] schedulerError Job (DEFAULT.ClusterSafetyJob threw an exception. org.quartz.SchedulerException: Job threw an unhandled exception. [See nested exception: java.lang.RuntimeException: More than one cluster safety number in database.] at org.quartz.core.JobRunShell.run(JobRunShell.java:214) at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:520) * Nested Exception (Underlying Cause) --------------- java.lang.RuntimeException: More than one cluster safety number in database. at com.atlassian.confluence.cluster.safety.HibernateClusterSafetyDao.getClusterSafetyNumberObject(HibernateClusterSafetyDao.java:40) at com.atlassian.confluence.cluster.safety.HibernateClusterSafetyDao.setSafetyNumber(HibernateClusterSafetyDao.java:24) at com.atlassian.confluence.cluster.safety.DefaultClusterSafetyManager.verify(DefaultClusterSafetyManager.java:36) at sun.reflect.GeneratedMethodAccessor247.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:304) at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:182) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:149) at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:106) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171) at com.atlassian.spring.interceptors.SpringProfilingInterceptor.invoke(SpringProfilingInterceptor.java:20) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171) at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:204) at $Proxy68.verify(Unknown Source) at com.atlassian.confluence.cluster.safety.ClusterSafetyJob.executeJob(ClusterSafetyJob.java:13) at com.atlassian.confluence.setup.quartz.AbstractClusterAwareQuartzJobBean.surroundJobExecutionWithLogging(AbstractClusterAwareQuartzJobBean.java:63) at com.atlassian.confluence.setup.quartz.AbstractClusterAwareQuartzJobBean.executeInternal(AbstractClusterAwareQuartzJobBean.java:46) at org.springframework.scheduling.quartz.QuartzJobBean.execute(QuartzJobBean.java:86) at org.quartz.core.JobRunShell.run(JobRunShell.java:203) at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:520) I followed the instructions from a a similar bug report CONF-17136 . This didn't help. RESOLVED? I dropped one of the two rows out of the CLUSTERSAFETY table. This seems to have resolved the issue for now.

    Atlassian JIRA | 7 years ago | Tom Baxter
    java.lang.RuntimeException: More than one cluster safety number in database.

    Not finding the right solution?
    Take a tour to get the most out of Samebug.

    Tired of useless tips?

    Automated exception search integrated into your IDE

    Root Cause Analysis

    1. java.lang.RuntimeException

      More than one cluster safety number in database.

      at com.atlassian.confluence.cluster.safety.HibernateClusterSafetyDao.getClusterSafetyNumberObject()
    2. com.atlassian.confluence
      DefaultClusterSafetyManager.verify
      1. com.atlassian.confluence.cluster.safety.HibernateClusterSafetyDao.getClusterSafetyNumberObject(HibernateClusterSafetyDao.java:40)
      2. com.atlassian.confluence.cluster.safety.HibernateClusterSafetyDao.getSafetyNumber(HibernateClusterSafetyDao.java:11)
      3. com.atlassian.confluence.cluster.safety.DefaultClusterSafetyManager.verify(DefaultClusterSafetyManager.java:29)
      3 frames
    3. Java RT
      Method.invoke
      1. sun.reflect.GeneratedMethodAccessor311.invoke(Unknown Source)
      2. sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
      3. java.lang.reflect.Method.invoke(Method.java:597)
      3 frames
    4. Spring AOP
      ReflectiveMethodInvocation.proceed
      1. org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:304)
      2. org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:182)
      3. org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:149)
      3 frames
    5. Spring Tx
      TransactionInterceptor.invoke
      1. org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:106)
      1 frame
    6. Spring AOP
      ReflectiveMethodInvocation.proceed
      1. org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
      1 frame
    7. com.atlassian.spring
      SpringProfilingInterceptor.invoke
      1. com.atlassian.spring.interceptors.SpringProfilingInterceptor.invoke(SpringProfilingInterceptor.java:16)
      1 frame
    8. Spring AOP
      JdkDynamicAopProxy.invoke
      1. org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
      2. org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:204)
      2 frames
    9. Unknown
      $Proxy69.verify
      1. $Proxy69.verify(Unknown Source)
      1 frame
    10. com.atlassian.confluence
      AbstractClusterAwareQuartzJobBean.executeInternal
      1. com.atlassian.confluence.cluster.safety.ClusterSafetyJob.executeJob(ClusterSafetyJob.java:13)
      2. com.atlassian.confluence.setup.quartz.AbstractClusterAwareQuartzJobBean.surroundJobExecutionWithLogging(AbstractClusterAwareQuartzJobBean.java:63)
      3. com.atlassian.confluence.setup.quartz.AbstractClusterAwareQuartzJobBean.executeInternal(AbstractClusterAwareQuartzJobBean.java:46)
      3 frames
    11. Spring Context Support
      QuartzJobBean.execute
      1. org.springframework.scheduling.quartz.QuartzJobBean.execute(QuartzJobBean.java:86)
      1 frame
    12. quartz
      SimpleThreadPool$WorkerThread.run
      1. org.quartz.core.JobRunShell.run(JobRunShell.java:203)
      2. org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:520)
      2 frames