Bug 1047515
Summary: | Domain Mode does not start with the IBM JDK | ||
---|---|---|---|
Product: | [JBoss] JBoss Enterprise Application Platform 6 | Reporter: | Eric Rich <erich> |
Component: | Domain Management | Assignee: | Brian Stansberry <brian.stansberry> |
Status: | CLOSED CURRENTRELEASE | QA Contact: | Petr Kremensky <pkremens> |
Severity: | high | Docs Contact: | Russell Dickenson <rdickens> |
Priority: | medium | ||
Version: | 6.2.0 | CC: | emuckenh, epp-bugs, kkhan, smumford, tfonteyn |
Target Milestone: | DR0 | ||
Target Release: | EAP 6.3.0 | ||
Hardware: | Unspecified | ||
OS: | Unspecified | ||
Whiteboard: | |||
Fixed In Version: | Doc Type: | Bug Fix | |
Doc Text: |
An issue that frequently prevented successfully starting JBoss EAP 6 in IBM JDK environments on Windows machines has been addressed in this release.
The issue has been traced to how binary data (i.e. a byte[]) written to `java.lang.Process.getOutputStream()` by the parent process is received over `System.in` by the child process. Any byte whose high order bit is 1 is garbled when received producing the following output in the console log:
----
[Host Controller] 16:44:06,419 ERROR [org.jboss.as.controller.management-operation] (management-handler-thread - 1) JBAS014612: Operation ("start") failed - address: ([
[Host Controller] ("host" => "master"),
[Host Controller] ("server-config" => "server-one")
[Host Controller] ]): java.lang.IllegalStateException: JBAS010986: Host-Controller is already shutdown.
[Host Controller] at org.jboss.as.host.controller.ServerInventoryImpl.startServer(ServerInventoryImpl.java:175)
----
An EAP managed domain Process Controller communicates with the server processes it manages over this mechanism, meaning the problem affected EAP 6 managed domains.
In this release of the product, all communication to a managed process over `stdin` has been Base64 encoded which ameliorates the problem and Managed domain servers now start properly on Windows with the IBM JDK.
|
Story Points: | --- |
Clone Of: | Environment: | ||
Last Closed: | 2014-06-28 15:37:23 UTC | Type: | Bug |
Regression: | --- | Mount Type: | --- |
Documentation: | --- | CRM: | |
Verified Versions: | Category: | --- | |
oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |
Cloudforms Team: | --- | Target Upstream Version: | |
Embargoed: |
Description
Eric Rich
2013-12-31 13:40:28 UTC
I have marked 901231 as a dependency to this as it seems like a likely candidate for the timing issue or reason for this behavior. please correct if this is not the case. Why do you see 901231 as being relevant? Anything beyond the IBM JDK aspect? I've removed the 901231 dependency as it's clear that's unrelated. See comments on WFLY-2697. This is a problem in how binary data (i.e. a byte[]) written to java.lang.Process.getOutputStream() by the parent process is received over System.in by the child process. Any byte whose high order bit is 1 is garbled when received. We suspect this has something to do with codepages and how the IBM JDK treats the standard io streams on Windows. Fiddling with chcp (Windows command to change the codepage) and setting system props like "console.encoding", "file.encoding", "ibm.system.encoding" and "sun.jnu.encoding" did not fix the issue, although there may be some magic combination that would if we had guidance from IBM. Verified on EAP 6.3.0.DR0 |