Issue Details (XML | Word | Printable)

Key: WSIT-1496
Type: Bug Bug
Status: Resolved Resolved
Resolution: Fixed
Priority: Critical Critical
Assignee: Marek Potociar
Reporter: Sreekanth
Votes: 0
Watchers: 0
Operations

If you were logged in you would be able to see more operations.
wsit

Error persisting branch record for branch 'BranchRecord:globalXid=null':

Created: 29/Nov/10 06:14 AM   Updated: 07/Dec/10 04:45 AM   Resolved: 07/Dec/10 04:45 AM
Component/s: transaction
Affects Version/s: 2.1
Fix Version/s: 2.1

Time Tracking:
Not Specified

File Attachments: 1. Text File server.log (130 kB) 30/Nov/10 03:03 AM - Sreekanth
2. Text File server.log (186 kB) 29/Nov/10 06:28 AM - Sreekanth
3. Text File server.log (99 kB) 29/Nov/10 06:14 AM - Sreekanth

Environment:

Linux, Glassfish v3.1 latest, Metro latest nightly


Tags:
Participants: Marek Potociar, Martin Matula, paul_parkinson and Sreekanth


 Description  « Hide

I observed this exception while running transaction tests in the SQE workspace [Sun Internal].
Test Name: Function Tx04

When I run the Tx04 test with the latest versions of glassfish 3.1 and metro 2.1 nightly builds, I see this exception in the server log.

#|2010-11-29T19:36:22.426+0530|INFO|glassfish3.1|com.sun.metro.tx|_ThreadID=15;_ThreadName=Thread-1;|error persisting branch BranchRecord:globalXid=null: java.io.FileNotFoundException: null/1291039582425-0 (No such file or directory)|#]

[#|2010-11-29T19:36:22.427+0530|SEVERE|glassfish3.1|com.sun.metro.tx|_ThreadID=15;_ThreadName=Thread-1;|WSAT4500: Error persisting branch record for branch 'BranchRecord:globalXid=null':
java.io.FileNotFoundException: null/1291039582425-0 (No such file or directory)
at java.io.FileOutputStream.open(Native Method)
at java.io.FileOutputStream.<init>(FileOutputStream.java:179)
at java.io.FileOutputStream.<init>(FileOutputStream.java:70)
at com.sun.xml.ws.tx.at.internal.WSATGatewayRM.persistBranchRecord(WSATGatewayRM.java:492)
at com.sun.xml.ws.tx.at.internal.WSATGatewayRM.persistBranchIfNecessary(WSATGatewayRM.java:515)
at com.sun.xml.ws.tx.at.internal.WSATGatewayRM.prepare(WSATGatewayRM.java:294)
at com.sun.jts.jtsxa.OTSResourceImpl.prepare(OTSResourceImpl.java:268)
at com.sun.jts.CosTransactions.RegisteredResources.distributePrepare(RegisteredResources.java:555)
at com.sun.jts.CosTransactions.TopCoordinator.prepare(TopCoordinator.java:1864)
at com.sun.jts.CosTransactions.CoordinatorTerm.commit(CoordinatorTerm.java:357)
at com.sun.jts.CosTransactions.TerminatorImpl.commit(TerminatorImpl.java:250)
at com.sun.jts.CosTransactions.CurrentImpl.commit(CurrentImpl.java:623)
at com.sun.jts.jta.TransactionManagerImpl.commit(TransactionManagerImpl.java:319)
at com.sun.enterprise.transaction.jts.JavaEETransactionManagerJTSDelegate.commitDistributedTransaction(JavaEETransactionManagerJTSDelegate.java:183)
at com.sun.enterprise.transaction.JavaEETransactionManagerSimplified.commit(JavaEETransactionManagerSimplified.java:869)
at com.sun.enterprise.transaction.UserTransactionImpl.commit(UserTransactionImpl.java:208)
at transaction.usertransaction.client.TestClient.tx401(TestClient.java:276)
at transaction.usertransaction.web.ServletClient.run(ServletClient.java:56)
at transaction.usertransaction.web.ServletClient.doGet(ServletClient.java:39)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:735)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:848)
at org.apache.catalina.core.StandardWrapper.service(StandardWrapper.java:1534)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:281)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:655)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:595)
at com.sun.enterprise.web.WebPipeline.invoke(WebPipeline.java:98)
at com.sun.enterprise.web.PESessionLockingStandardPipeline.invoke(PESessionLockingStandardPipeline.java:91)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:162)
at org.apache.catalina.connector.CoyoteAdapter.doService(CoyoteAdapter.java:326)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:227)
at com.sun.enterprise.v3.services.impl.ContainerMapper.service(ContainerMapper.java:228)
at com.sun.grizzly.http.ProcessorTask.invokeAdapter(ProcessorTask.java:817)
at com.sun.grizzly.http.ProcessorTask.doProcess(ProcessorTask.java:718)
at com.sun.grizzly.http.ProcessorTask.process(ProcessorTask.java:1007)
at com.sun.grizzly.http.DefaultProtocolFilter.execute(DefaultProtocolFilter.java:225)
at com.sun.grizzly.DefaultProtocolChain.executeProtocolFilter(DefaultProtocolChain.java:137)
at com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:104)
at com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:90)
at com.sun.grizzly.http.HttpProtocolChain.execute(HttpProtocolChain.java:79)
at com.sun.grizzly.ProtocolChainContextTask.doCall(ProtocolChainContextTask.java:54)
at com.sun.grizzly.SelectionKeyContextTask.call(SelectionKeyContextTask.java:59)
at com.sun.grizzly.ContextTask.run(ContextTask.java:71)
at com.sun.grizzly.util.AbstractThreadPool$Worker.doWork(AbstractThreadPool.java:532)
at com.sun.grizzly.util.AbstractThreadPool$Worker.run(AbstractThreadPool.java:513)
at java.lang.Thread.run(Thread.java:662)

#]

[#|2010-11-29T19:36:22.430+0530|WARNING|glassfish3.1|javax.enterprise.system.core.transaction.com.sun.jts.CosTransactions|_ThreadID=15;_ThreadName=Thread-1;|JTS5031: Exception [java.lang.RuntimeException: javax.transaction.xa.XAException: XAER_RMERR : A resource manager error has occured in the transaction branch. Error persisting branch BranchRecord:globalXid=null] on Resource [prepare] operation.|#]



Sreekanth added a comment - 29/Nov/10 06:21 AM

This issue is not consistent.When I run the same test again, I see "javax.transaction.NotSupportedException: Nested transaction not supported.
" followed by thread interrupted exception.

In both cases, the test client doesn't return.

The server has the following JVM options set while running the test.
-Dcom.sun.xml.ws.assembler.jaxws.Transporactory.dump.client.before=true
-Dcom.sun.xml.ws.assembler.jaxws.Transporactory.dump.client.before=true
-Dhttp.keepAlive=false


Sreekanth added a comment - 29/Nov/10 06:28 AM

Server log after subsequent exection of the test.


Sreekanth added a comment - 29/Nov/10 06:38 AM

Steps to reproduce:
======================
1)Check out workspace [Sun Internal]using the following information

CVSROOT=:pserver:<sun-id>@sunsw.sfbay.sun.com:/sw/wpts

cvc co tango/qe-tests/xtest-distribution
cvc co tango/qe-tests/wstx

2)replace the following files to use the correct port numbers for Glassfish domain1(admin port 4848) and domain2(admin port 10048)

  • wstx/interop/etc/sjsas.properties
  • change domain2 port info in sqe-wstx-prologue.ent file in wstx/test dir
  • interop/build.properties

I will provide a bundle which any one can download and run the tests straight away.

3) Command to execute the tests are at wstx/test/runTxFunctionalTest-04-09.sh

For running tx04 test,please use this:

ant -Dxtest.useGfV3=true -Dxtest.testtype=tx04 -Dxtest.sjsas.home=$AS_HOME -Dxtest.wsit.dest.dir=$AS_HOME/modules -Dxtest.http.port=8080 -Dxtest.useTomcat=false -Dwsit.lib=$AS_HOME/modules -Dxtest.metro.home=<metro-bundle-location>


paul_parkinson added a comment - 29/Nov/10 02:27 PM

fixed available in 6607


Sreekanth added a comment - 30/Nov/10 03:03 AM

With the latest Glassfish and metro nightly, I get this:

javax.transaction.xa.XAException
at com.sun.jts.CosTransactions.XATerminatorImpl.prepare(XATerminatorImpl.java:231)
at com.sun.xml.ws.tx.at.internal.TransactionServicesImpl.prepare(TransactionServicesImpl.java:126)
at com.sun.xml.ws.tx.at.common.endpoint.Participant.prepare(Participant.java:94)
at com.sun.xml.ws.tx.at.v10.endpoint.ParticipantPortTypePortImpl.prepare(ParticipantPortTypePortImpl.java:73)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.glassfish.webservices.InstanceResolverImpl$1.invoke(InstanceResolverImpl.java:143)
at com.sun.xml.ws.server.InvokerTube$2.invoke(InvokerTube.java:150)
at com.sun.xml.ws.server.sei.EndpointMethodHandler.invoke(EndpointMethodHandler.java:261)
at com.sun.xml.ws.server.sei.SEIInvokerTube.processRequest(SEIInvokerTube.java:100)
at com.sun.xml.ws.api.pipe.Fiber.__doRun(Fiber.java:641)
at com.sun.xml.ws.api.pipe.Fiber._doRun(Fiber.java:600)
at com.sun.xml.ws.api.pipe.Fiber.doRun(Fiber.java:585)
at com.sun.xml.ws.api.pipe.Fiber.runSync(Fiber.java:482)
at com.sun.xml.ws.api.pipe.helper.AbstractTubeImpl.process(AbstractTubeImpl.java:116)
at org.glassfish.webservices.MonitoringPipe.process(MonitoringPipe.java:142)
at com.sun.xml.ws.api.pipe.helper.PipeAdapter.processRequest(PipeAdapter.java:119)
at com.sun.xml.ws.api.pipe.Fiber.__doRun(Fiber.java:641)
at com.sun.xml.ws.api.pipe.Fiber._doRun(Fiber.java:600)
at com.sun.xml.ws.api.pipe.Fiber.doRun(Fiber.java:585)
at com.sun.xml.ws.api.pipe.Fiber.runSync(Fiber.java:482)
at com.sun.xml.ws.api.pipe.helper.AbstractTubeImpl.process(AbstractTubeImpl.java:116)
at com.sun.enterprise.security.webservices.CommonServerSecurityPipe.processRequest(CommonServerSecurityPipe.java:212)
at com.sun.enterprise.security.webservices.CommonServerSecurityPipe.process(CommonServerSecurityPipe.java:144)
at com.sun.xml.ws.api.pipe.helper.PipeAdapter.processRequest(PipeAdapter.java:119)
at com.sun.xml.ws.api.pipe.Fiber.__doRun(Fiber.java:641)
at com.sun.xml.ws.api.pipe.Fiber._doRun(Fiber.java:600)
at com.sun.xml.ws.api.pipe.Fiber.doRun(Fiber.java:585)
at com.sun.xml.ws.api.pipe.Fiber.runSync(Fiber.java:482)
at com.sun.xml.ws.server.WSEndpointImpl$2.process(WSEndpointImpl.java:314)
at com.sun.xml.ws.transport.http.HttpAdapter$HttpToolkit.handle(HttpAdapter.java:620)
at com.sun.xml.ws.transport.http.HttpAdapter.handle(HttpAdapter.java:271)
at com.sun.xml.ws.transport.http.servlet.ServletAdapter.handle(ServletAdapter.java:148)
at org.glassfish.webservices.JAXWSServlet.doPost(JAXWSServlet.java:145)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:755)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:848)
at org.apache.catalina.core.StandardWrapper.service(StandardWrapper.java:1534)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:281)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:655)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:595)
at com.sun.enterprise.web.WebPipeline.invoke(WebPipeline.java:98)
at com.sun.enterprise.web.PESessionLockingStandardPipeline.invoke(PESessionLockingStandardPipeline.java:91)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:162)
at org.apache.catalina.connector.CoyoteAdapter.doService(CoyoteAdapter.java:326)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:227)
at com.sun.enterprise.v3.services.impl.ContainerMapper.service(ContainerMapper.java:228)
at com.sun.grizzly.http.ProcessorTask.invokeAdapter(ProcessorTask.java:817)
at com.sun.grizzly.http.ProcessorTask.doProcess(ProcessorTask.java:718)
at com.sun.grizzly.http.ProcessorTask.process(ProcessorTask.java:1007)
at com.sun.grizzly.http.DefaultProtocolFilter.execute(DefaultProtocolFilter.java:225)
at com.sun.grizzly.DefaultProtocolChain.executeProtocolFilter(DefaultProtocolChain.java:137)
at com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:104)
at com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:90)
at com.sun.grizzly.http.HttpProtocolChain.execute(HttpProtocolChain.java:79)
at com.sun.grizzly.ProtocolChainContextTask.doCall(ProtocolChainContextTask.java:54)
at com.sun.grizzly.SelectionKeyContextTask.call(SelectionKeyContextTask.java:59)
at com.sun.grizzly.ContextTask.run(ContextTask.java:71)
at com.sun.grizzly.util.AbstractThreadPool$Worker.doWork(AbstractThreadPool.java:532)
at com.sun.grizzly.util.AbstractThreadPool$Worker.run(AbstractThreadPool.java:513)
at java.lang.Thread.run(Thread.java:662)
Caused by: java.lang.IllegalStateException: javax.resource.spi.work.WorkCompletedException: org.omg.CORBA.INVALID_TRANSACTION: vmcid: 0x0 minor code: 267 completed: No, error code: 2
at com.sun.enterprise.transaction.TransactionManagerHelper.recreate(TransactionManagerHelper.java:123)
at com.sun.jts.CosTransactions.XATerminatorImpl.recreate(XATerminatorImpl.java:394)
at com.sun.jts.CosTransactions.XATerminatorImpl.prepare(XATerminatorImpl.java:228)
... 62 more
Caused by: javax.resource.spi.work.WorkCompletedException: org.omg.CORBA.INVALID_TRANSACTION: vmcid: 0x0 minor code: 267 completed: No, error code: 2
at com.sun.jts.jta.TransactionManagerImpl.recreate(TransactionManagerImpl.java:605)
at com.sun.enterprise.transaction.jts.JavaEETransactionManagerJTSDelegate.recreate(JavaEETransactionManagerJTSDelegate.java:419)
at com.sun.enterprise.transaction.JavaEETransactionManagerSimplified.recreate(JavaEETransactionManagerSimplified.java:774)
at com.sun.enterprise.transaction.TransactionManagerHelper.recreate(TransactionManagerHelper.java:121)
... 64 more
Caused by: org.omg.CORBA.INVALID_TRANSACTION: vmcid: 0x0 minor code: 267 completed: No
at com.sun.jts.CosTransactions.CurrentTransaction.recreate(CurrentTransaction.java:1190)
at com.sun.jts.jta.TransactionManagerImpl.recreate(TransactionManagerImpl.java:596)
... 67 more

#]

paul_parkinson added a comment - 30/Nov/10 11:15 AM

Please try with 6613 metro revision if you can. I have not confirmed with your test case but will do so today.


Sreekanth added a comment - 30/Nov/10 04:43 PM

Hi Paul,
I will try that with revison 6613 now.Do let me know if you face any difficulties running tests with the test bundle I provided.


Martin Matula added a comment - 01/Dec/10 09:19 AM

Paul, have you been able to try the test case? Sony reported in today's p-team the issue is still there even with the latest build. He said he would reopen, but instead of waiting for him I am reopening now, since you will be gone soon.


paul_parkinson added a comment - 01/Dec/10 10:36 AM

no, I'm afraid I've been unable to reproduce and the test build failed for me. Sreekanth said he would send the app itself so that I can test but I haven't received it as of yet.


Marek Potociar added a comment - 07/Dec/10 04:45 AM

The fix for the issue was delivered into GF yesterday. Latest nightly build of GF 3.1 should already contain the fix. Please verify.