Details
-
Bug
-
Resolution: Unresolved
-
Low
-
None
-
8.18.0, 8.9.10
-
None
-
2
-
Severity 3 - Minor
-
6
-
Description
Issue Summary
Shutting down the Bitbucket application issues an error in the application log. However it doesn't seem to have an impact on the performance of the application.
This is reproducible on Data Center: Yes
Steps to Reproduce
- Start up a Btbucketr instance and perform some activities such as browse through a couple of repositories etc
- Shut down the instance.
Expected Results
The application gets shutdown gracefully.
Actual Results
The below error is thrown in the atlassian-bitbucket.log file:
2024-02-09 12:38:29,538 ERROR [SpringApplicationShutdownHook] c.a.e.i.AsynchronousAbleEventDispatcher There was an exception thrown trying to dispatch event [com.atlassian.config.lifecycle.events.ApplicationStoppingEvent@2415d5b5] from the invoker [com.atlassian.event.internal.ComparableListenerInvoker@3d5af776] java.lang.RuntimeException: Can't stop an already stopped recording.. Listener: com.atlassian.troubleshooting.jfr.manager.DefaultJfrRecordingManager event: com.atlassian.config.lifecycle.events.ApplicationStoppingEvent at com.atlassian.event.internal.SingleParameterMethodListenerInvoker.invoke(SingleParameterMethodListenerInvoker.java:53) at com.atlassian.diagnostics.internal.platform.monitor.event.EventSystemMonitor.invokeMonitored(EventSystemMonitor.java:105) at com.atlassian.diagnostics.internal.platform.monitor.event.MonitoredListenerInvoker.invoke(MonitoredListenerInvoker.java:38) at com.atlassian.event.internal.ComparableListenerInvoker.invoke(ComparableListenerInvoker.java:48) at com.atlassian.event.internal.AsynchronousAbleEventDispatcher.lambda$null$0(AsynchronousAbleEventDispatcher.java:37) at com.atlassian.event.internal.AsynchronousAbleEventDispatcher.dispatch(AsynchronousAbleEventDispatcher.java:85) at com.atlassian.diagnostics.internal.platform.monitor.event.MonitoredEventDispatcher.dispatch(MonitoredEventDispatcher.java:36) at com.atlassian.event.internal.EventPublisherImpl.publish(EventPublisherImpl.java:114) at com.atlassian.event.internal.LockFreeEventPublisher.publish(LockFreeEventPublisher.java:40) at com.atlassian.stash.internal.event.TransactionAwareEventPublisher.internalPublish(TransactionAwareEventPublisher.java:159) at com.atlassian.stash.internal.event.TransactionAwareEventPublisher.publish(TransactionAwareEventPublisher.java:103) at com.atlassian.stash.internal.config.ConfigLifecycle.stop(ConfigLifecycle.java:45) at com.atlassian.stash.internal.spring.AbstractSmartLifecycle.stop(AbstractSmartLifecycle.java:36) at org.springframework.context.support.DefaultLifecycleProcessor.doStop(DefaultLifecycleProcessor.java:235) at org.springframework.context.support.DefaultLifecycleProcessor.access$300(DefaultLifecycleProcessor.java:54) at org.springframework.context.support.DefaultLifecycleProcessor$LifecycleGroup.stop(DefaultLifecycleProcessor.java:374) at org.springframework.context.support.DefaultLifecycleProcessor.stopBeans(DefaultLifecycleProcessor.java:207) at org.springframework.context.support.DefaultLifecycleProcessor.onClose(DefaultLifecycleProcessor.java:130) at org.springframework.context.support.AbstractApplicationContext.doClose(AbstractApplicationContext.java:1078) at org.springframework.context.support.AbstractApplicationContext.close(AbstractApplicationContext.java:1032) at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264) at java.base/java.util.concurrent.AbstractExecutorService.submit(AbstractExecutorService.java:140) at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264) at java.base/java.util.concurrent.AbstractExecutorService.submit(AbstractExecutorService.java:140) at org.springframework.boot.web.embedded.tomcat.TomcatWebServer.stopTomcat(TomcatWebServer.java:273) at org.springframework.boot.web.embedded.tomcat.TomcatWebServer.stop(TomcatWebServer.java:331) at org.springframework.boot.web.servlet.context.WebServerStartStopLifecycle.stop(WebServerStartStopLifecycle.java:52) at org.springframework.context.SmartLifecycle.stop(SmartLifecycle.java:117) at org.springframework.context.support.DefaultLifecycleProcessor.doStop(DefaultLifecycleProcessor.java:235) at org.springframework.context.support.DefaultLifecycleProcessor.access$300(DefaultLifecycleProcessor.java:54) at org.springframework.context.support.DefaultLifecycleProcessor$LifecycleGroup.stop(DefaultLifecycleProcessor.java:374) at org.springframework.context.support.DefaultLifecycleProcessor.stopBeans(DefaultLifecycleProcessor.java:207) at org.springframework.context.support.DefaultLifecycleProcessor.onClose(DefaultLifecycleProcessor.java:130) at org.springframework.context.support.AbstractApplicationContext.doClose(AbstractApplicationContext.java:1078) at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.doClose(ServletWebServerApplicationContext.java:174) at org.springframework.context.support.AbstractApplicationContext.close(AbstractApplicationContext.java:1032) at org.springframework.boot.SpringApplicationShutdownHook.closeAndWait(SpringApplicationShutdownHook.java:145) at java.base/java.lang.Iterable.forEach(Iterable.java:75) at org.springframework.boot.SpringApplicationShutdownHook.run(SpringApplicationShutdownHook.java:114) at java.base/java.lang.Thread.run(Thread.java:829) ... 23 frames trimmed Caused by: java.lang.IllegalStateException: Can't stop an already stopped recording. at jdk.jfr/jdk.jfr.internal.PlatformRecorder.stop(PlatformRecorder.java:262) at jdk.jfr/jdk.jfr.internal.PlatformRecording.stop(PlatformRecording.java:157) at jdk.jfr/jdk.jfr.Recording.stop(Recording.java:210) at com.atlassian.troubleshooting.jfr.domain.RecordingWrapper.stop(RecordingWrapper.java:207) at com.atlassian.troubleshooting.jfr.service.JfrAlwaysOnRecordingService.lambda$stopDefaultRecording$1(JfrAlwaysOnRecordingService.java:66) at java.base/java.util.Optional.ifPresent(Optional.java:183) at com.atlassian.troubleshooting.jfr.service.JfrAlwaysOnRecordingService.stopDefaultRecording(JfrAlwaysOnRecordingService.java:65) at com.atlassian.troubleshooting.jfr.manager.DefaultJfrRecordingManager.onStop(DefaultJfrRecordingManager.java:303) at com.atlassian.troubleshooting.jfr.manager.DefaultJfrRecordingManager.onApplicationStoppingEvent(DefaultJfrRecordingManager.java:236) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at com.atlassian.event.internal.SingleParameterMethodListenerInvoker.invoke(SingleParameterMethodListenerInvoker.java:42) ... 40 common frames omitted
This is a thrown exception in the JFR https://github.com/AdoptOpenJDK/openjdk-jdk11/blob/master/src/jdk.jfr/share/classes/jdk/jfr/internal/PlatformRecorder.java#L263.
Workaround
Currently, there is no known workaround for this behavior as it doesn't seem to be having an impact on the application.
Attachments
Issue Links
- mentioned in
-
Page Loading...
- relates to
-
ATSTPLUS-382 Loading...