Skip to content
This repository was archived by the owner on Aug 30, 2023. It is now read-only.
This repository was archived by the owner on Aug 30, 2023. It is now read-only.

Raven panics when using juju errors #255

@j-fuentes

Description

@j-fuentes

I am using juju errors in my project and raven-go does not like them.

This example uses standard Go errors:

package main

import (
	"errors"
	"fmt"
	"os"

	"github.com/getsentry/raven-go"
	// "github.com/juju/errors"
)

func main() {
	client, err := raven.New(os.Getenv("SENTRY_DSN"))
	if err != nil {
		panic(err)
	}

	e := errors.New("test")
	s := client.CaptureError(e, nil)
	fmt.Println(s)
}

And it works:

$ go run .
39f60ebda4a946ebb7a2d5d2278f1d2e

However, if I try to use juju errors:

package main

import (
	// "errors"
	"fmt"
	"os"

	"github.com/getsentry/raven-go"
	"github.com/juju/errors"
)

func main() {
	client, err := raven.New(os.Getenv("SENTRY_DSN"))
	if err != nil {
		panic(err)
	}

	e := errors.New("test")
	s := client.CaptureError(e, nil)
	fmt.Println(s)
}

CaptureError panics:

$  go run .
panic: runtime error: invalid memory address or nil pointer dereference
[signal SIGSEGV: segmentation violation code=0x1 addr=0x18 pc=0x727936]

goroutine 1 [running]:
github.com/getsentry/raven-go.NewException(0x0, 0x0, 0xc0001b3e20, 0x3)
        /home/jfuentes/go/src/github.com/getsentry/raven-go/exception.go:12 +0x26
github.com/getsentry/raven-go.(*Client).CaptureError(0xc0000de000, 0x8a8320, 0xc0001ca870, 0x0, 0x0, 0x0, 0x0, 0xc000022118, 0x0)
        /home/jfuentes/go/src/github.com/getsentry/raven-go/client.go:753 +0x2ed
main.main()
        /home/jfuentes/wk/tmp/raven/main.go:19 +0xec
exit status 2

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions