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

[BUG] V4.4.1 Compare Version Feature Server-Side Exception #8943

Closed
jdnlab opened this issue Jul 27, 2017 · 7 comments
Closed

[BUG] V4.4.1 Compare Version Feature Server-Side Exception #8943

jdnlab opened this issue Jul 27, 2017 · 7 comments

Comments

@jdnlab
Copy link

jdnlab commented Jul 27, 2017

  • What Grafana version are you using?
    Grafana Server Version 4.4.1 (Commit SHA: 6a9f8ca)

  • What datasource are you using?
    Graphite

  • What OS are you running grafana on?
    Linux 2.6.32-573.18.1.el6.x86_64 Duplicate panel with 3 x colspan 3 panels will add not add to empty row #1 SMP Tue Feb 9 22:46:17 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux
    CentOS release 6.7 (Final)

  • What did you do?
    Attempted to diff two versions of a given dashboard.

  • What was the expected result?
    Change summary (e.g., http://docs.grafana.org/img/docs/v4/dashboard_versions_diff_basic.png).

  • What occurred instead?
    Exception was thrown -- an incomplete operation. It should be noted that, while the "Compare Version" operation is executing, if a user selects "JSON Diff" in-flight, that operation competes successfully.

Problem!
<!DOCTYPE html> 
<html lang="en"> 
<head> 
<meta charset="utf-8"> 
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"> 
<meta name="viewport" content="width=device-width"> 
<title>Grafana - Error</title> 
<link href='/public/css/fonts.min.css' rel='stylesheet' type='text/css'> 
<link rel="stylesheet" href="/public/css/grafana.dark.min.4ef341a4.css"> 
<link rel="icon" type="image/png" href="/public/img/fav32.png"> 
<base href="/" /> 
</head> 
<body> 
<div class="page-container"> 
<div class="page-header"> 
<h1>Server side error :(</h1> 
</div> <h4>runtime error: invalid memory address or nil pointer dereference</h4> </div> </body> 
</html>
@torkelo
Copy link
Member

torkelo commented Jul 29, 2017

Attempted to diff two versions of a given dashboard.

What steps did you take, and can you include the json for the two versions?

@torkelo torkelo added needs more info Issue needs more information, like query results, dashboard or panel json, grafana version etc type/bug labels Jul 29, 2017
@jdnlab
Copy link
Author

jdnlab commented Aug 3, 2017

Below are the two dashboard versions in question (dashboard is for grobian's Graphite Carbon C Relay):

I selected both versions in the version history dropdown , and clicked "compare version". Change summary as the default version comparison is selected, and after 3-4 seconds, the exception in question was thrown.

@torkelo torkelo added area/dashboard and removed needs more info Issue needs more information, like query results, dashboard or panel json, grafana version etc labels Aug 28, 2017
@talonx
Copy link

talonx commented Sep 7, 2017

I have a similar issue in 4.4.3. In my case, this happens when I export and then import a dashboard as json, make some changes in the imported dashboard and then attempt to compare versions. It does not happen for dashboards which are created from scratch. The full stack trace is

invalid memory address or nil pointer dereference" stack="/home/talonx/sdks/go/current/src/runtime/panic.go:489 (0x43387f)
/home/talonx/sdks/go/current/src/runtime/panic.go:63 (0x43272e)
/home/talonx/sdks/go/current/src/runtime/signal_unix.go:290 (0x448d6f)
/home/talonx/code/go/src/github.com/grafana/grafana/pkg/components/dashdiffs/formatter_basic.go:189 (0xbf2912)
/home/talonx/code/go/src/github.com/grafana/grafana/pkg/components/dashdiffs/formatter_basic.go:85 (0xbf204b)
/home/talonx/code/go/src/github.com/grafana/grafana/pkg/components/dashdiffs/compare.go:112 (0xbf133e)
/home/talonx/code/go/src/github.com/grafana/grafana/pkg/api/dashboard.go:350 (0xd7eabf)
/home/talonx/sdks/go/current/src/runtime/asm_amd64.s:516 (0x4607f6)
/home/talonx/sdks/go/current/src/reflect/value.go:434 (0x4b174f)
/home/talonx/sdks/go/current/src/reflect/value.go:302 (0x4b0d14)
/home/talonx/code/go/src/github.com/grafana/grafana/vendor/github.com/go-macaron/inject/inject.go:177 (0x783daf)
/home/talonx/code/go/src/github.com/grafana/grafana/vendor/github.com/go-macaron/inject/inject.go:137 (0x78377a)
/home/talonx/code/go/src/github.com/grafana/grafana/pkg/api/common.go:37 (0xdaeb2c)
/home/talonx/sdks/go/current/src/runtime/asm_amd64.s:514 (0x4606d8)
/home/talonx/sdks/go/current/src/reflect/value.go:434 (0x4b174f)
/home/talonx/sdks/go/current/src/reflect/value.go:302 (0x4b0d14)
/home/talonx/code/go/src/github.com/grafana/grafana/vendor/github.com/go-macaron/inject/inject.go:177 (0x783daf)
/home/talonx/code/go/src/github.com/grafana/grafana/vendor/github.com/go-macaron/inject/inject.go:137 (0x78377a)
/home/talonx/code/go/src/github.com/grafana/grafana/vendor/gopkg.in/macaron.v1/context.go:121 (0x7a1a52)
/home/talonx/code/go/src/github.com/grafana/grafana/vendor/gopkg.in/macaron.v1/context.go:112 (0x7a1976)
/home/talonx/code/go/src/github.com/grafana/grafana/pkg/middleware/request_metrics.go:14 (0xb44c37)
/home/talonx/sdks/go/current/src/runtime/asm_amd64.s:514 (0x4606d8)
/home/talonx/sdks/go/current/src/reflect/value.go:434 (0x4b174f)
/home/talonx/sdks/go/current/src/reflect/value.go:302 (0x4b0d14)
/home/talonx/code/go/src/github.com/grafana/grafana/vendor/github.com/go-macaron/inject/inject.go:177 (0x783daf)
/home/talonx/code/go/src/github.com/grafana/grafana/vendor/github.com/go-macaron/inject/inject.go:137 (0x78377a)
/home/talonx/code/go/src/github.com/grafana/grafana/vendor/gopkg.in/macaron.v1/context.go:121 (0x7a1a52)
/home/talonx/code/go/src/github.com/grafana/grafana/vendor/gopkg.in/macaron.v1/context.go:112 (0x7a1976)
/home/talonx/code/go/src/github.com/grafana/grafana/pkg/middleware/session.go:79 (0xb44e7b)
/home/talonx/sdks/go/current/src/runtime/asm_amd64.s:514 (0x4606d8)
/home/talonx/sdks/go/current/src/reflect/value.go:434 (0x4b174f)
/home/talonx/sdks/go/current/src/reflect/value.go:302 (0x4b0d14)
/home/talonx/code/go/src/github.com/grafana/grafana/vendor/github.com/go-macaron/inject/inject.go:177 (0x783daf)
/home/talonx/code/go/src/github.com/grafana/grafana/vendor/github.com/go-macaron/inject/inject.go:137 (0x78377a)
/home/talonx/code/go/src/github.com/grafana/grafana/vendor/gopkg.in/macaron.v1/context.go:121 (0x7a1a52)
/home/talonx/code/go/src/github.com/grafana/grafana/vendor/gopkg.in/macaron.v1/context.go:112 (0x7a1976)
/home/talonx/code/go/src/github.com/grafana/grafana/pkg/middleware/recovery.go:146 (0xb44ba1)
/home/talonx/code/go/src/github.com/grafana/grafana/vendor/gopkg.in/macaron.v1/context.go:79 (0x7a17f1)
/home/talonx/code/go/src/github.com/grafana/grafana/vendor/github.com/go-macaron/inject/inject.go:157 (0x783a82)
/home/talonx/code/go/src/github.com/grafana/grafana/vendor/github.com/go-macaron/inject/inject.go:135 (0x78387b)
/home/talonx/code/go/src/github.com/grafana/grafana/vendor/gopkg.in/macaron.v1/context.go:121 (0x7a1a52)
/home/talonx/code/go/src/github.com/grafana/grafana/vendor/gopkg.in/macaron.v1/context.go:112 (0x7a1976)
/home/talonx/code/go/src/github.com/grafana/grafana/pkg/middleware/logger.go:33 (0xb42502)
/home/talonx/sdks/go/current/src/runtime/asm_amd64.s:514 (0x4606d8)
/home/talonx/sdks/go/current/src/reflect/value.go:434 (0x4b174f)
/home/talonx/sdks/go/current/src/reflect/value.go:302 (0x4b0d14)
/home/talonx/code/go/src/github.com/grafana/grafana/vendor/github.com/go-macaron/inject/inject.go:177 (0x783daf)
/home/talonx/code/go/src/github.com/grafana/grafana/vendor/github.com/go-macaron/inject/inject.go:137 (0x78377a)
/home/talonx/code/go/src/github.com/grafana/grafana/vendor/gopkg.in/macaron.v1/context.go:121 (0x7a1a52)
/home/talonx/code/go/src/github.com/grafana/grafana/vendor/gopkg.in/macaron.v1/router.go:187 (0x7b38a9)
/home/talonx/code/go/src/github.com/grafana/grafana/vendor/gopkg.in/macaron.v1/router.go:296 (0x7adcad)
/home/talonx/code/go/src/github.com/grafana/grafana/vendor/gopkg.in/macaron.v1/macaron.go:220 (0x7a652c)
/home/talonx/sdks/go/current/src/net/http/server.go:2568 (0x690b52)
/home/talonx/sdks/go/current/src/net/http/server.go:1825 (0x68cf22)
/home/talonx/sdks/go/current/src/runtime/asm_amd64.s:2197 (0x462e71)

Again, these steps might be different from the ones that the OP has followed - in that case I will log a separate issue.

@talonx
Copy link

talonx commented Sep 11, 2017

I was able to replicate this successfully. Steps

  • Export a dashboard as a JSON
  • Import it (either in the same Grafana installation or a different one)
  • Make some changes in the imported one and save
  • Compare versions initial and the changes made, it fails
  • The error comes when a comparison is made between the initial version and any subsequent versions.

@talonx
Copy link

talonx commented Sep 12, 2017

Logged a new issue at #9221

@kichristensen
Copy link
Contributor

I've hit the same issue in v5.0.

runtime error: invalid memory address or nil pointer dereference
stack="/usr/local/go/src/runtime/panic.go:491
(0x432ad2)\n/usr/local/go/src/runtime/panic.go:63
(0x4319dd)\n/usr/local/go/src/runtime/signal_unix.go:367 
(0x449ecb)\n/go/src/github.com/grafana/grafana/pkg/components/dashdiffs/formatter_basic.go:189 
(0xe928c0)\n/go/src/github.com/grafana/grafana/pkg/components/dashdiffs/formatter_basic.go:85 
(0xe91fca)\n/go/src/github.com/grafana/grafana/pkg/components/dashdiffs/compare.go:112 
(0xe910f1)\n/go/src/github.com/grafana/grafana/pkg/api/dashboard.go:441 
(0xedabf8)\n/usr/local/go/src/runtime/asm_amd64.s:511 
(0x461ea1)\n/usr/local/go/src/reflect/value.go:434 (0x4c0744)\n/usr/local/go/src/reflect/value.go:302 
(0x4bfd23)\n/go/src/github.com/grafana/grafana/vendor/github.com/go-macaron/inject/inject.go:177 
(0x7e3228)\n/go/src/github.com/grafana/grafana/vendor/github.com/go-macaron/inject/inject.go:137 
(0x7e2b29)\n/go/src/github.com/grafana/grafana/pkg/api/common.go:37 
(0xf1349b)\n/usr/local/go/src/runtime/asm_amd64.s:509 
(0x461d8a)\n/usr/local/go/src/reflect/value.go:434 (0x4c0744)\n/usr/local/go/src/reflect/value.go:302 
(0x4bfd23)\n/go/src/github.com/grafana/grafana/vendor/github.com/go-macaron/inject/inject.go:177 
(0x7e3228)\n/go/src/github.com/grafana/grafana/vendor/github.com/go-macaron/inject/inject.go:137 
(0x7e2b29)\n/go/src/github.com/grafana/grafana/vendor/gopkg.in/macaron.v1/context.go:121 
(0x80025d)\n/go/src/github.com/grafana/grafana/vendor/gopkg.in/macaron.v1/context.go:112 
(0x800195)\n/go/src/github.com/grafana/grafana/pkg/middleware/request_tracing.go:25 
(0xc3305e)\n/usr/local/go/src/runtime/asm_amd64.s:509 
(0x461d8a)\n/usr/local/go/src/reflect/value.go:434 (0x4c0744)\n/usr/local/go/src/reflect/value.go:302 
(0x4bfd23)\n/go/src/github.com/grafana/grafana/vendor/github.com/go-macaron/inject/inject.go:177 
(0x7e3228)\n/go/src/github.com/grafana/grafana/vendor/github.com/go-macaron/inject/inject.go:137 
(0x7e2b29)\n/go/src/github.com/grafana/grafana/vendor/gopkg.in/macaron.v1/context.go:121 
(0x80025d)\n/go/src/github.com/grafana/grafana/vendor/gopkg.in/macaron.v1/context.go:112 
(0x800195)\n/go/src/github.com/grafana/grafana/pkg/middleware/request_metrics.go:17 
(0xc329c4)\n/usr/local/go/src/runtime/asm_amd64.s:509 
(0x461d8a)\n/usr/local/go/src/reflect/value.go:434 (0x4c0744)\n/usr/local/go/src/reflect/value.go:302 
(0x4bfd23)\n/go/src/github.com/grafana/grafana/vendor/github.com/go-macaron/inject/inject.go:177 
(0x7e3228)\n/go/src/github.com/grafana/grafana/vendor/github.com/go-macaron/inject/inject.go:137 
(0x7e2b29)\n/go/src/github.com/grafana/grafana/vendor/gopkg.in/macaron.v1/context.go:121 
(0x80025d)\n/go/src/github.com/grafana/grafana/vendor/gopkg.in/macaron.v1/context.go:112 
(0x800195)\n/go/src/github.com/grafana/grafana/pkg/middleware/session.go:79 
(0xc3338a)\n/usr/local/go/src/runtime/asm_amd64.s:509 
(0x461d8a)\n/usr/local/go/src/reflect/value.go:434 (0x4c0744)\n/usr/local/go/src/reflect/value.go:302 
(0x4bfd23)\n/go/src/github.com/grafana/grafana/vendor/github.com/go-macaron/inject/inject.go:177 
(0x7e3228)\n/go/src/github.com/grafana/grafana/vendor/github.com/go-macaron/inject/inject.go:137 
(0x7e2b29)\n/go/src/github.com/grafana/grafana/vendor/gopkg.in/macaron.v1/context.go:121 
(0x80025d)\n/go/src/github.com/grafana/grafana/vendor/gopkg.in/macaron.v1/context.go:112 
(0x800195)\n/go/src/github.com/grafana/grafana/pkg/middleware/recovery.go:145 
(0xc328e0)\n/go/src/github.com/grafana/grafana/vendor/gopkg.in/macaron.v1/context.go:79 
(0x800040)\n/go/src/github.com/grafana/grafana/vendor/github.com/go-macaron/inject/inject.go:157 
(0x7e2ee3)\n/go/src/github.com/grafana/grafana/vendor/github.com/go-macaron/inject/inject.go:135 
(0x7e2c1a)\n/go/src/github.com/grafana/grafana/vendor/gopkg.in/macaron.v1/context.go:121 
(0x80025d)\n/go/src/github.com/grafana/grafana/vendor/gopkg.in/macaron.v1/context.go:112 
(0x800195)\n/go/src/github.com/grafana/grafana/pkg/middleware/logger.go:33 
(0xc2ff61)\n/usr/local/go/src/runtime/asm_amd64.s:509 
(0x461d8a)\n/usr/local/go/src/reflect/value.go:434 (0x4c0744)\n/usr/local/go/src/reflect/value.go:302 
(0x4bfd23)\n/go/src/github.com/grafana/grafana/vendor/github.com/go-macaron/inject/inject.go:177 
(0x7e3228)\n/go/src/github.com/grafana/grafana/vendor/github.com/go-macaron/inject/inject.go:137 
(0x7e2b29)\n/go/src/github.com/grafana/grafana/vendor/gopkg.in/macaron.v1/context.go:121 
(0x80025d)\n/go/src/github.com/grafana/grafana/vendor/gopkg.in/macaron.v1/router.go:187 
(0x811cb2)\n/go/src/github.com/grafana/grafana/vendor/gopkg.in/macaron.v1/router.go:294 
(0x80c1ed)\n/go/src/github.com/grafana/grafana/vendor/gopkg.in/macaron.v1/macaron.go:220 
(0x804a77)\n/usr/local/go/src/net/http/server.go:2619 
(0x694ae3)\n/usr/local/go/src/net/http/server.go:1801 
(0x690d9c)\n/usr/local/go/src/runtime/asm_amd64.s:2337 (0x4645d0)\n

@torkelo
Copy link
Member

torkelo commented Nov 10, 2020

Closing this as it appears not to affect users anymore

@torkelo torkelo closed this as completed Nov 10, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

4 participants