[JBoss JIRA] (JBTM-2756) Static code analysis: nondeterministic locking behavior at ThreadAssociations#removeAll
by Ondra Chaloupka (JIRA)
[ https://issues.jboss.org/browse/JBTM-2756?page=com.atlassian.jira.plugin.... ]
Ondra Chaloupka reassigned JBTM-2756:
-------------------------------------
Assignee: (was: Ondra Chaloupka)
> Static code analysis: nondeterministic locking behavior at ThreadAssociations#removeAll
> ---------------------------------------------------------------------------------------
>
> Key: JBTM-2756
> URL: https://issues.jboss.org/browse/JBTM-2756
> Project: JBoss Transaction Manager
> Issue Type: Bug
> Components: JTS
> Affects Versions: 5.3.4.Final
> Reporter: Ondra Chaloupka
>
> Static code analysis category: Nondeterministic locking behavior
> _CID-17602_: Bad choice of lock object - Nondeterministic locking behavior
> in class `ThreadAssociations` [1] at method `removeAll`. There is used synchronized block
> where lock is acquired at `globalTxAssociations` and `txAssociations`.
> The problem (one for txAssociations is described as)
> lock_acquire: Acquiring lock `com.arjuna.ats.jts.extensions.`ThreadAssociations.txAssociations`.
> lock_on_assigned_field: Locking on the object referenced by field `ThreadAssociations.txAssociations`. This lock acquisition may race with another thread assigning to this field. The contents of `ThreadAssociations.txAssociations` may change while a thread is inside the critical section, allowing two threads to enter the critical section simultaneously.
> * Instead of using `ThreadAssociations.txAssociations` as a lock, create a final field of type Object which is only used as a lock.
> assign_to_field: The expression `ThreadAssociations.txAssociations = null` assigns a new value to `ThreadAssociations.txAssociations`, a field whose contents are used as a lock. The locking behavior of this function may allow this assignment to occur multiple times.
> Tom's reaction on this
> {quote}
> I think that the bug is that there is any synchronization at all on txAssociations because it looks to be indexed by Thread.currentThread().
> {quote}
> [1] https://github.com/jbosstm/narayana/blob/master/ArjunaJTS/jts/classes/com...
--
This message was sent by Atlassian JIRA
(v7.2.3#72005)
7 years, 5 months
[JBoss JIRA] (JBTM-2886) Automatize XTS ssl quickstart to be tested in CI on Windows
by Ondra Chaloupka (JIRA)
[ https://issues.jboss.org/browse/JBTM-2886?page=com.atlassian.jira.plugin.... ]
Ondra Chaloupka reassigned JBTM-2886:
-------------------------------------
Assignee: (was: Ondra Chaloupka)
> Automatize XTS ssl quickstart to be tested in CI on Windows
> -----------------------------------------------------------
>
> Key: JBTM-2886
> URL: https://issues.jboss.org/browse/JBTM-2886
> Project: JBoss Transaction Manager
> Issue Type: Enhancement
> Components: XTS
> Affects Versions: 4.2
> Reporter: Ondra Chaloupka
>
> There was created a shell script for JBTM-2882 which automatize testing of XTS over SSL. The steps were already written in `README.md` but that was not run automatically on CI.
> The linux version with shell script was provided but we need windows version with `.bat`. This is a followup task to provide the bat script for the automatization on Windows.
--
This message was sent by Atlassian JIRA
(v7.2.3#72005)
7 years, 5 months
[JBoss JIRA] (JBTM-2900) Byteman fails to start on IBM JDK (quickstart)
by Tom Jenkinson (JIRA)
[ https://issues.jboss.org/browse/JBTM-2900?page=com.atlassian.jira.plugin.... ]
Tom Jenkinson updated JBTM-2900:
--------------------------------
Fix Version/s: 5.6.0.Final
> Byteman fails to start on IBM JDK (quickstart)
> ----------------------------------------------
>
> Key: JBTM-2900
> URL: https://issues.jboss.org/browse/JBTM-2900
> Project: JBoss Transaction Manager
> Issue Type: Bug
> Affects Versions: 4.2
> Reporter: Ivan Straka
> Assignee: Ivan Straka
> Priority: Minor
> Fix For: 5.6.0.Final
>
>
> Byteman fails to start on IBM JDK for jta-and-hibernate-standalone quickstart.
> output:
> {code:java}
> Running org.jboss.narayana.quickstart.jta.TestCase
> byteman jar is /home/hudson/.m2/repository/org/jboss/byteman/byteman/3.0.3/byteman-3.0.3.jar
> *** java.lang.instrument ASSERTION FAILED ***: "jvmtierror == JVMTI_ERROR_NOT_AVAILABLE" at JPLISAgent.c line: 1009
> Setting org.jboss.byteman.allow.config.update=true
> java.lang.reflect.InvocationTargetException
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:95)
> at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:55)
> at java.lang.reflect.Method.invoke(Method.java:508)
> at sun.instrument.InstrumentationImpl.loadClassAndStartAgent(InstrumentationImpl.java:408)
> at sun.instrument.InstrumentationImpl.loadClassAndCallAgentmain(InstrumentationImpl.java:433)
> at com.ibm.tools.attach.javaSE.Attachment.loadAgentLibraryImpl(Native Method)
> at com.ibm.tools.attach.javaSE.Attachment.loadAgentLibrary(Attachment.java:309)
> at com.ibm.tools.attach.javaSE.Attachment.parseLoadAgent(Attachment.java:287)
> at com.ibm.tools.attach.javaSE.Attachment.doCommand(Attachment.java:168)
> at com.ibm.tools.attach.javaSE.Attachment.run(Attachment.java:128)
> Caused by: java.lang.UnsupportedOperationException: adding retransformable transformers is not supported in this environment
> at sun.instrument.InstrumentationImpl.addTransformer(InstrumentationImpl.java:100)
> Exception in thread "Attachment 45368" Agent failed to start!
> at org.jboss.byteman.agent.Main.premain(Main.java:275)
> at org.jboss.byteman.agent.Main.agentmain(Main.java:305)
> ... 11 more
> JVMJ9TI064E Agent initialization function Agent_OnAttach failed for library instrument, return code 102
> {code}
--
This message was sent by Atlassian JIRA
(v7.2.3#72005)
7 years, 5 months