DWR invocation exception

Boa tarde Srs,

   Estou usando a versão 0.9.1 com algo em torno de 130 datasources configurados e  de algum tempo para cá, depois do crescimento rápido no numero de datasources/points tenho tido o seguinte problema:

Ao clicar em desabilitar datapoint, excluir datapoint ou salvar datapoints, recebo a seguinte mensagem: 

A SERVER ERROR OCCURED MORE INFORMATION AVAILABLE IN THE CONSOLE

No log do mango fica registrado sempre que ocorre:

 

ERROR 2013-03-13 17:02:36,934 (com.serotonin.mango.web.filter.ExceptionDetectionFilter.doFilter:52) - DWR invocation exception 
java.lang.NullPointerException
at com.serotonin.mango.rt.event.type.DataPointEventType.getDataSourceId(DataPointEventType.java:53)
at com.serotonin.mango.rt.EventManager.cancelEventsForDataSource(EventManager.java:203)
at com.serotonin.mango.rt.RuntimeManager.deleteDataSource(RuntimeManager.java:281)
at com.serotonin.mango.web.dwr.DataSourceListDwr.deleteDataSource(DataSourceListDwr.java:77)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.directwebremoting.impl.ExecuteAjaxFilter.doFilter(ExecuteAjaxFilter.java:34)
at org.directwebremoting.impl.DefaultRemoter$1.doFilter(DefaultRemoter.java:428)
at com.serotonin.mango.web.dwr.util.LoggedInAjaxFilter.doFilter(LoggedInAjaxFilter.java:39)
at org.directwebremoting.impl.DefaultRemoter$1.doFilter(DefaultRemoter.java:428)
at com.serotonin.web.dwr.LocalizationFilter.doFilter(LocalizationFilter.java:42)
at org.directwebremoting.impl.DefaultRemoter$1.doFilter(DefaultRemoter.java:428)
at com.serotonin.mango.web.filter.ExceptionDetectionFilter.doFilter(ExceptionDetectionFilter.java:40)
at org.directwebremoting.impl.DefaultRemoter$1.doFilter(DefaultRemoter.java:428)
at org.directwebremoting.impl.DefaultRemoter.execute(DefaultRemoter.java:431)
at org.directwebremoting.impl.DefaultRemoter.execute(DefaultRemoter.java:283)
at org.directwebremoting.servlet.PlainCallHandler.handle(PlainCallHandler.java:52)
at org.directwebremoting.servlet.UrlProcessor.handle(UrlProcessor.java:101)
at org.directwebremoting.servlet.DwrServlet.doPost(DwrServlet.java:146)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:637)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
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:127)
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:298)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:859)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:588)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
at java.lang.Thread.run(Unknown Source)
WARN  2013-03-13 17:02:36,934 (org.directwebremoting.util.CommonsLoggingOutput.warn:67) - Method execution failed:  
java.lang.NullPointerException
at com.serotonin.mango.rt.event.type.DataPointEventType.getDataSourceId(DataPointEventType.java:53)
at com.serotonin.mango.rt.EventManager.cancelEventsForDataSource(EventManager.java:203)
at com.serotonin.mango.rt.RuntimeManager.deleteDataSource(RuntimeManager.java:281)
at com.serotonin.mango.web.dwr.DataSourceListDwr.deleteDataSource(DataSourceListDwr.java:77)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.directwebremoting.impl.ExecuteAjaxFilter.doFilter(ExecuteAjaxFilter.java:34)
at org.directwebremoting.impl.DefaultRemoter$1.doFilter(DefaultRemoter.java:428)
at com.serotonin.mango.web.dwr.util.LoggedInAjaxFilter.doFilter(LoggedInAjaxFilter.java:39)
at org.directwebremoting.impl.DefaultRemoter$1.doFilter(DefaultRemoter.java:428)
at com.serotonin.web.dwr.LocalizationFilter.doFilter(LocalizationFilter.java:42)
at org.directwebremoting.impl.DefaultRemoter$1.doFilter(DefaultRemoter.java:428)
at com.serotonin.mango.web.filter.ExceptionDetectionFilter.doFilter(ExceptionDetectionFilter.java:40)
at org.directwebremoting.impl.DefaultRemoter$1.doFilter(DefaultRemoter.java:428)
at org.directwebremoting.impl.DefaultRemoter.execute(DefaultRemoter.java:431)
at org.directwebremoting.impl.DefaultRemoter.execute(DefaultRemoter.java:283)
at org.directwebremoting.servlet.PlainCallHandler.handle(PlainCallHandler.java:52)
at org.directwebremoting.servlet.UrlProcessor.handle(UrlProcessor.java:101)
at org.directwebremoting.servlet.DwrServlet.doPost(DwrServlet.java:146)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:637)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
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:127)
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:298)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:859)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:588)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
at java.lang.Thread.run(Unknown Source)
 
Após a mensagem o Scada não responde ao comando solicitado (não é emitida a mensagem de datasource salvo ou desabilitado). Então saio da página, entro novamente e executo de novo a mesma ação, desta vez com sucesso e sem mensagem de erro. Isso ocorre sempre na primeira vez que tento clicar nesses botões de ação, já na segunda vez, sempre consigo com sucesso.
 
Consigo reproduzir o erro tanto no chrome 25.0, FIrefox 17 ou ie8.
 
Alguma sugestão?
 
Obrigado.
 

Oi André, 

Eu acho que o ERROR apresentado é efeito do WARN de baixo... E parece ter a ver com permissão de usuário... mas não dá pra dizer sem pesquisar com mais tempo =/

O erro passa pela biblioteca seroUtils.jar (com.serotonin.web.dwr.LocalizationFilter.doFilter) e não possuo os fontes dela para analisar melhor. Você consegue definir um procedimento para repetição? Esse erro é crítico?

Podes colocá-lo no nosso trac?

https://sourceforge.net/apps/trac/scadabr/newticket

Boa sorte ai.

 

Olá Diego, o procedimento de repetição para a mensagem do erro é a ativação/desativação ou tentativa de salvar um datasource.

Esse defeito preocupa muito pela instabilidade que causa no sistema, visto que ao receber o erro, caso eu não saia e entre de novo na tela para repetir o procedimento, o sistema fica instável e gera alarmes em todos os datapoints do scadabr. Após salvar com sucesso, tudo volta ao normal.

Acabei de abrir o ticket no sourceforge:

 

Ticket #58 (new defect)

Se puder dar alguma ajuda, eu agradeço, nosso sistema está ficando grande e muito importante para nosso negócio.

Obrigado.

 

André

 

Caro André,

Qual a solução? Não encontrei o tal Ticket#58 no sourceFource.net.

Olá Anderson, não sei o que houve com os tickets do scadabr no sourceforge. Não consigo visualizar nenhum outro, até a aparece alguns na cache de pesquisa do google...

A prova que abri:

 

[scadabr] #58: DWR invocation exception

 
 
Inbox
x
 
 
 

scadabr <noreply@sourceforge.net>

3/28/13
 
to
#58: DWR invocation exception
------------------------+---------------------------------------------------
Reporter:  andre-eagle  |       Owner:  scadabr
    Type:  defect       |      Status:  new
Priority:  minor        |   Component:  Generic
 Version:  2.0          |    Keywords:
------------------------+---------------------------------------------------