[
https://issues.jboss.org/browse/AS7-1085?page=com.atlassian.jira.plugin.s...
]
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