Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

IOException on Graph (found in Logfile) #668

Closed
StefanPenndorf opened this issue Sep 6, 2017 · 5 comments
Closed

IOException on Graph (found in Logfile) #668

StefanPenndorf opened this issue Sep 6, 2017 · 5 comments

Comments

@StefanPenndorf
Copy link
Contributor

StefanPenndorf commented Sep 6, 2017

Java Melody Log-Section displays the following Exception/stack trace.

I don't see which section is affected. It might be graphing particular requests because when accessing statistics for a particular HTTP request (part=graph&graph=http) the graphs are always empty. But that might also be another issue ....

SEVERE: Servlet.service() for servlet [default] in context with path [/backend] threw exception

Stack-trace
java.io.IOException: Invalid timestamps specified: 1504686302, 1504686302
      at net.bull.javamelody.internal.model.JRobin.createIOException(JRobin.java:488)
      at net.bull.javamelody.internal.model.JRobin.graph(JRobin.java:262)
      at net.bull.javamelody.internal.web.MonitoringController.doGraph(MonitoringController.java:385)
      at net.bull.javamelody.internal.web.MonitoringController.doReport(MonitoringController.java:189)
      at net.bull.javamelody.internal.web.MonitoringController.doActionIfNeededAndReport(MonitoringController.java:160)
      at net.bull.javamelody.MonitoringFilter.doMonitoring(MonitoringFilter.java:391)
      at net.bull.javamelody.MonitoringFilter.doFilter(MonitoringFilter.java:200)
      at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:240)
      at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:207)
      at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:316)
      at[...... stripped Spring Security Filter Chain Stuff to enhance readability - full stacktrace can be provided on request] 
      at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:262)
      at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:240)
      at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:207)
      at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:197)
      at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
      at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:240)
      at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:207)
      at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:212)
      at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:106)
      at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:502)
      at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:141)
      at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:79)
      at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:616)
      at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:88)
      at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:528)
      at org.apache.coyote.ajp.AbstractAjpProcessor.process(AbstractAjpProcessor.java:873)
      at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:670)
      at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1520)
      at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1476)
      at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
      at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
      at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
      at java.lang.Thread.run(Thread.java:745)
Caused by: org.jrobin.core.RrdException: Invalid timestamps specified: 1504686302, 1504686302
      at org.jrobin.data.DataProcessor.<init>(DataProcessor.java:101)
      at org.jrobin.graph.RrdGraph.fetchData(RrdGraph.java:535)
      at org.jrobin.graph.RrdGraph.createGraph(RrdGraph.java:80)
      at org.jrobin.graph.RrdGraph.<init>(RrdGraph.java:59)
      at net.bull.javamelody.internal.model.JRobin.graph(JRobin.java:260)
      ... 60 more

EDIT: Effected version 1.68.1 -- cannot upgrade to 1.69.0 at the moment but will do as soon as possible.

@evernat
Copy link
Member

evernat commented Sep 6, 2017

Can you give a screenshot of the main monitoring dashboard, to better understand the issue ?

@StefanPenndorf
Copy link
Contributor Author

Here is a screenshot of the graph that -might- be the source of the stacktrace.

javamelody_graphingerror

@evernat
Copy link
Member

evernat commented Nov 20, 2017

The exception Invalid timestamps specified: 1504686302, 1504686302 means that you can't have a graph from Wed Sep 06 10:25:02 CEST 2017 to the same second.
I have looked at the code and I don't see yet how this exception can be possible.
What version of javamelody do you use?
Do you use a customized version of javamelody?
Do you know how to reproduce the issue?

@StefanPenndorf
Copy link
Contributor Author

StefanPenndorf commented Nov 22, 2017

What version of javamelody do you use?

We had the problem with JavaMelody 1.68.1 (see my first post). I've just updated to 1.70 yesterday but we need to wait until next week for the release to go live.

Do you use a customized version of javamelody?

No. We're using maven that means 1.68.1 from maven central was used.

Do you know how to reproduce the issue?

After loading our web app in a browser I switch to java melody, I'll click to see the request graph for a particular request (e.g. Javascript or css resource request) (part=graph&graph=http). Although there are request statistics on JavaMelody main page the graph on detail page is empty. There is no error message in the web/graph.

EDIT: Changed wrong formatting: My comments/answers were displayed as quote.

@evernat
Copy link
Member

evernat commented Feb 7, 2018

I have finally found a case when the issue is possible: it is when a javamelody user or a robot of your own asks directly for a graph with a custom period and with not one but both start and end date in the future. Note that the javamelody user or the robot may be in a timezone with a delta of several hours compared with your application, so today for them may be tomorrow for the application.
This is not related to the screenshot above (which is empty because for that large period of time, there are not enough values for that http request to aggregate meaningful averages).
The issue is fixed by 5fcf8ca and ready for the next release (1.72).
A new build should be available soon at:
https://javamelody.ci.cloudbees.com/job/javamelody/net.bull.javamelody$javamelody-core/

@evernat evernat closed this as completed Feb 7, 2018
goldyliang pushed a commit to goldyliang/javamelody that referenced this issue Mar 17, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants