Skip to content
This repository has been archived by the owner on Jan 20, 2021. It is now read-only.

Crash #55

Closed
dylanetaft opened this issue Mar 28, 2015 · 2 comments
Closed

Crash #55

dylanetaft opened this issue Mar 28, 2015 · 2 comments
Labels

Comments

@dylanetaft
Copy link
Contributor

Someone was skipping a bunch of songs

// Moves to the next Song in SongQueue. NextSong() removes the first Song in the queue.
func (q *SongQueue) NextSong() {
if q.CurrentSong().playlist != nil {
if s, err := q.PeekNext(); err == nil {
if q.CurrentSong().playlist.id != s.playlist.id { This is line 46
q.CurrentSong().playlist.DeleteSkippers()
}
} else {
q.CurrentSong().playlist.DeleteSkippers()
}
}
q.queue = q.queue[1:]
}

panic: runtime error: invalid memory address or nil pointer dereference
[signal 0xb code=0x1 addr=0x0 pc=0x40f462]

goroutine 184 [running]:
main.(_SongQueue).NextSong(0xc20801e400)
/home/mumble/mumbledj/songqueue.go:46 +0x212
main.(_SongQueue).OnSongFinished(0xc20801e400)
/home/mumble/mumbledj/songqueue.go:85 +0xcd
main._SongQueue.OnSongFinished·fm()
/home/mumble/mumbledj/song.go:100 +0x27
github.com/layeh/gumble/gumble_ffmpeg.func·002()
/home/mumble/mumbledj/.vendor/src/github.com/layeh/gumble/gumble_ffmpeg/gumble_ffmpeg.go:129 +0xd8
github.com/layeh/gumble/gumble_ffmpeg.(_Stream).sourceRoutine(0xc2080541e0, 0xc20802e080, 0x1, 0x1)
/home/mumble/mumbledj/.vendor/src/github.com/layeh/gumble/gumble_ffmpeg/gumble_ffmpeg.go:139 +0x222
created by github.com/layeh/gumble/gumble_ffmpeg.(*Stream).play
/home/mumble/mumbledj/.vendor/src/github.com/layeh/gumble/gumble_ffmpeg/gumble_ffmpeg.go:94 +0x479

goroutine 1 [chan receive, 989 minutes]:
main.main()
/home/mumble/mumbledj/main.go:207 +0xc8d

goroutine 17 [syscall, 989 minutes, locked to thread]:
runtime.goexit()
/usr/local/go/src/runtime/asm_amd64.s:2232 +0x1

goroutine 5 [runnable]:
sync.(_WaitGroup).Wait(0xc208054228)
/usr/local/go/src/sync/waitgroup.go:132 +0x169
github.com/layeh/gumble/gumble_ffmpeg.(_Stream).Stop(0xc2080541e0, 0x0, 0x0)
/home/mumble/mumbledj/.vendor/src/github.com/layeh/gumble/gumble_ffmpeg/gumble_ffmpeg.go:112 +0x158
main.skip(0xc208056160, 0xc2080aa198, 0x4, 0x0)
/home/mumble/mumbledj/commands.go:294 +0xe62
main.parseCommand(0xc208056160, 0xc2080aa198, 0x4, 0xc2080aa7e1, 0x4)
/home/mumble/mumbledj/commands.go:45 +0x35c
main.(_mumbledj).OnTextMessage(0xbe3460, 0xc208115030)
/home/mumble/mumbledj/main.go:94 +0x145
main._mumbledj.OnTextMessage·fm(0xc208115030)
/home/mumble/mumbledj/main.go:197 +0x31
github.com/layeh/gumble/gumbleutil.Listener.OnTextMessage(0xc2080aa0b0, 0xc2080aa0c0, 0xc2080aa0d0, 0xc2080aa0e0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, ...)
/home/mumble/mumbledj/.vendor/src/github.com/layeh/gumble/gumbleutil/listener.go:44 +0x37
github.com/layeh/gumble/gumbleutil.(_Listener).OnTextMessage(0xc2080304b0, 0xc208115030)
:3 +0xaa
github.com/layeh/gumble/gumble.eventMultiplexer.OnTextMessage(0xc2080a61e0, 0xc2080a6210, 0xc208115030)
/home/mumble/mumbledj/.vendor/src/github.com/layeh/gumble/gumble/eventmultiplexer.go:62 +0x57
github.com/layeh/gumble/gumble.handleTextMessage(0xc2080560b0, 0xc2080ce8c0, 0xb, 0x137, 0x0, 0x0)
/home/mumble/mumbledj/.vendor/src/github.com/layeh/gumble/gumble/handlers.go:589 +0x8f8
github.com/layeh/gumble/gumble.(_Client).readRoutine(0xc2080560b0)
/home/mumble/mumbledj/.vendor/src/github.com/layeh/gumble/gumble/client.go:182 +0x1cf
created by github.com/layeh/gumble/gumble.(*Client).Connect
/home/mumble/mumbledj/.vendor/src/github.com/layeh/gumble/gumble/client.go:116 +0x5dc

goroutine 6 [select]:
github.com/layeh/gumble/gumble.(_Client).pingRoutine(0xc2080560b0)
/home/mumble/mumbledj/.vendor/src/github.com/layeh/gumble/gumble/client.go:159 +0x2dc
created by github.com/layeh/gumble/gumble.(_Client).Connect
/home/mumble/mumbledj/.vendor/src/github.com/layeh/gumble/gumble/client.go:117 +0x5f9

@dylanetaft
Copy link
Contributor Author

https://www.youtube.com/playlist?list=PL271D01492F1B52BB
Apparently it crashes if you add this and then skip track 25

Wondering if it is because s from PeekNext() might not be a playlist? Might be mad at s.playlist.id. Like if someone adds a regular video after a playlist.

@matthieugrieger
Copy link
Owner

Thanks for the report! It should be fixed now.

Nice playlist by the way. 👍

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
Projects
None yet
Development

No branches or pull requests

2 participants