{"action":"created","issue":{"url":"https://api.github.com/repos/matthieugrieger/mumbledj/issues/55","labels_url":"https://api.github.com/repos/matthieugrieger/mumbledj/issues/55/labels{/name}","comments_url":"https://api.github.com/repos/matthieugrieger/mumbledj/issues/55/comments","events_url":"https://api.github.com/repos/matthieugrieger/mumbledj/issues/55/events","html_url":"https://github.com/matthieugrieger/mumbledj/issues/55","id":64997226,"number":55,"title":"Crash","user":{"login":"dylanetaft","id":4467742,"avatar_url":"https://avatars.githubusercontent.com/u/4467742?v=3","gravatar_id":"","url":"https://api.github.com/users/dylanetaft","html_url":"https://github.com/dylanetaft","followers_url":"https://api.github.com/users/dylanetaft/followers","following_url":"https://api.github.com/users/dylanetaft/following{/other_user}","gists_url":"https://api.github.com/users/dylanetaft/gists{/gist_id}","starred_url":"https://api.github.com/users/dylanetaft/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/dylanetaft/subscriptions","organizations_url":"https://api.github.com/users/dylanetaft/orgs","repos_url":"https://api.github.com/users/dylanetaft/repos","events_url":"https://api.github.com/users/dylanetaft/events{/privacy}","received_events_url":"https://api.github.com/users/dylanetaft/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":1,"created_at":"2015-03-28T22:26:53Z","updated_at":"2015-03-28T22:47:29Z","closed_at":null,"body":"Someone was skipping a bunch of songs\r\n\r\n// Moves to the next Song in SongQueue. NextSong() removes the first Song in the queue.\r\nfunc (q *SongQueue) NextSong() {\r\n        if q.CurrentSong().playlist != nil {\r\n                if s, err := q.PeekNext(); err == nil {\r\n                        if q.CurrentSong().playlist.id != s.playlist.id {       This is line 46\r\n                                q.CurrentSong().playlist.DeleteSkippers()\r\n                        }\r\n                } else {\r\n                        q.CurrentSong().playlist.DeleteSkippers()\r\n                }\r\n        }\r\n        q.queue = q.queue[1:]\r\n}\r\n\r\n\r\npanic: runtime error: invalid memory address or nil pointer dereference\r\n[signal 0xb code=0x1 addr=0x0 pc=0x40f462]\r\n\r\ngoroutine 184 [running]:\r\nmain.(*SongQueue).NextSong(0xc20801e400)\r\n        /home/mumble/mumbledj/songqueue.go:46 +0x212\r\nmain.(*SongQueue).OnSongFinished(0xc20801e400)\r\n        /home/mumble/mumbledj/songqueue.go:85 +0xcd\r\nmain.*SongQueue.OnSongFinished·fm()\r\n       /home/mumble/mumbledj/song.go:100 +0x27\r\ngithub.com/layeh/gumble/gumble_ffmpeg.func·002()\r\n       /home/mumble/mumbledj/.vendor/src/github.com/layeh/gumble/gumble_ffmpeg/gumble_ffmpeg.go:129 +0xd8\r\ngithub.com/layeh/gumble/gumble_ffmpeg.(*Stream).sourceRoutine(0xc2080541e0, 0xc20802e080, 0x1, 0x1)\r\n        /home/mumble/mumbledj/.vendor/src/github.com/layeh/gumble/gumble_ffmpeg/gumble_ffmpeg.go:139 +0x222\r\ncreated by github.com/layeh/gumble/gumble_ffmpeg.(*Stream).play\r\n        /home/mumble/mumbledj/.vendor/src/github.com/layeh/gumble/gumble_ffmpeg/gumble_ffmpeg.go:94 +0x479\r\n\r\ngoroutine 1 [chan receive, 989 minutes]:\r\nmain.main()\r\n        /home/mumble/mumbledj/main.go:207 +0xc8d\r\n\r\ngoroutine 17 [syscall, 989 minutes, locked to thread]:\r\nruntime.goexit()\r\n        /usr/local/go/src/runtime/asm_amd64.s:2232 +0x1\r\n\r\ngoroutine 5 [runnable]:\r\nsync.(*WaitGroup).Wait(0xc208054228)\r\n        /usr/local/go/src/sync/waitgroup.go:132 +0x169\r\ngithub.com/layeh/gumble/gumble_ffmpeg.(*Stream).Stop(0xc2080541e0, 0x0, 0x0)\r\n        /home/mumble/mumbledj/.vendor/src/github.com/layeh/gumble/gumble_ffmpeg/gumble_ffmpeg.go:112 +0x158\r\nmain.skip(0xc208056160, 0xc2080aa198, 0x4, 0x0)\r\n        /home/mumble/mumbledj/commands.go:294 +0xe62\r\nmain.parseCommand(0xc208056160, 0xc2080aa198, 0x4, 0xc2080aa7e1, 0x4)\r\n        /home/mumble/mumbledj/commands.go:45 +0x35c\r\nmain.(*mumbledj).OnTextMessage(0xbe3460, 0xc208115030)\r\n        /home/mumble/mumbledj/main.go:94 +0x145\r\nmain.*mumbledj.OnTextMessage·fm(0xc208115030)\r\n       /home/mumble/mumbledj/main.go:197 +0x31\r\ngithub.com/layeh/gumble/gumbleutil.Listener.OnTextMessage(0xc2080aa0b0, 0xc2080aa0c0, 0xc2080aa0d0, 0xc2080aa0e0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, ...)\r\n        /home/mumble/mumbledj/.vendor/src/github.com/layeh/gumble/gumbleutil/listener.go:44 +0x37\r\ngithub.com/layeh/gumble/gumbleutil.(*Listener).OnTextMessage(0xc2080304b0, 0xc208115030)\r\n        <autogenerated>:3 +0xaa\r\ngithub.com/layeh/gumble/gumble.eventMultiplexer.OnTextMessage(0xc2080a61e0, 0xc2080a6210, 0xc208115030)\r\n        /home/mumble/mumbledj/.vendor/src/github.com/layeh/gumble/gumble/eventmultiplexer.go:62 +0x57\r\ngithub.com/layeh/gumble/gumble.handleTextMessage(0xc2080560b0, 0xc2080ce8c0, 0xb, 0x137, 0x0, 0x0)\r\n        /home/mumble/mumbledj/.vendor/src/github.com/layeh/gumble/gumble/handlers.go:589 +0x8f8\r\ngithub.com/layeh/gumble/gumble.(*Client).readRoutine(0xc2080560b0)\r\n        /home/mumble/mumbledj/.vendor/src/github.com/layeh/gumble/gumble/client.go:182 +0x1cf\r\ncreated by github.com/layeh/gumble/gumble.(*Client).Connect\r\n        /home/mumble/mumbledj/.vendor/src/github.com/layeh/gumble/gumble/client.go:116 +0x5dc\r\n\r\ngoroutine 6 [select]:\r\ngithub.com/layeh/gumble/gumble.(*Client).pingRoutine(0xc2080560b0)\r\n        /home/mumble/mumbledj/.vendor/src/github.com/layeh/gumble/gumble/client.go:159 +0x2dc\r\ncreated by github.com/layeh/gumble/gumble.(*Client).Connect\r\n        /home/mumble/mumbledj/.vendor/src/github.com/layeh/gumble/gumble/client.go:117 +0x5f9"},"comment":{"url":"https://api.github.com/repos/matthieugrieger/mumbledj/issues/comments/87324616","html_url":"https://github.com/matthieugrieger/mumbledj/issues/55#issuecomment-87324616","issue_url":"https://api.github.com/repos/matthieugrieger/mumbledj/issues/55","id":87324616,"user":{"login":"dylanetaft","id":4467742,"avatar_url":"https://avatars.githubusercontent.com/u/4467742?v=3","gravatar_id":"","url":"https://api.github.com/users/dylanetaft","html_url":"https://github.com/dylanetaft","followers_url":"https://api.github.com/users/dylanetaft/followers","following_url":"https://api.github.com/users/dylanetaft/following{/other_user}","gists_url":"https://api.github.com/users/dylanetaft/gists{/gist_id}","starred_url":"https://api.github.com/users/dylanetaft/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/dylanetaft/subscriptions","organizations_url":"https://api.github.com/users/dylanetaft/orgs","repos_url":"https://api.github.com/users/dylanetaft/repos","events_url":"https://api.github.com/users/dylanetaft/events{/privacy}","received_events_url":"https://api.github.com/users/dylanetaft/received_events","type":"User","site_admin":false},"created_at":"2015-03-28T22:47:29Z","updated_at":"2015-03-28T22:47:29Z","body":"https://www.youtube.com/playlist?list=PL271D01492F1B52BB\r\nApparently it crashes if you add this and then skip track 25"}}