[jboss-jira] [JBoss JIRA] Updated: (AS7-1085) client controller is stuck waiting for server to shut down (but server was shut down and will not answer any more)

Andre Dietisheim (JIRA) jira-events at lists.jboss.org
Wed Jun 22 10:12:23 EDT 2011


     [ https://issues.jboss.org/browse/AS7-1085?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Andre Dietisheim updated AS7-1085:
----------------------------------

    Steps to Reproduce: 
1) create the following operation:

{code}
ModelNode request = new ModelNode();
request.get(OP).set(SHUTDOWN);
{code}

2) and send it to the server on behalf of the client controller:

{code}
ModelControllerClient client = ModelControllerClient.Factory.create(host, port);
ModelNode response = client.execute(node);
{code}

Result:
The client keeps waiting in the #execute method. The stack that is available while the client is waiting is the following:

{code}
Thread [main] (Suspended)	
	Object.wait(long) line: not available [native method]	
	ManagementRequest$ManagementFuture<T>(Object).wait() line: 485 [local variables unavailable]	
	ManagementRequest$ManagementFuture<T>(AsyncFutureTask<T>).await() line: 192	
	ManagementRequest$ManagementFuture<T>(AsyncFutureTask<T>).get() line: 266	
	AbstractModelControllerClient$ExecuteRequest(ManagementRequest<T>).executeForResult(ExecutorService, ManagementClientChannelStrategy) line: 131	
	ModelControllerClient$Factory$2(AbstractModelControllerClient).executeSynch(ModelNode, OperationAttachments, OperationMessageHandler) line: 125	
	ModelControllerClient$Factory$2(AbstractModelControllerClient).execute(ModelNode, OperationMessageHandler) line: 90	
	ModelControllerClient$Factory$2(AbstractModelControllerClient).execute(ModelNode) line: 80	
	AS7Manager.quietlyExecute(ModelNode) line: 199	
	AS7Manager.stopServer() line: 157	
	AS7ManagerIntegrationTest.canStopServer() line: 172	
	NativeMethodAccessorImpl.invoke0(Method, Object, Object[]) line: not available [native method]	
	NativeMethodAccessorImpl.invoke(Object, Object[]) line: 39	
	DelegatingMethodAccessorImpl.invoke(Object, Object[]) line: 25	
	Method.invoke(Object, Object...) line: 597	
	FrameworkMethod$1.runReflectiveCall() line: 44	
	FrameworkMethod$1(ReflectiveCallable).run() line: 15	
	FrameworkMethod.invokeExplosively(Object, Object...) line: 41	
	InvokeMethod.evaluate() line: 20	
	RunBefores.evaluate() line: 28	
	RunAfters.evaluate() line: 31	
	BlockJUnit4ClassRunner.runNotIgnored(FrameworkMethod, EachTestNotifier) line: 79	
	BlockJUnit4ClassRunner.runChild(FrameworkMethod, RunNotifier) line: 71	
	BlockJUnit4ClassRunner.runChild(Object, RunNotifier) line: 49	
	ParentRunner$3.run() line: 193	
	ParentRunner$1.schedule(Runnable) line: 52	
	BlockJUnit4ClassRunner(ParentRunner<T>).runChildren(RunNotifier) line: 191	
	ParentRunner<T>.access$000(ParentRunner, RunNotifier) line: 42	
	ParentRunner$2.evaluate() line: 184	
	BlockJUnit4ClassRunner(ParentRunner<T>).run(RunNotifier) line: 236	
	Suite.runChild(Runner, RunNotifier) line: 128	
	Suite.runChild(Object, RunNotifier) line: 24	
	ParentRunner$3.run() line: 193	
	ParentRunner$1.schedule(Runnable) line: 52	
	Suite(ParentRunner<T>).runChildren(RunNotifier) line: 191	
	ParentRunner<T>.access$000(ParentRunner, RunNotifier) line: 42	
	ParentRunner$2.evaluate() line: 184	
	Suite(ParentRunner<T>).run(RunNotifier) line: 236	
	JUnit4TestClassReference(JUnit4TestReference).run(TestExecution) line: 50	
	TestExecution.run(ITestReference[]) line: 38	
	RemotePluginTestRunner(RemoteTestRunner).runTests(String[], String, TestExecution) line: 467	
	RemotePluginTestRunner(RemoteTestRunner).runTests(TestExecution) line: 683	
	RemotePluginTestRunner(RemoteTestRunner).run() line: 390	
	RemotePluginTestRunner.main(String[]) line: 62	
	CoreTestApplication.run(Object) line: 23	
	NativeMethodAccessorImpl.invoke0(Method, Object, Object[]) line: not available [native method]	
	NativeMethodAccessorImpl.invoke(Object, Object[]) line: 39	
	DelegatingMethodAccessorImpl.invoke(Object, Object[]) line: 25	
	Method.invoke(Object, Object...) line: 597	
	EclipseAppContainer.callMethodWithException(Object, String, Class[], Object[]) line: 587	
	EclipseAppHandle.run(Object) line: 198	
	EclipseAppLauncher.runApplication(Object) line: 110	
	EclipseAppLauncher.start(Object) line: 79	
	EclipseStarter.run(Object) line: 344	
	EclipseStarter.run(String[], Runnable) line: 179	
	NativeMethodAccessorImpl.invoke0(Method, Object, Object[]) line: not available [native method]	
	NativeMethodAccessorImpl.invoke(Object, Object[]) line: 39	
	DelegatingMethodAccessorImpl.invoke(Object, Object[]) line: 25	
	Method.invoke(Object, Object...) line: 597	
	Main.invokeFramework(String[], URL[]) line: 622	
	Main.basicRun(String[]) line: 577	
	Main.run(String[]) line: 1410	
	Main.main(String[]) line: 1386	
{code}

{quote}
AS7Manager.quietlyExecute(ModelNode) line: 199 
{quote}
is the jboss tools code that invokes client#execute

  was:
1) create the following operation:

{code}
	ModelNode request = new ModelNode();
	request.get(OP).set(SHUTDOWN);
{code}

2) and send it to the server on behalf of the client controller:

{code}
ModelControllerClient client = ModelControllerClient.Factory.create(host, port);
ModelNode response = client.execute(node);
{code}

Result:
The client keeps waiting in the #execute method. The stack that is available while the client is waiting is the following:

{code}
Thread [main] (Suspended)	
	Object.wait(long) line: not available [native method]	
	ManagementRequest$ManagementFuture<T>(Object).wait() line: 485 [local variables unavailable]	
	ManagementRequest$ManagementFuture<T>(AsyncFutureTask<T>).await() line: 192	
	ManagementRequest$ManagementFuture<T>(AsyncFutureTask<T>).get() line: 266	
	AbstractModelControllerClient$ExecuteRequest(ManagementRequest<T>).executeForResult(ExecutorService, ManagementClientChannelStrategy) line: 131	
	ModelControllerClient$Factory$2(AbstractModelControllerClient).executeSynch(ModelNode, OperationAttachments, OperationMessageHandler) line: 125	
	ModelControllerClient$Factory$2(AbstractModelControllerClient).execute(ModelNode, OperationMessageHandler) line: 90	
	ModelControllerClient$Factory$2(AbstractModelControllerClient).execute(ModelNode) line: 80	
	AS7Manager.quietlyExecute(ModelNode) line: 199	
	AS7Manager.stopServer() line: 157	
	AS7ManagerIntegrationTest.canStopServer() line: 172	
	NativeMethodAccessorImpl.invoke0(Method, Object, Object[]) line: not available [native method]	
	NativeMethodAccessorImpl.invoke(Object, Object[]) line: 39	
	DelegatingMethodAccessorImpl.invoke(Object, Object[]) line: 25	
	Method.invoke(Object, Object...) line: 597	
	FrameworkMethod$1.runReflectiveCall() line: 44	
	FrameworkMethod$1(ReflectiveCallable).run() line: 15	
	FrameworkMethod.invokeExplosively(Object, Object...) line: 41	
	InvokeMethod.evaluate() line: 20	
	RunBefores.evaluate() line: 28	
	RunAfters.evaluate() line: 31	
	BlockJUnit4ClassRunner.runNotIgnored(FrameworkMethod, EachTestNotifier) line: 79	
	BlockJUnit4ClassRunner.runChild(FrameworkMethod, RunNotifier) line: 71	
	BlockJUnit4ClassRunner.runChild(Object, RunNotifier) line: 49	
	ParentRunner$3.run() line: 193	
	ParentRunner$1.schedule(Runnable) line: 52	
	BlockJUnit4ClassRunner(ParentRunner<T>).runChildren(RunNotifier) line: 191	
	ParentRunner<T>.access$000(ParentRunner, RunNotifier) line: 42	
	ParentRunner$2.evaluate() line: 184	
	BlockJUnit4ClassRunner(ParentRunner<T>).run(RunNotifier) line: 236	
	Suite.runChild(Runner, RunNotifier) line: 128	
	Suite.runChild(Object, RunNotifier) line: 24	
	ParentRunner$3.run() line: 193	
	ParentRunner$1.schedule(Runnable) line: 52	
	Suite(ParentRunner<T>).runChildren(RunNotifier) line: 191	
	ParentRunner<T>.access$000(ParentRunner, RunNotifier) line: 42	
	ParentRunner$2.evaluate() line: 184	
	Suite(ParentRunner<T>).run(RunNotifier) line: 236	
	JUnit4TestClassReference(JUnit4TestReference).run(TestExecution) line: 50	
	TestExecution.run(ITestReference[]) line: 38	
	RemotePluginTestRunner(RemoteTestRunner).runTests(String[], String, TestExecution) line: 467	
	RemotePluginTestRunner(RemoteTestRunner).runTests(TestExecution) line: 683	
	RemotePluginTestRunner(RemoteTestRunner).run() line: 390	
	RemotePluginTestRunner.main(String[]) line: 62	
	CoreTestApplication.run(Object) line: 23	
	NativeMethodAccessorImpl.invoke0(Method, Object, Object[]) line: not available [native method]	
	NativeMethodAccessorImpl.invoke(Object, Object[]) line: 39	
	DelegatingMethodAccessorImpl.invoke(Object, Object[]) line: 25	
	Method.invoke(Object, Object...) line: 597	
	EclipseAppContainer.callMethodWithException(Object, String, Class[], Object[]) line: 587	
	EclipseAppHandle.run(Object) line: 198	
	EclipseAppLauncher.runApplication(Object) line: 110	
	EclipseAppLauncher.start(Object) line: 79	
	EclipseStarter.run(Object) line: 344	
	EclipseStarter.run(String[], Runnable) line: 179	
	NativeMethodAccessorImpl.invoke0(Method, Object, Object[]) line: not available [native method]	
	NativeMethodAccessorImpl.invoke(Object, Object[]) line: 39	
	DelegatingMethodAccessorImpl.invoke(Object, Object[]) line: 25	
	Method.invoke(Object, Object...) line: 597	
	Main.invokeFramework(String[], URL[]) line: 622	
	Main.basicRun(String[]) line: 577	
	Main.run(String[]) line: 1410	
	Main.main(String[]) line: 1386	
{code}

{quote}
AS7Manager.quietlyExecute(ModelNode) line: 199 
{quote}
is the jboss tools code that invokes client#execute



> client controller is stuck waiting for server to shut down (but server was shut down and will not answer any more)
> ------------------------------------------------------------------------------------------------------------------
>
>                 Key: AS7-1085
>                 URL: https://issues.jboss.org/browse/AS7-1085
>             Project: Application Server 7
>          Issue Type: Bug
>          Components: Domain Management
>    Affects Versions: 7.0.0.CR1
>            Reporter: Andre Dietisheim
>
> If I instruct the server to shut down by using the management API, the controller client gets stuck in a lock while (obviously) waiting for a server response. It keeps waiting on that lock since the server is already shut down and will not answer.

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

        


More information about the jboss-jira mailing list