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

Segmentation faults with MPD 0.22.10 #41

Closed
scooter1556 opened this issue Aug 13, 2021 · 7 comments
Closed

Segmentation faults with MPD 0.22.10 #41

scooter1556 opened this issue Aug 13, 2021 · 7 comments
Labels
bug Something isn't working

Comments

@scooter1556
Copy link

I am experiencing frequent seg faults on Ubuntu 20.04, MPD 0.22.4 using both the snap package and .deb package on 2 separate devices.

Here is one such seg fault in case it is useful:

fatal error: unexpected signal during runtime execution
[signal SIGSEGV: segmentation violation code=0x1 addr=0x0 pc=0x0]

runtime stack:
runtime.throw(0xaa566e, 0x2a)
	/home/travis/.gimme/versions/go1.15.8.linux.amd64/src/runtime/panic.go:1116 +0x72
runtime.sigpanic()
	/home/travis/.gimme/versions/go1.15.8.linux.amd64/src/runtime/signal_unix.go:726 +0x4ac

goroutine 1 [syscall]:
runtime.cgocall(0x93ab20, 0xc00058bdb0, 0xc00007f050)
	/home/travis/.gimme/versions/go1.15.8.linux.amd64/src/runtime/cgocall.go:133 +0x5b fp=0xc00058bd80 sp=0xc00058bd48 pc=0x48271b
github.com/gotk3/gotk3/glib._Cfunc_g_application_run(0x28f0140, 0x0, 0x28e2b70, 0x0)
	_cgo_gotypes.go:1534 +0x4d fp=0xc00058bdb0 sp=0xc00058bd80 pc=0x57548d
github.com/gotk3/gotk3/glib.(*Application).Run.func4(0xc00007f050, 0x0, 0x0, 0x0, 0x28e2b70, 0x28e2b70)
	/home/travis/gopath/pkg/mod/github.com/gotk3/[email protected]/glib/application.go:185 +0x94 fp=0xc00058bde8 sp=0xc00058bdb0 pc=0x58f034
github.com/gotk3/gotk3/glib.(*Application).Run(0xc00007f050, 0x0, 0x0, 0x0, 0x0)
	/home/travis/gopath/pkg/mod/github.com/gotk3/[email protected]/glib/application.go:185 +0x18d fp=0xc00058bea0 sp=0xc00058bde8 pc=0x57f5cd
main.main()
	/home/travis/gopath/src/github.com/yktoo/ymuse/parts/ymuse/build/ymuse.go:78 +0x4d6 fp=0xc00058bf88 sp=0xc00058bea0 pc=0x93a2d6
runtime.main()
	/home/travis/.gimme/versions/go1.15.8.linux.amd64/src/runtime/proc.go:204 +0x209 fp=0xc00058bfe0 sp=0xc00058bf88 pc=0x4b6c49
runtime.goexit()
	/home/travis/.gimme/versions/go1.15.8.linux.amd64/src/runtime/asm_amd64.s:1374 +0x1 fp=0xc00058bfe8 sp=0xc00058bfe0 pc=0x4e84c1

goroutine 6 [select]:
github.com/yktoo/ymuse/internal/player.(*Connector).connect(0xc00016c180)
	/home/travis/gopath/src/github.com/yktoo/ymuse/parts/ymuse/build/internal/player/connector.go:170 +0x15b
created by github.com/yktoo/ymuse/internal/player.(*Connector).Start
	/home/travis/gopath/src/github.com/yktoo/ymuse/parts/ymuse/build/internal/player/connector.go:73 +0xa5

goroutine 7 [select, 4 minutes]:
github.com/yktoo/ymuse/internal/player.(*Connector).watch(0xc00016c180)
	/home/travis/gopath/src/github.com/yktoo/ymuse/parts/ymuse/build/internal/player/connector.go:293 +0x1d1
created by github.com/yktoo/ymuse/internal/player.(*Connector).Start
	/home/travis/gopath/src/github.com/yktoo/ymuse/parts/ymuse/build/internal/player/connector.go:76 +0xc7

goroutine 19 [IO wait, 4 minutes]:
internal/poll.runtime_pollWait(0x7f25b3f90138, 0x72, 0xb1bf40)
	/home/travis/.gimme/versions/go1.15.8.linux.amd64/src/runtime/netpoll.go:222 +0x55
internal/poll.(*pollDesc).wait(0xc0000d4198, 0x72, 0xb1bf00, 0x1141628, 0x0)
	/home/travis/.gimme/versions/go1.15.8.linux.amd64/src/internal/poll/fd_poll_runtime.go:87 +0x45
internal/poll.(*pollDesc).waitRead(...)
	/home/travis/.gimme/versions/go1.15.8.linux.amd64/src/internal/poll/fd_poll_runtime.go:92
internal/poll.(*FD).Read(0xc0000d4180, 0xc0000d6000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
	/home/travis/.gimme/versions/go1.15.8.linux.amd64/src/internal/poll/fd_unix.go:159 +0x1a5
net.(*netFD).Read(0xc0000d4180, 0xc0000d6000, 0x1000, 0x1000, 0x6, 0x6, 0x0)
	/home/travis/.gimme/versions/go1.15.8.linux.amd64/src/net/fd_posix.go:55 +0x4f
net.(*conn).Read(0xc00008e5c8, 0xc0000d6000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
	/home/travis/.gimme/versions/go1.15.8.linux.amd64/src/net/net.go:182 +0x8e
bufio.(*Reader).fill(0xc0000b0300)
	/home/travis/.gimme/versions/go1.15.8.linux.amd64/src/bufio/bufio.go:101 +0x105
bufio.(*Reader).ReadSlice(0xc0000b0300, 0xa, 0xc0000d4198, 0x100000000000008, 0x0, 0xc0000d7000, 0x9)
	/home/travis/.gimme/versions/go1.15.8.linux.amd64/src/bufio/bufio.go:360 +0x3d
bufio.(*Reader).ReadLine(0xc0000b0300, 0xc0000d7000, 0xc00005ab40, 0x4cf56f, 0x9, 0x0, 0x0)
	/home/travis/.gimme/versions/go1.15.8.linux.amd64/src/bufio/bufio.go:389 +0x34
net/textproto.(*Reader).readLineSlice(0xc0000b6510, 0xc000092c7c, 0xa93547, 0x2, 0x9, 0xc000092c75)
	/home/travis/.gimme/versions/go1.15.8.linux.amd64/src/net/textproto/reader.go:58 +0x6c
net/textproto.(*Reader).ReadLine(...)
	/home/travis/.gimme/versions/go1.15.8.linux.amd64/src/net/textproto/reader.go:39
github.com/fhs/gompd/v2/mpd.(*Client).readLine(0xc000097060, 0xa95f3d, 0x7, 0xa93547, 0x2)
	/home/travis/gopath/pkg/mod/github.com/fhs/gompd/[email protected]/mpd/client.go:183 +0x45
github.com/fhs/gompd/v2/mpd.(*Client).readList(0xc000097060, 0xa95f3d, 0x7, 0x0, 0x0, 0x0, 0x0, 0x0)
	/home/travis/gopath/pkg/mod/github.com/fhs/gompd/[email protected]/mpd/client.go:167 +0xb5
github.com/fhs/gompd/v2/mpd.(*Command).Strings(0xc0000970a0, 0xa95f3d, 0x7, 0x0, 0x0, 0x0, 0x0, 0x0)
	/home/travis/gopath/pkg/mod/github.com/fhs/gompd/[email protected]/mpd/response.go:86 +0x14b
github.com/fhs/gompd/v2/mpd.(*Client).idle(0xc000097060, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0)
	/home/travis/gopath/pkg/mod/github.com/fhs/gompd/[email protected]/mpd/client.go:361 +0xf0
github.com/fhs/gompd/v2/mpd.(*Watcher).watch(0xc000099a40, 0x0, 0x0, 0x0)
	/home/travis/gopath/pkg/mod/github.com/fhs/gompd/[email protected]/mpd/watcher.go:46 +0x251
created by github.com/fhs/gompd/v2/mpd.NewWatcher
	/home/travis/gopath/pkg/mod/github.com/fhs/gompd/[email protected]/mpd/watcher.go:36 +0x207
@yktoo
Copy link
Owner

yktoo commented Aug 16, 2021

Is there something specific you're doing when this occurs?

I personally never witness segfaults (and I use Ymuse constantly), but in the past I observed it occasionally happening during album/artist/genre browsing in the Library. I believe this is caused by some leaky GTK3 Go bindings implementation (see #27), which can hopefully be resolved by upgrading to the latest gotk3.

@yktoo yktoo added the bug Something isn't working label Aug 16, 2021
@scooter1556
Copy link
Author

scooter1556 commented Aug 16, 2021

Hi @yktoo ,

It seems to be completely random... It almost always segfaults if I minimise the app, either while minimised or when I maximise again but it can also crash navigating around the app on any UI view. I have even tried with an empy playlist and no active playback and the app still crashes. If I disconnect from the MPD server so there is no active connection things are OK.

Maybe it is something to do with my MPD instance, I will do a bit more testing in this regards however I have had no issues with several other clients on Linux, Windows and Android connected to the same instance.

Let me know if I can provide any more logs or additional information which might be useful.

Thanks

@yktoo
Copy link
Owner

yktoo commented Aug 16, 2021

What DE are you using, is it vanilla GNOME?

@scooter1556
Copy link
Author

@yktoo , it is Ubuntu 20.04 default DE, so GNOME shell with Yaru theme. Not sure what other modifications they make above vanilla GNOME.

@scooter1556
Copy link
Author

I have tried today with a different MPD instance from Ubuntu repos (0.21.20) and so far I have not had any segfaults. I am going to assume that the issue is either with newer versions of MPD or how my instance is setup specifically. I will work my way up through the MPD versions and see if I start seeing the problem and report back.

@scooter1556
Copy link
Author

I'm going to close this for now as both MPD 0.21.20 form Ubuntu repos and MPD 0.22.6 from Debian repos isn't causing the crash. I was getting this issue with Arch Linux and the MPD 0.22.10 package so this was either related to that particular package on Arch or the latest version of MPD... If I come across the same thing when Debian repos update to a newer version I will re-open.

@yktoo
Copy link
Owner

yktoo commented Aug 17, 2021

Alright, I'm updating the title so that it can be found in the future.

@yktoo yktoo changed the title Frequent seg faults Segmentation faults with MPD 0.22.10 Aug 17, 2021
@yktoo yktoo mentioned this issue Oct 7, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

2 participants