[jbossts-issues] [JBoss JIRA] (JBTM-1138) crashrecovery12 tests intermittently fail when running in ExecutionWrapper mode

Tom Jenkinson (JIRA) jira-events at lists.jboss.org
Tue Apr 24 08:56:18 EDT 2012


    [ https://issues.jboss.org/browse/JBTM-1138?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12687090#comment-12687090 ] 

Tom Jenkinson commented on JBTM-1138:
-------------------------------------

Hi Ivo,

Having spoken with Jonathan, the issue appears to be because you have not altered the tests to waitfor the process to terminate.

This is required as adding the argument to the task means that tests will not only share an object store, but also some port configuration also, so it introduces race conditions.

Here is an example stack trace showing the issue:

2012-04-24 03:35:34,966 err: 2012-04-24 03:35:34.966 FINE created ServerSocketFactory: org.jacorb.orb.factory.DefaultServerSocketFactory
2012-04-24 03:35:34,977 err: 2012-04-24 03:35:34.976 WARNING could not create server socket port: 4771 host: null
2012-04-24 03:35:34,977 err:     java.net.PlainSocketImpl.socketBind(Native Method)
2012-04-24 03:35:34,978 err:     java.net.PlainSocketImpl.bind(PlainSocketImpl.java:383)
2012-04-24 03:35:34,978 err:     java.net.ServerSocket.bind(ServerSocket.java:328)
2012-04-24 03:35:34,978 err:     java.net.ServerSocket.<init>(ServerSocket.java:194)
2012-04-24 03:35:34,978 err:     org.jacorb.orb.factory.DefaultServerSocketFactory.createServerSocket(DefaultServerSocketFactory.java:49)
2012-04-24 03:35:34,978 err:     org.jacorb.orb.iiop.IIOPListener$Acceptor.createServerSocket(IIOPListener.java:572)
2012-04-24 03:35:34,978 err:     org.jacorb.orb.iiop.IIOPListener$Acceptor.init(IIOPListener.java:417)
2012-04-24 03:35:34,978 err:     org.jacorb.orb.iiop.IIOPListener.configure(IIOPListener.java:163)
2012-04-24 03:35:34,978 err:     org.jacorb.orb.etf.FactoriesBase.newInstance(FactoriesBase.java:125)
2012-04-24 03:35:34,979 err:     org.jacorb.orb.etf.FactoriesBase.create_listener(FactoriesBase.java:74)
2012-04-24 03:35:34,979 err:     org.jacorb.orb.BasicAdapter.configure(BasicAdapter.java:102)
2012-04-24 03:35:34,979 err:     org.jacorb.orb.ORB.getRootPOA(ORB.java:1036)
2012-04-24 03:35:34,979 err:     org.jacorb.orb.ORB.resolve_initial_references(ORB.java:1307)
2012-04-24 03:35:34,979 err:     com.arjuna.orbportability.internal.orbspecific.oa.implementations.POABase.init(POABase.java:58)
2012-04-24 03:35:34,979 err:     com.arjuna.orbportability.oa.core.OA.init(OA.java:85)
2012-04-24 03:35:34,979 err:     com.arjuna.orbportability.OA.initPOA(OA.java:192)
2012-04-24 03:35:34,979 err:     com.arjuna.orbportability.OA.initPOA(OA.java:84)
2012-04-24 03:35:34,980 err:     org.jboss.jbossts.qa.Utils.OAInterface.initializeOA(OAInterface.java:46)
2012-04-24 03:35:34,980 err:     org.jboss.jbossts.qa.junit.ExecutionWrapper.main(ExecutionWrapper.java:132)


I have put back some changes to the tests (your patch and the waitFor fix) and committed them so you will need to remove your crashrecovery12.patch.

Thanks,
Tom
                
> crashrecovery12 tests intermittently fail when running in ExecutionWrapper mode
> -------------------------------------------------------------------------------
>
>                 Key: JBTM-1138
>                 URL: https://issues.jboss.org/browse/JBTM-1138
>             Project: JBoss Transaction Manager
>          Issue Type: Bug
>      Security Level: Public(Everyone can see) 
>          Components: Testing
>    Affects Versions: 4.16.3
>            Reporter: Ivo Studensky
>            Assignee: Tom Jenkinson
>             Fix For: 4.16.4
>
>         Attachments: crashrecovery12.patch
>
>
> The crashrecovery12 tests intermittently fail when running on HornetQ journal based object store, i.e. in ExecutionWrapper mode. 
> Without any patch Test03 and Test06 fail. With my patch, see attached file, the tests fail intermittently, i.e. once they fail on Test02 [1], once on Test04 [2] or on Test03 [3]. The Test06 seems to be fixed with my patch.
> I did the patch according to instructions by Jonathan, but apparently I missed something.
> Jonathan's instruction:
> {quote}
> The tests are wrong.
> When in ExecutionWrapper mode, each spawned task gets its own store 
> unless it's explicitly told to reuse an earlier one. Most crash rec 
> tests that need to 'share' a store between consecutive processes for 
> before/after crash state have a final param to createTask that gives the 
> shared name, see e.g. TestGroup_crashrecovery02_01. That's missing in 
> the failing tests. Change the tests to add the same string as a final 
> param to the createTask calls and to ensure the client task is 
> terminated before the outcome task starts. It should be anyhow as it 
> commits suicide, but the framework does not necessarily know that and 
> may get unhappy if it think you're trying to make concurrent processes 
> use the same store.
> Jonathan. 
> {quote}
> [1] https://hudson.qa.jboss.com/hudson/view/JBoss%20TS/view/JBossTS-EAP6-CI/job/jbossts-test-4.16.x-hqobjectstore/12/
> [2] https://hudson.qa.jboss.com/hudson/view/JBoss%20TS/view/JBossTS-EAP6-CI/job/jbossts-test-4.16.x-hqobjectstore/11/
> [3] https://hudson.qa.jboss.com/hudson/view/JBoss%20TS/view/JBossTS-EAP6-CI/job/jbossts-test-4.16.x-hqobjectstore/8/

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.jboss.org/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        


More information about the jbossts-issues mailing list