[JBoss JIRA] (JBTM-2514) TransactionManagerService stop does not run orb and oa shutdown hooks
by Michael Musgrove (JIRA)
[ https://issues.jboss.org/browse/JBTM-2514?page=com.atlassian.jira.plugin.... ]
Michael Musgrove updated JBTM-2514:
-----------------------------------
Summary: TransactionManagerService stop does not run orb and oa shutdown hooks (was: TransactionManagerService stop does not run orb an oa shutdown hooks)
> TransactionManagerService stop does not run orb and oa shutdown hooks
> ---------------------------------------------------------------------
>
> Key: JBTM-2514
> URL: https://issues.jboss.org/browse/JBTM-2514
> Project: JBoss Transaction Manager
> Issue Type: Bug
> Components: JTS
> Affects Versions: 5.2.2
> Reporter: Michael Musgrove
> Assignee: Michael Musgrove
>
> The transaction manager service that we use for integration with app servers in JTS mode (com.arjuna.ats.jbossatx.jts.TransactionManagerService()) does not run any of our orb shutdown hooks in its stop method. The reason for this is that we use an orb supplied by the app server which we do not wrap so none of the shutdown hooks in our wrappers get called. In particular the JavaIdlRCShutdown hook isn't called so it is not possible to restart the RecoveryService (see JavaIdlRCServiceInit) with the consequence that the wildfly reload management operation fails.
--
This message was sent by Atlassian JIRA
(v6.4.11#64026)
9 years, 3 months
[JBoss JIRA] (JBTM-2423) ORBRunner uses the orb after run() returns
by Michael Musgrove (JIRA)
[ https://issues.jboss.org/browse/JBTM-2423?page=com.atlassian.jira.plugin.... ]
Michael Musgrove closed JBTM-2423.
----------------------------------
Resolution: Done
I have raised JBTM-2514 to address the comment https://issues.jboss.org/browse/JBTM-2423?focusedCommentId=13109011&page=...
The reason for a new issue is that the underlying problem is different from this JIRA
> ORBRunner uses the orb after run() returns
> ------------------------------------------
>
> Key: JBTM-2423
> URL: https://issues.jboss.org/browse/JBTM-2423
> Project: JBoss Transaction Manager
> Issue Type: Bug
> Reporter: Michael Musgrove
> Assignee: Tomasz Adamski
> Fix For: 5.2.0
>
>
> ORBRunner.java starts an orb using orb().run() but then performs operations on the orb after the run() method returns. According to the CORBA spec this is invalid:
> {quote}
> Once an ORB has shutdown, only object reference management operations(duplicate,
> release and is_nil) may be invoked on the ORB or any object reference obtained
> from it.
> {quote}
> Note that when the orb.run() method returns the orb has shutdown because, for the run method, the spec states:
> {quote}
> This operation will block until the ORB has completed the shutdown process,
> {quote}
> This issue has arisen because of a change made to our fork of the jdk orb: in the jdk orb shutdown method we join with all the orb runners. This results in deadlock:
> # com.arjuna.orbportability.ORB.shutdown is a synchronized method and it calls shutdown on the jdk orb;
> # shutdown on the jdk orb notifies the ORBRunner thread which now tries to call back into a synchronized method of com.arjuna.orbportability.ORB but is blocked because the monitor is held
> # at this point the jdk orb shutdown would normally then return allowing the
> the ORBRunner thread to make progress but a recent change now means that the jdk orb shutdown method performs a join() on the various ORBRunner threads
--
This message was sent by Atlassian JIRA
(v6.4.11#64026)
9 years, 3 months
[JBoss JIRA] (JBTM-2514) TransactionManagerService stop does not run orb an oa shutdown hooks
by Michael Musgrove (JIRA)
[ https://issues.jboss.org/browse/JBTM-2514?page=com.atlassian.jira.plugin.... ]
Michael Musgrove updated JBTM-2514:
-----------------------------------
Summary: TransactionManagerService stop does not run orb an oa shutdown hooks (was: TransactionManagerService stop does run orb an oa shutdown hooks)
> TransactionManagerService stop does not run orb an oa shutdown hooks
> --------------------------------------------------------------------
>
> Key: JBTM-2514
> URL: https://issues.jboss.org/browse/JBTM-2514
> Project: JBoss Transaction Manager
> Issue Type: Bug
> Components: JTS
> Affects Versions: 5.2.2
> Reporter: Michael Musgrove
> Assignee: Michael Musgrove
>
> The transaction manager service that we use for integration with app servers in JTS mode (com.arjuna.ats.jbossatx.jts.TransactionManagerService()) does not run any of our orb shutdown hooks in its stop method. The reason for this is that we use an orb supplied by the app server which we do not wrap so none of the shutdown hooks in our wrappers get called. In particular the JavaIdlRCShutdown hook isn't called so it is not possible to restart the RecoveryService (see JavaIdlRCServiceInit) with the consequence that the wildfly reload management operation fails.
--
This message was sent by Atlassian JIRA
(v6.4.11#64026)
9 years, 3 months
[JBoss JIRA] (JBTM-2514) TransactionManagerService stop does run orb an oa shutdown hooks
by Michael Musgrove (JIRA)
[ https://issues.jboss.org/browse/JBTM-2514?page=com.atlassian.jira.plugin.... ]
Michael Musgrove updated JBTM-2514:
-----------------------------------
Status: Pull Request Sent (was: Open)
Git Pull Request: https://github.com/jbosstm/narayana/pull/911
> TransactionManagerService stop does run orb an oa shutdown hooks
> ----------------------------------------------------------------
>
> Key: JBTM-2514
> URL: https://issues.jboss.org/browse/JBTM-2514
> Project: JBoss Transaction Manager
> Issue Type: Bug
> Components: JTS
> Affects Versions: 5.2.2
> Reporter: Michael Musgrove
> Assignee: Michael Musgrove
>
> The transaction manager service that we use for integration with app servers in JTS mode (com.arjuna.ats.jbossatx.jts.TransactionManagerService()) does not run any of our orb shutdown hooks in its stop method. The reason for this is that we use an orb supplied by the app server which we do not wrap so none of the shutdown hooks in our wrappers get called. In particular the JavaIdlRCShutdown hook isn't called so it is not possible to restart the RecoveryService (see JavaIdlRCServiceInit) with the consequence that the wildfly reload management operation fails.
--
This message was sent by Atlassian JIRA
(v6.4.11#64026)
9 years, 3 months
[JBoss JIRA] (JBTM-2514) TransactionManagerService stop does run orb an oa shutdown hooks
by Michael Musgrove (JIRA)
Michael Musgrove created JBTM-2514:
--------------------------------------
Summary: TransactionManagerService stop does run orb an oa shutdown hooks
Key: JBTM-2514
URL: https://issues.jboss.org/browse/JBTM-2514
Project: JBoss Transaction Manager
Issue Type: Bug
Components: JTS
Affects Versions: 5.2.2
Reporter: Michael Musgrove
Assignee: Michael Musgrove
The transaction manager service that we use for integration with app servers in JTS mode (com.arjuna.ats.jbossatx.jts.TransactionManagerService()) does not run any of our orb shutdown hooks in its stop method. The reason for this is that we use an orb supplied by the app server which we do not wrap so none of the shutdown hooks in our wrappers get called. In particular the JavaIdlRCShutdown hook isn't called so it is not possible to restart the RecoveryService (see JavaIdlRCServiceInit) with the consequence that the wildfly reload management operation fails.
--
This message was sent by Atlassian JIRA
(v6.4.11#64026)
9 years, 3 months
[JBoss JIRA] (JBTM-2423) ORBRunner uses the orb after run() returns
by Tomasz Adamski (JIRA)
[ https://issues.jboss.org/browse/JBTM-2423?page=com.atlassian.jira.plugin.... ]
Tomasz Adamski edited comment on JBTM-2423 at 9/16/15 5:20 AM:
---------------------------------------------------------------
The method runs but on the first glance I don't see orb shutdown performed from it.
was (Author: tomekadamski):
checking
> ORBRunner uses the orb after run() returns
> ------------------------------------------
>
> Key: JBTM-2423
> URL: https://issues.jboss.org/browse/JBTM-2423
> Project: JBoss Transaction Manager
> Issue Type: Bug
> Reporter: Michael Musgrove
> Assignee: Tomasz Adamski
> Fix For: 5.2.0
>
>
> ORBRunner.java starts an orb using orb().run() but then performs operations on the orb after the run() method returns. According to the CORBA spec this is invalid:
> {quote}
> Once an ORB has shutdown, only object reference management operations(duplicate,
> release and is_nil) may be invoked on the ORB or any object reference obtained
> from it.
> {quote}
> Note that when the orb.run() method returns the orb has shutdown because, for the run method, the spec states:
> {quote}
> This operation will block until the ORB has completed the shutdown process,
> {quote}
> This issue has arisen because of a change made to our fork of the jdk orb: in the jdk orb shutdown method we join with all the orb runners. This results in deadlock:
> # com.arjuna.orbportability.ORB.shutdown is a synchronized method and it calls shutdown on the jdk orb;
> # shutdown on the jdk orb notifies the ORBRunner thread which now tries to call back into a synchronized method of com.arjuna.orbportability.ORB but is blocked because the monitor is held
> # at this point the jdk orb shutdown would normally then return allowing the
> the ORBRunner thread to make progress but a recent change now means that the jdk orb shutdown method performs a join() on the various ORBRunner threads
--
This message was sent by Atlassian JIRA
(v6.4.11#64026)
9 years, 3 months
[JBoss JIRA] (JBTM-2423) ORBRunner uses the orb after run() returns
by Tomasz Adamski (JIRA)
[ https://issues.jboss.org/browse/JBTM-2423?page=com.atlassian.jira.plugin.... ]
Tomasz Adamski commented on JBTM-2423:
--------------------------------------
https://issues.jboss.org/secure/ViewProfile.jspa?name=mmusgrov checking
> ORBRunner uses the orb after run() returns
> ------------------------------------------
>
> Key: JBTM-2423
> URL: https://issues.jboss.org/browse/JBTM-2423
> Project: JBoss Transaction Manager
> Issue Type: Bug
> Reporter: Michael Musgrove
> Assignee: Tomasz Adamski
> Fix For: 5.2.0
>
>
> ORBRunner.java starts an orb using orb().run() but then performs operations on the orb after the run() method returns. According to the CORBA spec this is invalid:
> {quote}
> Once an ORB has shutdown, only object reference management operations(duplicate,
> release and is_nil) may be invoked on the ORB or any object reference obtained
> from it.
> {quote}
> Note that when the orb.run() method returns the orb has shutdown because, for the run method, the spec states:
> {quote}
> This operation will block until the ORB has completed the shutdown process,
> {quote}
> This issue has arisen because of a change made to our fork of the jdk orb: in the jdk orb shutdown method we join with all the orb runners. This results in deadlock:
> # com.arjuna.orbportability.ORB.shutdown is a synchronized method and it calls shutdown on the jdk orb;
> # shutdown on the jdk orb notifies the ORBRunner thread which now tries to call back into a synchronized method of com.arjuna.orbportability.ORB but is blocked because the monitor is held
> # at this point the jdk orb shutdown would normally then return allowing the
> the ORBRunner thread to make progress but a recent change now means that the jdk orb shutdown method performs a join() on the various ORBRunner threads
--
This message was sent by Atlassian JIRA
(v6.4.11#64026)
9 years, 3 months