It's all about the answers!

Ask a question

CRJAZ2069E java.lang.IllegalArgumentException: used argument cannot be less than 0


Mingzuo Shen (13158) | asked Sep 18 '13, 12:00 p.m.
retagged Sep 18 '13, 1:22 p.m. by Laura W. Hinson (16126)
Newbie question please?

I am seeing this message on the JTS diagnostics page:

CRJAZ2069E An error occurred during the execution of this diagnostic with the error message "java.lang.IllegalArgumentException: used argument cannot be less than 0". See the server log for more details.

Where is "the server log" please?

I tried to use findstr to find a file containing such strings.
findstr is useless here (findstr is stumped by "line too long", "file locked" etc).

Pointers to "the server log", or guesses at the cause of "less than 0" are appreciated!

Thanks in advance!

JTS 4.0.3.
JVM (from the status summary page): JRE 1.6.0 Windows Server 2008 R2 amd64-64 ...

Mingzuo

3 answers



permanent link
Bo Chulindra (1.3k2718) | answered Sep 19 '13, 12:14 p.m.
JAZZ DEVELOPER
The strack trace you provided shows that this exception is caused by the code in the JRE. I am guessing that this is a bug in the JRE.

I did a brief search for "used argument cannot be less than 0" and I came across two other cases of this happening and they seem to suggest this may happen rarely with the IBM JRE.

Comments
1
Bo Chulindra commented Sep 19 '13, 12:15 p.m.
JAZZ DEVELOPER

Note that the exception does not indicate anything wrong with the server. The exception is occurring when the diagnostics try to get details about the JVM's state.


Mingzuo Shen commented Sep 19 '13, 12:56 p.m.

Thanks!

So it is related to the JRE. Just now I also Googled and others have encountered

similar problem. Seems safe to ignore this diagnostic error.

We are running this on Windows.
I am going to try using Oracle/Sun JVM, just to see.


Bo Chulindra commented Sep 19 '13, 2:15 p.m.
JAZZ DEVELOPER

I strongly believe this is specific to IBM's JRE because the problem is that com.ibm.lang.management.MemoryPoolMXBeanImpl is passing in an invalid parameter to java.lang.management.MemoryUsage. The package name for MemoryPoolMXBeanImpl implies that it is IBM code.


permanent link
Bo Chulindra (1.3k2718) | answered Sep 18 '13, 12:35 p.m.
JAZZ DEVELOPER
edited Sep 18 '13, 12:36 p.m.
See http://pic.dhe.ibm.com/infocenter/clmhelp/v4r0m3/index.jsp?re=1&topic=/com.ibm.rational.clm.doc/topics/c_logfiles_loc.html&scope=null for help finding the server logs.

Comments
Mingzuo Shen commented Sep 18 '13, 1:31 p.m.

Thanks. Error in both jts.log and qm.log

But these are Java stack traces. Not helpful to me.
Hints of what is wrong please?
What and where I need to change?

Example:
[jts: Diagnostic com.ibm.team.repository.service.diagnostics.jvm.internal.jvmStateDiagnostic]
..."com.ibm.team.repository.service.diagnostics.jvm.internal.jvmStateDiagnostic".
java.lang.IllegalArgumentException: used argument cannot be less than 0
at java.lang.management.MemoryUsage.<init>(MemoryUsage.java:95)
...
at java.lang.Thread.run(Thread.java:770)



Bo Chulindra commented Sep 18 '13, 1:58 p.m.
JAZZ DEVELOPER

can you paste the entire stack trace?


Mingzuo Shen commented Sep 19 '13, 11:33 a.m.
2013-09-17 12:06:15,747 [jts: Diagnostic com.ibm.team.repository.service.diagnostics.jvm.internal.jvmStateDiagnostic] ERROR com.ibm.team.repository                             - CRJAZ2068E Error during diagnostic execution for diagnostic with id "com.ibm.team.repository.service.diagnostics.jvm.internal.jvmStateDiagnostic".
CRJAZ1166I The stack trace hash is A28A30A8E0C5BBE7CB5EC9CED93D6BB152A8845A.
java.lang.IllegalArgumentException: used argument cannot be less than 0
at java.lang.management.MemoryUsage.<init>(MemoryUsage.java:95)
at com.ibm.lang.management.MemoryPoolMXBeanImpl.getUsageImpl(Native Method)
at com.ibm.lang.management.MemoryPoolMXBeanImpl.getUsage(MemoryPoolMXBeanImpl.java:224)
 

Mingzuo Shen commented Sep 19 '13, 11:34 a.m.
  at com.ibm.team.repository.service.diagnostics.basic.internal.JVMStateDiagnostic.appendSingleMemoryPoolInformation(JVMStateDiagnostic.java:394)
at com.ibm.team.repository.service.diagnostics.basic.internal.JVMStateDiagnostic.appendMemoryPoolInformation(JVMStateDiagnostic.java:381)
at com.ibm.team.repository.service.diagnostics.basic.internal.JVMStateDiagnostic.appendManagementInformation(JVMStateDiagnostic.java:195)
at com.ibm.team.repository.service.diagnostics.basic.internal.JVMStateDiagnostic.executeTest(JVMStateDiagnostic.java:100)
at com.ibm.team.repository.service.diagnostic.AbstractDiagnostic.execute(AbstractDiagnostic.java:147)


Mingzuo Shen commented Sep 19 '13, 11:35 a.m.
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:60)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:37)
at java.lang.reflect.Method.invoke(Method.java:611)
at org.eclipse.soda.sat.core.internal.record.ExportProxyServiceRecord.invoke(ExportProxyServiceRecord.java:361)
at org.eclipse.soda.sat.core.internal.record.ExportProxyServiceRecord.access$0(ExportProxyServiceRecord.java:347)


Mingzuo Shen commented Sep 19 '13, 11:36 a.m.

  at org.eclipse.soda.sat.core.internal.record.ExportProxyServiceRecord$ExportedServiceInvocationHandler.invoke(ExportProxyServiceRecord.java:56)

at $Proxy1364.execute(Unknown Source)
at com.ibm.team.repository.service.internal.diagnostic.DiagnosticExecutionService$1.run(DiagnosticExecutionService.java:244)
at java.lang.Thread.run(Thread.java:770)


Mingzuo Shen commented Sep 19 '13, 12:01 p.m.

Thanks!
I had to break up the stack trace because it is too long.
I am thinking of a better way.
Would you try to download the whole files and take a look at them?
Thanks so much for your time.
I have set up 3 Google docs for admin.log, jts.log and qm.log.

The share option on the docs are "anyone with the link". 
The links are:

showing 5 of 7 show 2 more comments

permanent link
Mingzuo Shen (13158) | answered Sep 19 '13, 6:09 p.m.
Thank you Bo Chulindra for your time and valuable hints!

Seems WAS does not use the usual Oracle/Sun JDK, even on Windows.

So I downloaded IBM JDK 7 from the WebSphere trial download.
Switched my WAS to use JDK 7.
Seems to work, and my JVM diagnostic in JTS and QM is now a green check, instead of a red mark!

If JDK 7 becomes a problem in the future, I will switch back to JDK 1.6
and get used to see the red mark, or disable the diagnostic altogether.

Your answer


Register or to post your answer.


Dashboards and work items are no longer publicly available, so some links may be invalid. We now provide similar information through other means. Learn more here.