geronimo-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Jason Dillon <ja...@planet57.com>
Subject Hanging transaction
Date Wed, 08 Feb 2006 00:12:18 GMT
So, this is related to the mess I've been working with to get Oracle
to work (2 ds + jms).  As I mentioned the Oracle 10.2.* driver works
well using the normal TranQL connector.  I finally have a setup that
does not spit out a billion exceptions.

But, I still see my remote EJB call hang.  I'm still digging, but
found that this is the thread that appears to be stuck:

<snip>
"DefaultThreadPool 4" daemon prio=5 tid=0x09e78690 nid=0xac8de00 in
Object.wait() [f79f1000..f79f3ac0]
        at java.lang.Object.wait(Native Method)
        - waiting on <0x652afad8> (a java.lang.Object)
        at org.activemq.message.ReceiptHolder.getReceipt(ReceiptHolder.java:68)
        - locked <0x652afad8> (a java.lang.Object)
        at org.activemq.transport.TransportChannelSupport.send(TransportChannelSupport.java:146)
        at org.activemq.ActiveMQConnection.syncSendPacket(ActiveMQConnection.java:1377)
        at org.activemq.ActiveMQConnection.sendConnectionInfoToBroker(ActiveMQConnection.java:1617)
        at org.activemq.ActiveMQConnection.sendConnectionInfoToBroker(ActiveMQConnection.java:1578)
        at org.activemq.ActiveMQConnection.createSession(ActiveMQConnection.java:452)
        at org.activemq.ra.JMSConnectionProxy.createSessionProxy(JMSConnectionProxy.java:116)
        at org.activemq.ra.JMSConnectionProxy.createQueueSession(JMSConnectionProxy.java:140)
        at com.solidusnetworks.paycore.ach.api.exporter.ExporterServiceBean.tryToSend(ExporterServiceBean.java:105)
        at com.solidusnetworks.paycore.ach.api.exporter.ExporterServiceBean.createCheckAddEvent(ExporterServiceBean.java:78)
        at com.solidusnetworks.paycore.ach.api.exporter.ExporterServiceBean$$FastClassByCGLIB$$ccede67.invoke(<generated>)
        at org.openejb.dispatch.AbstractMethodOperation.invoke(AbstractMethodOperation.java:90)
        at org.openejb.slsb.BusinessMethod.execute(BusinessMethod.java:67)
        at org.openejb.dispatch.DispatchInterceptor.invoke(DispatchInterceptor.java:72)
        at org.apache.geronimo.naming.java.ComponentContextInterceptor.invoke(ComponentContextInterceptor.java:56)
        at org.openejb.ConnectionTrackingInterceptor.invoke(ConnectionTrackingInterceptor.java:81)
        at org.openejb.transaction.ContainerPolicy$TxRequired.invoke(ContainerPolicy.java:119)
        at org.openejb.transaction.TransactionContextInterceptor.invoke(TransactionContextInterceptor.java:80)
        at org.openejb.slsb.StatelessInstanceInterceptor.invoke(StatelessInstanceInterceptor.java:98)
        at org.openejb.transaction.ContainerPolicy$TxRequired.invoke(ContainerPolicy.java:119)
        at org.openejb.transaction.TransactionContextInterceptor.invoke(TransactionContextInterceptor.java:80)
        at org.openejb.SystemExceptionInterceptor.invoke(SystemExceptionInterceptor.java:82)
        at org.openejb.GenericEJBContainer.invoke(GenericEJBContainer.java:238)
        at org.openejb.proxy.EJBMethodInterceptor.intercept(EJBMethodInterceptor.java:129)
        at org.openejb.proxy.SessionEJBLocalObject$$EnhancerByCGLIB$$b83b2a51.createCheckAddEvent(<generated>)
        at com.solidusnetworks.paycore.ach.model.check.service.CheckUpdateServiceBean.addECheck(CheckUpdateServiceBean.java:185)
        at com.solidusnetworks.paycore.ach.model.check.service.CheckUpdateServiceBean$$FastClassByCGLIB$$70674c74.invoke(<generated>)
        at org.openejb.dispatch.AbstractMethodOperation.invoke(AbstractMethodOperation.java:90)
        at org.openejb.slsb.BusinessMethod.execute(BusinessMethod.java:67)
        at org.openejb.dispatch.DispatchInterceptor.invoke(DispatchInterceptor.java:72)
        at org.apache.geronimo.naming.java.ComponentContextInterceptor.invoke(ComponentContextInterceptor.java:56)
        at org.openejb.ConnectionTrackingInterceptor.invoke(ConnectionTrackingInterceptor.java:81)
        at org.openejb.transaction.ContainerPolicy$TxRequired.invoke(ContainerPolicy.java:119)
        at org.openejb.transaction.TransactionContextInterceptor.invoke(TransactionContextInterceptor.java:80)
        at org.openejb.slsb.StatelessInstanceInterceptor.invoke(StatelessInstanceInterceptor.java:98)
        at org.openejb.transaction.ContainerPolicy$TxRequired.invoke(ContainerPolicy.java:119)
        at org.openejb.transaction.TransactionContextInterceptor.invoke(TransactionContextInterceptor.java:80)
        at org.openejb.SystemExceptionInterceptor.invoke(SystemExceptionInterceptor.java:82)
        at org.openejb.GenericEJBContainer.invoke(GenericEJBContainer.java:238)
        at org.openejb.proxy.EJBMethodInterceptor.intercept(EJBMethodInterceptor.java:129)
        at org.openejb.proxy.SessionEJBLocalObject$$EnhancerByCGLIB$$5c7891bc.addECheck(<generated>)
        at com.solidusnetworks.paycore.ach.business.pos.POSCheckServiceBean.authorize(POSCheckServiceBean.java:213)
        at com.solidusnetworks.paycore.ach.business.pos.POSCheckServiceBean$$FastClassByCGLIB$$ac29a8c5.invoke(<generated>)
        at org.openejb.dispatch.AbstractMethodOperation.invoke(AbstractMethodOperation.java:90)
        at org.openejb.slsb.BusinessMethod.execute(BusinessMethod.java:67)
        at org.openejb.dispatch.DispatchInterceptor.invoke(DispatchInterceptor.java:72)
        at org.apache.geronimo.naming.java.ComponentContextInterceptor.invoke(ComponentContextInterceptor.java:56)
        at org.openejb.ConnectionTrackingInterceptor.invoke(ConnectionTrackingInterceptor.java:81)
        at org.openejb.transaction.ContainerPolicy$TxRequired.invoke(ContainerPolicy.java:119)
        at org.openejb.transaction.TransactionContextInterceptor.invoke(TransactionContextInterceptor.java:80)
        at org.openejb.slsb.StatelessInstanceInterceptor.invoke(StatelessInstanceInterceptor.java:98)
        at org.openejb.transaction.ContainerPolicy$TxRequired.invoke(ContainerPolicy.java:140)
        at org.openejb.transaction.TransactionContextInterceptor.invoke(TransactionContextInterceptor.java:80)
        at org.openejb.SystemExceptionInterceptor.invoke(SystemExceptionInterceptor.java:82)
        at org.openejb.GenericEJBContainer.invoke(GenericEJBContainer.java:238)
        at org.openejb.server.ejbd.EjbRequestHandler.invoke(EjbRequestHandler.java:297)
        at org.openejb.server.ejbd.EjbRequestHandler.doEjbObject_BUSINESS_METHOD(EjbRequestHandler.java:325)
        at org.openejb.server.ejbd.EjbRequestHandler.processRequest(EjbRequestHandler.java:196)
        at org.openejb.server.ejbd.EjbDaemon.service(EjbDaemon.java:150)
        at org.openejb.server.ejbd.EjbServer.service(EjbServer.java:87)
        at org.openejb.server.ejbd.EjbServer$$FastClassByCGLIB$$d379d2ff.invoke(<generated>)
        at net.sf.cglib.reflect.FastMethod.invoke(FastMethod.java:53)
        at org.apache.geronimo.gbean.runtime.FastMethodInvoker.invoke(FastMethodInvoker.java:38)
        at org.apache.geronimo.gbean.runtime.GBeanOperation.invoke(GBeanOperation.java:118)
        at org.apache.geronimo.gbean.runtime.GBeanInstance.invoke(GBeanInstance.java:800)
        at org.apache.geronimo.gbean.runtime.RawInvoker.invoke(RawInvoker.java:57)
        at org.apache.geronimo.kernel.basic.RawOperationInvoker.invoke(RawOperationInvoker.java:36)
        at org.apache.geronimo.kernel.basic.ProxyMethodInterceptor.intercept(ProxyMethodInterceptor.java:96)
        at org.activeio.xnet.ServerService$$EnhancerByCGLIB$$944b9c52.service(<generated>)
        at org.activeio.xnet.ServicePool$2.run(ServicePool.java:67)
        at org.activeio.xnet.ServicePool$3.run(ServicePool.java:90)
        at org.apache.geronimo.pool.ThreadPool$ContextClassLoaderRunnable.run(ThreadPool.java:138)
        at EDU.oswego.cs.dl.util.concurrent.PooledExecutor$Worker.run(Unknown
Source)
        at java.lang.Thread.run(Thread.java:552)
</snip>

The logs show that spring/hibernate are closing sessions, etc...  This
shows the last log message from the app bean POSCheckServiceBean,
which comes right before a return of a local variable.  And its
getting stuck between the return of that local to the remote client...
not sure why though:


<snip>
14:55:00,993 DEBUG DefaultThreadPool 4
[com.solidusnetworks.paycore.ach.business.pos.POSCheckServiceBean]
RESULT=0 for echeckId=1001 requestId=0504261033491001000000010001
terminalId=1001 storeId=1 merchantId=10001
14:55:00,994 DEBUG DefaultThreadPool 4
[org.springframework.orm.hibernate.SessionFactoryUtils] Flushing
Hibernate session on transaction synchronization
14:55:01,019 DEBUG DefaultThreadPool 4
[net.sf.hibernate.impl.SessionImpl] Collection found:
[com.solidusnetworks.mif.bo.Merchant.stores#10001], was:
[com.solidusnetworks.mif.bo.Merchant.stores#10001]
14:55:01,019 DEBUG DefaultThreadPool 4
[net.sf.hibernate.impl.SessionImpl] Collection found:
[com.solidusnetworks.mif.bo.Merchant.merchantACH#10001], was:
[com.solidusnetworks.mif.bo.Merchant.merchantACH#10001]
14:55:01,019 DEBUG DefaultThreadPool 4
[net.sf.hibernate.impl.SessionImpl] Collection found:
[com.solidusnetworks.mif.bo.Merchant.merchantContacts#10001], was:
[com.solidusnetworks.mif.bo.Merchant.merchantContacts#10001]
14:55:01,019 DEBUG DefaultThreadPool 4
[net.sf.hibernate.impl.SessionImpl] Collection found:
[com.solidusnetworks.mif.bo.Merchant.merchantProdlines#10001], was:
[com.solidusnetworks.mif.bo.Merchant.merchantProdlines#10001]
14:55:01,019 DEBUG DefaultThreadPool 4
[net.sf.hibernate.impl.SessionImpl] Collection found:
[com.solidusnetworks.mif.bo.Merchant.merchantPaymentNAs#10001], was:
[com.solidusnetworks.mif.bo.Merchant.merchantPaymentNAs#10001]
14:55:01,019 DEBUG DefaultThreadPool 4
[net.sf.hibernate.impl.SessionImpl] Collection found:
[com.solidusnetworks.mif.bo.Merchant.resubmissionPolicys#10001], was:
[com.solidusnetworks.mif.bo.Merchant.resubmissionPolicys#10001]
14:55:01,019 DEBUG DefaultThreadPool 4
[net.sf.hibernate.impl.SessionImpl] Collection found:
[com.solidusnetworks.mif.bo.Merchant.merchantCCSPrefs#10001], was:
[com.solidusnetworks.mif.bo.Merchant.merchantCCSPrefs#10001]
14:55:01,019 DEBUG DefaultThreadPool 4
[net.sf.hibernate.impl.SessionImpl] Flushed: 0 insertions, 0 updates,
0 deletions to 2 objects
14:55:01,020 DEBUG DefaultThreadPool 4
[net.sf.hibernate.impl.SessionImpl] Flushed: 0 (re)creations, 0
updates, 0 removals to 7 collections
14:55:01,020 DEBUG DefaultThreadPool 4 [net.sf.hibernate.impl.Printer]
listing entities:
14:55:01,022 DEBUG DefaultThreadPool 4 [net.sf.hibernate.impl.Printer]
com.solidusnetworks.mif.bo.MerchantACH{merchant=Merchant#10001,
maxPerTrxLimit=Money{amount=1000}, overrideEnabledFlag=true,
daysToSettle=3, globalOverrideEnabled=false, refundHoldHours=null,
id=10001, alias=PT00000002, negFileEnabled=true}
14:55:01,023 DEBUG DefaultThreadPool 4 [net.sf.hibernate.impl.Printer]
com.solidusnetworks.mif.bo.Merchant{comments=null,
expectedPercentInternet=null, taxInfo=null,
expectedPercentCardKeyed=null, timeForDelivery=null, address=null,
businessHoursEnd=null, id=10001, monthlyMinAmt=null, productType=null,
ownershipType=null, expectedPercentCardswipe=null, returnPolicy=null,
lanesPerStore=null, resubmissionPolicys=uninitialized,
expectedPercentMail=null, previousProcessor=null, webUrl=null,
name=Roundys, overallStores=null, faxNumber=null,
startOfOperation=null, timeZone=null, primaryContactId=null,
merchantCCSPrefs=uninitialized, merchantPaymentNAs=uninitialized,
status=0, businessAs=null, merchantContacts=uninitialized,
merchantACH=uninitialized, stores=uninitialized,
businessHoursStart=null, monthlyMaxAmt=null, averageTicketAmt=null,
businessType=null, logoUrl=null, merchantProdlines=uninitialized,
expectedPercentPhone=null, email=null, phoneNumber=null,
motoNumber=null, monthsOfOperation=null}
14:55:01,023 DEBUG DefaultThreadPool 4
[org.springframework.transaction.support.TransactionSynchronizationManager]
Removed value [org.springframework.orm.hibernate.SessionHolder@bb732f]
for key [net.sf.hibernate.impl.SessionFactoryImpl@6900eb] from thread
[DefaultThreadPool 4]
14:55:01,024 DEBUG DefaultThreadPool 4
[org.springframework.orm.hibernate.SessionFactoryUtils] Closing
Hibernate session
14:55:01,024 DEBUG DefaultThreadPool 4
[net.sf.hibernate.impl.SessionImpl] disconnecting session
14:55:01,027 DEBUG DefaultThreadPool 4
[org.springframework.orm.hibernate.SessionFactoryUtils] Flushing
Hibernate session on transaction synchronization
14:55:01,028 DEBUG DefaultThreadPool 4
[net.sf.hibernate.impl.SessionImpl] Flushed: 0 insertions, 0 updates,
0 deletions to 1 objects
14:55:01,028 DEBUG DefaultThreadPool 4
[net.sf.hibernate.impl.SessionImpl] Flushed: 0 (re)creations, 0
updates, 0 removals to 0 collections
14:55:01,028 DEBUG DefaultThreadPool 4 [net.sf.hibernate.impl.Printer]
listing entities:
14:55:01,028 DEBUG DefaultThreadPool 4 [net.sf.hibernate.impl.Printer]
com.solidusnetworks.mif.bo.Terminal{keyStore=KeyStore#2069838037,
merchantProdline=MerchantProdline#1, store=Store#1, status=0,
lastSeqNumber=null}
14:55:01,028 DEBUG DefaultThreadPool 4
[org.springframework.transaction.support.TransactionSynchronizationManager]
Removed value [org.springframework.orm.hibernate.SessionHolder@2a0f2d]
for key [net.sf.hibernate.impl.SessionFactoryImpl@3bb9e7] from thread
[DefaultThreadPool 4]
14:55:01,028 DEBUG DefaultThreadPool 4
[org.springframework.orm.hibernate.SessionFactoryUtils] Closing
Hibernate session
14:55:01,028 DEBUG DefaultThreadPool 4
[net.sf.hibernate.impl.SessionImpl] disconnecting session
14:55:01,028 DEBUG DefaultThreadPool 4
[org.springframework.orm.hibernate.SessionFactoryUtils] Flushing
Hibernate session on transaction synchronization
14:55:01,028 DEBUG DefaultThreadPool 4
[net.sf.hibernate.impl.SessionImpl] Flushed: 0 insertions, 0 updates,
0 deletions to 0 objects
14:55:01,028 DEBUG DefaultThreadPool 4
[net.sf.hibernate.impl.SessionImpl] Flushed: 0 (re)creations, 0
updates, 0 removals to 0 collections
14:55:01,028 DEBUG DefaultThreadPool 4
[org.springframework.transaction.support.TransactionSynchronizationManager]
Removed value [org.springframework.orm.hibernate.SessionHolder@8d997c]
for key [net.sf.hibernate.impl.SessionFactoryImpl@b2c5d] from thread
[DefaultThreadPool 4]
14:55:01,028 DEBUG DefaultThreadPool 4
[org.springframework.orm.hibernate.SessionFactoryUtils] Closing
Hibernate session
14:55:01,028 DEBUG DefaultThreadPool 4
[net.sf.hibernate.impl.SessionImpl] disconnecting session
14:55:01,028 DEBUG DefaultThreadPool 4
[org.springframework.orm.hibernate.SessionFactoryUtils] Flushing
Hibernate session on transaction synchronization
14:55:01,029 DEBUG DefaultThreadPool 4
[net.sf.hibernate.impl.SessionImpl] Flushed: 0 insertions, 0 updates,
0 deletions to 1 objects
14:55:01,029 DEBUG DefaultThreadPool 4
[net.sf.hibernate.impl.SessionImpl] Flushed: 0 (re)creations, 0
updates, 0 removals to 0 collections
14:55:01,029 DEBUG DefaultThreadPool 4 [net.sf.hibernate.impl.Printer]
listing entities:
14:55:01,029 DEBUG DefaultThreadPool 4 [net.sf.hibernate.impl.Printer]
com.solidusnetworks.ach.oltp.bo.ECheck{creationTime=2006-02-07
14:54:30, updateTime=2006-02-07 14:54:30, originalId=null,
accountNumber=100000000001, merchantId=10001, id=1001,
transactionType=1, storeId=1, override=false,
uuid=B2E7F65E982C11DAB30701000A1402D5,
cashBackAmount=Money{amount=0.00}, name=Joe_Shmo,
requestId=0504261033491001000000010001, checkDateMillis=1139352870839,
payorId=, amount=Money{amount=1.05}, terminalId=1001, managerId=,
transactionMode=O, checkNumber=null, result=0, transactionCode=27,
description=, entryClassCode=POS, routingNumber=101000019,
eckType=SALE}
14:55:01,029 DEBUG DefaultThreadPool 4
[org.springframework.transaction.support.TransactionSynchronizationManager]
Removed value [org.springframework.orm.hibernate.SessionHolder@565e9f]
for key [net.sf.hibernate.impl.SessionFactoryImpl@5c3bbe] from thread
[DefaultThreadPool 4]
14:55:01,029 DEBUG DefaultThreadPool 4
[org.springframework.orm.hibernate.SessionFactoryUtils] Closing
Hibernate session
14:55:01,029 DEBUG DefaultThreadPool 4
[net.sf.hibernate.impl.SessionImpl] disconnecting session
</snip>

I'm going to try an see if trace produces anything else.

--jason

Mime
View raw message