JDK-7187703 : JConsole connection problem with Turkish configured JVM
  • Type: Bug
  • Component: tools
  • Sub-Component: jconsole
  • Affected Version: 7
  • Priority: P4
  • Status: Closed
  • Resolution: Won't Fix
  • OS: windows_7
  • CPU: x86
  • Submitted: 2012-07-30
  • Updated: 2023-12-14
  • Resolved: 2017-12-13
Related Reports
Duplicate :  
Relates :  
Description
FULL PRODUCT VERSION :
java version "1.7.0_02"
Java(TM) SE Runtime Environment (build 1.7.0_02-b13)
Java HotSpot(TM) 64-Bit Server VM (build 22.0-b10, mixed mode)

ADDITIONAL OS VERSION INFORMATION :
Windows 7 64bit

A DESCRIPTION OF THE PROBLEM :
When we run java application with regional and language settings as EN we can connect that application using JConsole. However we can not connect from JConsole if we run java application with regional and language settings as TR.

STEPS TO FOLLOW TO REPRODUCE THE PROBLEM :
1. Run a simple java application with Turkish regional and language settings. If your operating system's settings are not Turkish run java application with these VM arguments: -Duser.country=TR -Duser.language=tr
2. Run JConsole with -debug option.
3. On JConsole window select your java application from Local Process list.
4. Click Connect button.

EXPECTED VERSUS ACTUAL BEHAVIOR :
EXPECTED -
JConcole will connect to java application.
ACTUAL -
JConsole popup message is:
Connection Lost: Reconnect?
The connection to 772 has been lost because the remote process has been terminated. Would you like to reconnect?
(Reconnect and Cancel buttons)

ERROR MESSAGES/STACK TRACES THAT OCCUR :
JConsole: Output window log when run with -debug parameter:


java.lang.reflect.UndeclaredThrowableException
	at $Proxy4.getHeapMemoryUsage(Unknown Source)
	at sun.tools.jconsole.SummaryTab.formatSummary(SummaryTab.java:209)
	at sun.tools.jconsole.SummaryTab$1.doInBackground(SummaryTab.java:92)
	at sun.tools.jconsole.SummaryTab$1.doInBackground(SummaryTab.java:90)
	at javax.swing.SwingWorker$1.call(SwingWorker.java:296)
	at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334)
	at java.util.concurrent.FutureTask.run(FutureTask.java:166)
	at javax.swing.SwingWorker.run(SwingWorker.java:335)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
	at java.lang.Thread.run(Thread.java:722)
Caused by: java.io.InvalidObjectException: Failed to invoke from(CompositeData)
	at com.sun.jmx.mbeanserver.DefaultMXBeanMappingFactory.invalidObjectException(DefaultMXBeanMappingFactory.java:1408)
	at com.sun.jmx.mbeanserver.DefaultMXBeanMappingFactory$CompositeBuilderViaFrom.fromCompositeData(DefaultMXBeanMappingFactory.java:1016)
	at com.sun.jmx.mbeanserver.DefaultMXBeanMappingFactory$CompositeMapping.fromNonNullOpenValue(DefaultMXBeanMappingFactory.java:914)
	at com.sun.jmx.mbeanserver.DefaultMXBeanMappingFactory$NonNullMXBeanMapping.fromOpenValue(DefaultMXBeanMappingFactory.java:130)
	at com.sun.jmx.mbeanserver.ConvertingMethod.fromOpenReturnValue(ConvertingMethod.java:130)
	at com.sun.jmx.mbeanserver.MXBeanProxy.invoke(MXBeanProxy.java:168)
	at javax.management.MBeanServerInvocationHandler.invoke(MBeanServerInvocationHandler.java:265)
	... 11 more
Caused by: java.lang.reflect.InvocationTargetException
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:601)
	at com.sun.jmx.mbeanserver.DefaultMXBeanMappingFactory$CompositeBuilderViaFrom.fromCompositeData(DefaultMXBeanMappingFactory.java:1013)
	... 16 more
Caused by: java.lang.IllegalArgumentException: Unexpected composite type for MemoryUsage
	at sun.management.MemoryUsageCompositeData.validateCompositeData(MemoryUsageCompositeData.java:125)
	at java.lang.management.MemoryUsage.<init>(MemoryUsage.java:178)
	at java.lang.management.MemoryUsage.from(MemoryUsage.java:299)
	... 21 more


REPRODUCIBILITY :
This bug can be reproduced always.

---------- BEGIN SOURCE ----------
Any java code with regional setting Turkish.
---------- END SOURCE ----------

CUSTOMER SUBMITTED WORKAROUND :
Change regional setting to English when running java application.

Comments
Impact=High, GUI is not working properly Likelihood=Low, happens only on a Turkish configured JVM Workaround=Low, switch to other locale HLL=> P4
29-07-2013

Consider it unlikely that this bug will be prioritized in 7uX, hence deferring to 7-pool (that is next version of 7) //Tuva & Auno (that is SVC DEV & SVC SQE)
18-04-2013