Remover objeto de um datalist jsf

pessoal nao estou conseguindo remover um objeto de uma lista, o escopo do meu managedBean é ViewScope, uso um filtro para abrir transacao,commitar e fechar;

 <p:dataList value="#{acoesAdmBean.acoes}" var="a">
		  <p:column>
			 <p:panel>
			 	#{a.nome} &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
			 	<h:commandLink value="Editar">
			 		<f:ajax render=":form"/>
			 		<f:setPropertyActionListener value="#{a}" target="#{acoesAdmBean.acao}"/>
			 	</h:commandLink>
			 	 <h:outputLabel value="|"/>
			 	<h:commandLink value="Remover" action="#{acoesAdmBean.remover}">
			 	    <f:ajax render=":form :listaForm"/>
			 		<f:setPropertyActionListener value="#{a}" target="#{acoesAdmBean.acao}"/>
			 	</h:commandLink>
			 	<br/>
			 	#{a.descricao}
			 </p:panel>
		  </p:column>
		</p:dataList>
public void remover(){
		AcoesDAO dao = new AcoesDAO(getEm());
		dao.remove(acao);
		acao = new Acoes();
		campanha = getEm().merge(campanha);
		acoes = (List<Acoes>) campanha.getAcoes();
		
	}

o erro

SEVERE: Servlet.service() for servlet Faces Servlet threw exception
java.lang.IllegalStateException: Transaction not active
	at org.hibernate.ejb.TransactionImpl.rollback(TransactionImpl.java:104)
	at br.com.jsync.myjob.util.EntityManagerFiltro.doFilter(EntityManagerFiltro.java:57)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293)
	at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:849)
	at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
	at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:454)
	at java.lang.Thread.run(Thread.java:619)

coloque um breakpoint e verifique se a ação esta passando pelo filtro!

passa sim eu coloquei um debugs para ver isso segue o codigo do filtro e log !

	try {
					System.out.println("antes doFilter " + i);
					em.getTransaction().begin();
					request.setAttribute("em", em);
					chain.doFilter(request, response);
					System.out.println("depois doFilter " + i);i++;
					em.getTransaction().commit();
				} catch (Exception e) {
					em.getTransaction().rollback();
					e.printStackTrace();
				}finally{
					em.close();
				}
antes doFilter 42
RESTORE_VIEW 1
APPLY_REQUEST_VALUES 2
PROCESS_VALIDATIONS 3
UPDATE_MODEL_VALUES 4
INVOKE_APPLICATION 5
RENDER_RESPONSE 6
depois doFilter 42
12/11/2010 12:52:05 org.apache.catalina.core.StandardWrapperValve invoke
SEVERE: Servlet.service() for servlet Faces Servlet threw exception
java.lang.IllegalStateException: Transaction not active........

o post saiu duplicado !

alguem ja passou por algo semelhante ?