[
https://issues.jboss.org/browse/SEAMTRANSACTION-2?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12630859#comment-12630859
]
Trevor Sweeney commented on SEAMTRANSACTION-2:
----------------------------------------------
So after a lot of painful debugging I'm not sure if this is a bug and less sure
if its a seam transaction bug.
In our seam 2.x app we have an image servlet defined in pages.xml, in an action
we load the image from the db resize it as needed, stream and end the response.
The viewid did not actually have a real resource in the project because it was
never loaded.
In our conversion we are now using pretty faces and an entry would look like
<url-mapping id="tst">
<pattern value="/tst" />
<view-id value="/tst.seam" />
<action>#{tst.blowup()}</action>
</url-mapping>
and tst.xhtml doesnt actually exist
here is the tst bean
@Named("tst")
@RequestScoped
public class TestApp {
@Inject FacesContext context;
public TestApp(){
}
public void blowup(){
Calendar cal = Calendar.getInstance();
HttpServletResponse resp = (HttpServletResponse)
context.getExternalContext().getResponse();
ByteArrayOutputStream baout = new ByteArrayOutputStream();
baout.write(0);
resp. setDateHeader("Last-Modified", cal.getTimeInMillis());
cal.add(Calendar.MONTH, 6);
resp.setDateHeader("Expires", cal.getTimeInMillis());
resp.setContentLength(baout.size());
ServletOutputStream outStream;
try {
outStream = resp.getOutputStream();
baout.writeTo(outStream);
baout.flush();
baout.close();
outStream.flush();
outStream.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
context.responseComplete();
}
When the tst.xhtml does not exist the exception is thrown and the deployment is
dead
> thread is already associated with a transaction
> -----------------------------------------------
>
> Key: SEAMTRANSACTION-2
> URL: https://issues.jboss.org/browse/SEAMTRANSACTION-2
> Project: Seam Transaction
> Issue Type: Bug
> Affects Versions: 3.1.0.Beta1
> Environment: Jboss as 7
> Seam 3 (latest beta)
> jsf 2
> richface 4
> hibernate 4
> Reporter: Trevor Sweeney
> Assignee: Stuart Douglas
>
> I am migrating a large app from seam 2 to 3. We have some large portions of
> the site working with a nagging issue.
> When a page is loaded, after the default transaction timeout fires the server
> cannot server any more requests because of the below error:
> Environment: Jboss AS 7.0.1 Seam 3 Hibernate 4 Jsf 2 Richafaces 4
> 20:26:33,061 WARN [com.arjuna.ats.arjuna] (Transaction Reaper Worker 0)
> ARJUNA12127: TwoPhaseCoordinator.afterCompletion - returned failure for
> SynchronizationImple< 0:ffff0a84403a:-3c589bf9:4e6ea2ca:30,
> org.jboss.seam.transaction.TransactionManagerSynchronizations@95f259 >
> 20:26:33,061 WARN [com.arjuna.ats.arjuna] (Transaction Reaper Worker 0)
> ARJUNA12121: TransactionReaper::doCancellations worker Thread[Transaction
> Reaper Worker 0,5,main] successfully canceled TX
> 0:ffff0a84403a:-3c589bf9:4e6ea2ca:2a
> 20:26:53,671 ERROR
> [org.apache.catalina.core.ContainerBase.[jboss.web].[default-host].[/webstore].[Faces
> Servlet]] (http--127.0.0.1-8080-1) Servlet.service() for servlet Faces
> Servlet threw exception: java.lang.IllegalStateException:
> BaseTransaction.checkTransactionState - thread is already associated with a
> transaction!
> at
> com.arjuna.ats.internal.jta.transaction.arjunacore.BaseTransaction.checkTransactionState(BaseTransaction.java:259)
> at
> com.arjuna.ats.internal.jta.transaction.arjunacore.BaseTransaction.begin(BaseTransaction.java:61)
> at
> org.jboss.seam.transaction.UTTransaction.begin(UTTransaction.java:51)
> [seam-transaction-3.1.0.Beta2.jar:]
> at
> org.jboss.seam.transaction.DefaultSeamTransaction.begin(DefaultSeamTransaction.java:87)
> [seam-transaction-3.1.0.Beta2.jar:]
> at
> org.jboss.seam.faces.transaction.TransactionPhaseListener.begin(TransactionPhaseListener.java:108)
> [seam-faces-3.1.0.Beta2.jar:]
> at
> org.jboss.seam.faces.transaction.TransactionPhaseListener.begin(TransactionPhaseListener.java:101)
> [seam-faces-3.1.0.Beta2.jar:]
> at
> org.jboss.seam.faces.transaction.TransactionPhaseListener.handleTransactionsBeforePhase(TransactionPhaseListener.java:82)
> [seam-faces-3.1.0.Beta2.jar:]
> at
> org.jboss.seam.faces.transaction.TransactionPhaseListener.beforePhase(TransactionPhaseListener.java:64)
> [seam-faces-3.1.0.Beta2.jar:]
> at
> org.jboss.seam.faces.event.DelegatingPhaseListener.beforePhase(DelegatingPhaseListener.java:43)
> [seam-faces-3.1.0.Beta2.jar:]
> at com.sun.faces.lifecycle.Phase.handleBeforePhase(Phase.java:228)
> [jsf-impl-2.0.4-b09-jbossorg-4.jar:2.0.4-b09-jbossorg-4]
> at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:99)
> [jsf-impl-2.0.4-b09-jbossorg-4.jar:2.0.4-b09-jbossorg-4]
> at
> com.sun.faces.lifecycle.RestoreViewPhase.doPhase(RestoreViewPhase.java:111)
> [jsf-impl-2.0.4-b09-jbossorg-4.jar:2.0.4-b09-jbossorg-4]
> at
> com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:118)
> [jsf-impl-2.0.4-b09-jbossorg-4.jar:2.0.4-b09-jbossorg-4]
> at javax.faces.webapp.FacesServlet.service(FacesServlet.java:312)
> [jboss-jsf-api_2.0_spec-1.0.0.Final.jar:1.0.0.Final]
> at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:329)
> [jbossweb-7.0.1.Final.jar:7.0.1.Final]
> at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:248)
> [jbossweb-7.0.1.Final.jar:7.0.1.Final]
> at com.ocpsoft.pretty.PrettyFilter.doFilter(PrettyFilter.java:118)
> [prettyfaces-jsf2-3.3.0.jar:]
> at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:280)
> [jbossweb-7.0.1.Final.jar:7.0.1.Final]
> at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:248)
> [jbossweb-7.0.1.Final.jar:7.0.1.Final]
> at
> org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:734)
> [jbossweb-7.0.1.Final.jar:7.0.1.Final]
> at
> org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:541)
> [jbossweb-7.0.1.Final.jar:7.0.1.Final]
> at
> org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:479)
> [jbossweb-7.0.1.Final.jar:7.0.1.Final]
> at
> org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:407)
> [jbossweb-7.0.1.Final.jar:7.0.1.Final]
> at com.ocpsoft.pretty.PrettyFilter.doFilter(PrettyFilter.java:110)
> [prettyfaces-jsf2-3.3.0.jar:]
> at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:280)
> [jbossweb-7.0.1.Final.jar:7.0.1.Final]
> at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:248)
> [jbossweb-7.0.1.Final.jar:7.0.1.Final]
> at
> org.jboss.seam.servlet.exception.CatchExceptionFilter.doFilter(CatchExceptionFilter.java:65)
> [seam-servlet-3.1.0.Beta2.jar:]
> at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:280)
> [jbossweb-7.0.1.Final.jar:7.0.1.Final]
> at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:248)
> [jbossweb-7.0.1.Final.jar:7.0.1.Final]
> at
> org.jboss.seam.servlet.event.ServletEventBridgeFilter.doFilter(ServletEventBridgeFilter.java:72)
> [seam-servlet-3.1.0.Beta2.jar:]
> at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:280)
> [jbossweb-7.0.1.Final.jar:7.0.1.Final]
> at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:248)
> [jbossweb-7.0.1.Final.jar:7.0.1.Final]
> at
> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:275)
> [jbossweb-7.0.1.Final.jar:7.0.1.Final]
> at
> org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:161)
> [jbossweb-7.0.1.Final.jar:7.0.1.Final]
> at
> org.jboss.as.web.security.SecurityContextAssociationValve.invoke(SecurityContextAssociationValve.java:139)
> [jboss-as-web-7.0.1.Final.jar:7.0.1.Final]
> at org.jboss.as.web.NamingValve.invoke(NamingValve.java:57)
> [jboss-as-web-7.0.1.Final.jar:7.0.1.Final]
> at
> org.jboss.as.jpa.interceptor.WebNonTxEmCloserValve.invoke(WebNonTxEmCloserValve.java:49)
> [jboss-as-jpa-7.0.1.Final.jar:7.0.1.Final]
> at
> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:154)
> [jbossweb-7.0.1.Final.jar:7.0.1.Final]
> at
> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
> [jbossweb-7.0.1.Final.jar:7.0.1.Final]
> at
> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
> [jbossweb-7.0.1.Final.jar:7.0.1.Final]
> at
> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:362)
> [jbossweb-7.0.1.Final.jar:7.0.1.Final]
> at
> org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:877)
> [jbossweb-7.0.1.Final.jar:7.0.1.Final]
> at
> org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:667)
> [jbossweb-7.0.1.Final.jar:7.0.1.Final]
> at
> org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:952)
> [jbossweb-7.0.1.Final.jar:7.0.1.Final]
> at java.lang.Thread.run(Thread.java:619) [:1.6.0_20]
> 20:26:53,671 ERROR
> [org.apache.catalina.core.ContainerBase.[jboss.web].[default-host].[/webstore].[default]]
> (http--127.0.0.1-8080-1) Servlet.service() for servlet default threw
> exception: java.lang.IllegalStateException:
> BaseTransaction.checkTransactionState - thread is already associated with a
> transaction!
> at
> com.arjuna.ats.internal.jta.transaction.arjunacore.BaseTransaction.checkTransactionState(BaseTransaction.java:259)
> at
> com.arjuna.ats.internal.jta.transaction.arjunacore.BaseTransaction.begin(BaseTransaction.java:61)
> at
> org.jboss.seam.transaction.UTTransaction.begin(UTTransaction.java:51)
> [seam-transaction-3.1.0.Beta2.jar:]
> at
> org.jboss.seam.transaction.DefaultSeamTransaction.begin(DefaultSeamTransaction.java:87)
> [seam-transaction-3.1.0.Beta2.jar:]
> at
> org.jboss.seam.faces.transaction.TransactionPhaseListener.begin(TransactionPhaseListener.java:108)
> [seam-faces-3.1.0.Beta2.jar:]
> at
> org.jboss.seam.faces.transaction.TransactionPhaseListener.begin(TransactionPhaseListener.java:101)
> [seam-faces-3.1.0.Beta2.jar:]
> at
> org.jboss.seam.faces.transaction.TransactionPhaseListener.handleTransactionsBeforePhase(TransactionPhaseListener.java:82)
> [seam-faces-3.1.0.Beta2.jar:]
> at
> org.jboss.seam.faces.transaction.TransactionPhaseListener.beforePhase(TransactionPhaseListener.java:64)
> [seam-faces-3.1.0.Beta2.jar:]
> at
> org.jboss.seam.faces.event.DelegatingPhaseListener.beforePhase(DelegatingPhaseListener.java:43)
> [seam-faces-3.1.0.Beta2.jar:]
> at com.sun.faces.lifecycle.Phase.handleBeforePhase(Phase.java:228)
> [jsf-impl-2.0.4-b09-jbossorg-4.jar:2.0.4-b09-jbossorg-4]
> at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:99)
> [jsf-impl-2.0.4-b09-jbossorg-4.jar:2.0.4-b09-jbossorg-4]
> at
> com.sun.faces.lifecycle.RestoreViewPhase.doPhase(RestoreViewPhase.java:111)
> [jsf-impl-2.0.4-b09-jbossorg-4.jar:2.0.4-b09-jbossorg-4]
> at
> com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:118)
> [jsf-impl-2.0.4-b09-jbossorg-4.jar:2.0.4-b09-jbossorg-4]
> at javax.faces.webapp.FacesServlet.service(FacesServlet.java:312)
> [jboss-jsf-api_2.0_spec-1.0.0.Final.jar:1.0.0.Final]
> at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:329)
> [jbossweb-7.0.1.Final.jar:7.0.1.Final]
> at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:248)
> [jbossweb-7.0.1.Final.jar:7.0.1.Final]
> at com.ocpsoft.pretty.PrettyFilter.doFilter(PrettyFilter.java:118)
> [prettyfaces-jsf2-3.3.0.jar:]
> at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:280)
> [jbossweb-7.0.1.Final.jar:7.0.1.Final]
> at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:248)
> [jbossweb-7.0.1.Final.jar:7.0.1.Final]
> at
> org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:734)
> [jbossweb-7.0.1.Final.jar:7.0.1.Final]
> at
> org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:541)
> [jbossweb-7.0.1.Final.jar:7.0.1.Final]
> at
> org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:479)
> [jbossweb-7.0.1.Final.jar:7.0.1.Final]
> at
> org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:407)
> [jbossweb-7.0.1.Final.jar:7.0.1.Final]
> at com.ocpsoft.pretty.PrettyFilter.doFilter(PrettyFilter.java:110)
> [prettyfaces-jsf2-3.3.0.jar:]
> at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:280)
> [jbossweb-7.0.1.Final.jar:7.0.1.Final]
> at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:248)
> [jbossweb-7.0.1.Final.jar:7.0.1.Final]
> at
> org.jboss.seam.servlet.exception.CatchExceptionFilter.doFilter(CatchExceptionFilter.java:65)
> [seam-servlet-3.1.0.Beta2.jar:]
> at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:280)
> [jbossweb-7.0.1.Final.jar:7.0.1.Final]
> at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:248)
> [jbossweb-7.0.1.Final.jar:7.0.1.Final]
> at
> org.jboss.seam.servlet.event.ServletEventBridgeFilter.doFilter(ServletEventBridgeFilter.java:72)
> [seam-servlet-3.1.0.Beta2.jar:]
> at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:280)
> [jbossweb-7.0.1.Final.jar:7.0.1.Final]
> at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:248)
> [jbossweb-7.0.1.Final.jar:7.0.1.Final]
> at
> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:275)
> [jbossweb-7.0.1.Final.jar:7.0.1.Final]
> at
> org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:161)
> [jbossweb-7.0.1.Final.jar:7.0.1.Final]
> at
> org.jboss.as.web.security.SecurityContextAssociationValve.invoke(SecurityContextAssociationValve.java:139)
> [jboss-as-web-7.0.1.Final.jar:7.0.1.Final]
> at org.jboss.as.web.NamingValve.invoke(NamingValve.java:57)
> [jboss-as-web-7.0.1.Final.jar:7.0.1.Final]
> at
> org.jboss.as.jpa.interceptor.WebNonTxEmCloserValve.invoke(WebNonTxEmCloserValve.java:49)
> [jboss-as-jpa-7.0.1.Final.jar:7.0.1.Final]
> at
> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:154)
> [jbossweb-7.0.1.Final.jar:7.0.1.Final]
> at
> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
> [jbossweb-7.0.1.Final.jar:7.0.1.Final]
> at
> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
> [jbossweb-7.0.1.Final.jar:7.0.1.Final]
> at
> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:362)
> [jbossweb-7.0.1.Final.jar:7.0.1.Final]
> at
> org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:877)
> [jbossweb-7.0.1.Final.jar:7.0.1.Final]
> at
> org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:667)
> [jbossweb-7.0.1.Final.jar:7.0.1.Final]
> at
> org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:952)
> [jbossweb-7.0.1.Final.jar:7.0.1.Final]
> at java.lang.Thread.run(Thread.java:619) [:1.6.0_20]
--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira
_______________________________________________
seam-issues mailing list
[email protected]
https://lists.jboss.org/mailman/listinfo/seam-issues