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

Constant crashes after updating MPD to 0.23.12 #575

Open
XVilka opened this issue May 23, 2023 · 5 comments
Open

Constant crashes after updating MPD to 0.23.12 #575

XVilka opened this issue May 23, 2023 · 5 comments

Comments

@XVilka
Copy link

XVilka commented May 23, 2023

Problem started appearing too once I updated MPD to 0.23.12 on macOS 13.4 ARM64, once I choose Album in FLAC format, sometimes it happens also with different MP3 files, it immediatedy crashes:

libc++abi: terminating due to uncaught exception of type MPD::ClientError:: Failed to parse MPD response
Screenshot 2023-05-23 at 11 16 56

It was fine with the previous version, not sure what change caused it, their changelog seems innocent:

ver 0.23.13 (2023/05/22)
* input
  - curl: fix busy loop after connection failed
  - curl: hide "404" log messages for non-existent ".mpdignore" files
* archive
  - zzip: fix crash bug
* database
  - simple: reveal hidden songs after deleting containing CUE
* decoder
  - ffmpeg: reorder to a lower priority than "gme"
  - gme: require GME 0.6 or later
* output
  - pipewire: fix corruption bug due to missing lock
* Linux
  - shut down if parent process dies in --no-daemon mode
  - determine systemd unit directories via pkg-config
* support libfmt 10

ver 0.23.12 (2023/01/17)
* input
  - curl: require CURL 7.55.0 or later
* decoder
  - mad: fix integer underflow with very small files
* tags
  - fix crash bug due to race condition
* output
  - pipewire: adjust to PipeWire 0.3.64 API change
* fix build failures with GCC 13

https://raw.githubusercontent.com/MusicPlayerDaemon/MPD/v0.23.13/NEWS

-------------------------------------
Translated Report (Full Report Below)
-------------------------------------

Process:               ncmpcpp [16776]
Path:                  /opt/homebrew/*/ncmpcpp
Identifier:            ncmpcpp
Version:               ???
Code Type:             ARM-64 (Native)
Parent Process:        zsh [8923]
Responsible:           iTerm2 [7406]
User ID:               503

Date/Time:             2023-05-23 12:10:06.1430 +0800
OS Version:            macOS 13.4 (22F66)


Time Awake Since Boot: 8800 seconds

System Integrity Protection: enabled

Crashed Thread:        0  Dispatch queue: com.apple.main-thread

Exception Type:        EXC_CRASH (SIGABRT)
Exception Codes:       0x0000000000000000, 0x0000000000000000

Application Specific Information:
abort() called


Thread 0 Crashed::  Dispatch queue: com.apple.main-thread
0   libsystem_kernel.dylib        	       0x1a6094724 __pthread_kill + 8
1   libsystem_pthread.dylib       	       0x1a60cbc28 pthread_kill + 288
2   libsystem_c.dylib             	       0x1a5fd9ae8 abort + 180
3   libc++abi.dylib               	       0x1a6084b84 abort_message + 132
4   libc++abi.dylib               	       0x1a60743b4 demangling_terminate_handler() + 320
5   libobjc.A.dylib               	       0x1a5d4b03c _objc_terminate() + 160
6   libc++abi.dylib               	       0x1a6083f48 std::__terminate(void (*)()) + 16
7   libc++abi.dylib               	       0x1a6083eec std::terminate() + 56
8   ncmpcpp                       	       0x100c2c2fc Browser::getDirectory(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>) + 3784
9   ncmpcpp                       	       0x100c2b3f8 Browser::enterDirectory() + 80
10  ncmpcpp                       	       0x100cf6aa8 main + 3384
11  dyld                          	       0x1a5d73f28 start + 2236


Thread 0 crashed with ARM Thread State (64-bit):
    x0: 0x0000000000000000   x1: 0x0000000000000000   x2: 0x0000000000000000   x3: 0x0000000000000000
    x4: 0x00000001a6088618   x5: 0x000000016f21a010   x6: 0x0000000000000065   x7: 0x0000000000000001
    x8: 0x5b3e16953284b66c   x9: 0x5b3e16973388286c  x10: 0x0000000000000200  x11: 0x000000000000001c
   x12: 0x000000000000001c  x13: 0x00000000001ff800  x14: 0x00000000000007fb  x15: 0x0000000092023839
   x16: 0x0000000000000148  x17: 0x0000000205becf60  x18: 0x0000000000000000  x19: 0x0000000000000006
   x20: 0x00000002010c9e00  x21: 0x0000000000000103  x22: 0x00000002010c9ee0  x23: 0x000000016f21a290
   x24: 0x0000000000000000  x25: 0x0000600003f20020  x26: 0x0000600003f20040  x27: 0x000000016f21a3e8
   x28: 0x0000000100d73458   fp: 0x000000016f219f80   lr: 0x00000001a60cbc28
    sp: 0x000000016f219f60   pc: 0x00000001a6094724 cpsr: 0x40001000
   far: 0x00000002010d8068  esr: 0x56000080  Address size fault

Binary Images:
       0x100be4000 -        0x100d5bfff ncmpcpp (*) <1c9f2f5e-93f8-3b94-aaf7-d627916a4817> /opt/homebrew/*/ncmpcpp
       0x100f6c000 -        0x100f6ffff libboost_date_time-mt.dylib (*) <01cf55e6-dc83-3b7b-9224-a2890c0a3485> /opt/homebrew/*/libboost_date_time-mt.dylib
       0x100fb4000 -        0x100fcbfff libboost_filesystem-mt.dylib (*) <88fb1d4e-434d-325a-a723-203d8c5c7e77> /opt/homebrew/*/libboost_filesystem-mt.dylib
       0x101100000 -        0x101167fff libboost_locale-mt.dylib (*) <7490561c-214f-38f3-848d-c9e852fd9009> /opt/homebrew/*/libboost_locale-mt.dylib
       0x101070000 -        0x10109bfff libboost_program_options-mt.dylib (*) <2aaa3595-2503-39e2-ae0b-63e1fea4b526> /opt/homebrew/*/libboost_program_options-mt.dylib
       0x101210000 -        0x10124bfff libboost_regex-mt.dylib (*) <85204375-c773-3d73-afa4-a49b670d3400> /opt/homebrew/*/libboost_regex-mt.dylib
       0x100ff0000 -        0x100ffbfff libboost_thread-mt.dylib (*) <0c47bdf8-82a7-31f0-b118-911649777aac> /opt/homebrew/*/libboost_thread-mt.dylib
       0x100f78000 -        0x100f7bfff libboost_system-mt.dylib (*) <f0e1e952-9c8c-339c-a5cf-08b2a41080bb> /opt/homebrew/*/libboost_system-mt.dylib
       0x10152c000 -        0x1016bbfff libicui18n.72.1.dylib (*) <6cbd25f1-a811-3399-bc47-c5a84ca4c29c> /opt/homebrew/*/libicui18n.72.1.dylib
       0x1017d8000 -        0x101903fff libicuuc.72.1.dylib (*) <c0bd55a7-0a32-3c7c-8233-a38178e0c26d> /opt/homebrew/*/libicuuc.72.1.dylib
       0x10379c000 -        0x10556bfff libicudata.72.1.dylib (*) <5862e9d7-43f0-3415-906d-7defc4a54341> /opt/homebrew/*/libicudata.72.1.dylib
       0x10101c000 -        0x10102ffff libmpdclient.2.dylib (*) <221666c0-a743-3b93-8102-cd6666ca157d> /opt/homebrew/*/libmpdclient.2.dylib
       0x1012d0000 -        0x1012fbfff libreadline.8.2.dylib (*) <d5547b5e-49ef-3c81-8ab5-2bdd014e318f> /opt/homebrew/*/libreadline.8.2.dylib
       0x101378000 -        0x1013b3fff libncursesw.6.dylib (*) <04efded3-1dda-34e6-ae19-9506222d6166> /opt/homebrew/*/libncursesw.6.dylib
       0x101988000 -        0x101a13fff libfftw3.3.dylib (*) <8cd8dd72-8277-39f1-9673-561a4576528c> /opt/homebrew/*/libfftw3.3.dylib
       0x101a38000 -        0x101aabfff libtag.1.19.0.dylib (*) <66a52dd4-9e3d-3f14-9474-f07de2efc87c> /opt/homebrew/*/libtag.1.19.0.dylib
       0x101048000 -        0x10104bfff libboost_atomic-mt.dylib (*) <62e66c85-13ef-32ac-bc5d-45cf764cba74> /opt/homebrew/*/libboost_atomic-mt.dylib
       0x100f9c000 -        0x100f9ffff libboost_chrono-mt.dylib (*) <6c3c40b0-0828-3666-b2fa-d16fd142e518> /opt/homebrew/*/libboost_chrono-mt.dylib
       0x1a608b000 -        0x1a60c4fe7 libsystem_kernel.dylib (*) <42f503e2-9273-360a-a086-c1b19bbd3962> /usr/lib/system/libsystem_kernel.dylib
       0x1a60c5000 -        0x1a60d1fff libsystem_pthread.dylib (*) <46d35233-a051-3f4f-bba4-ba56dddc4d1a> /usr/lib/system/libsystem_pthread.dylib
       0x1a5f63000 -        0x1a5fe1ff7 libsystem_c.dylib (*) <95a70e20-1df3-3ddf-900c-315ed0b2c067> /usr/lib/system/libsystem_c.dylib
       0x1a606f000 -        0x1a608afff libc++abi.dylib (*) <52aa13e2-567c-36c2-9494-7b892fdbf245> /usr/lib/libc++abi.dylib
       0x1a5d28000 -        0x1a5d6df3f libobjc.A.dylib (*) <5beafa2b-3af4-3ed2-b054-1f58a7c851ef> /usr/lib/libobjc.A.dylib
       0x1a5d6e000 -        0x1a5dfc553 dyld (*) <bd993f39-c902-37d6-8bd8-6d827c7f121e> /usr/lib/dyld

Originally posted by @XVilka in #483 (comment)

@Hamuko
Copy link
Contributor

Hamuko commented May 23, 2023

I've observed the same behaviour but I don't think this is actually related to ncmpcpp, or even necessarily MPD 0.23.12.

I'm currently running MPD 0.23.12 on my ARM Mac (Mac Studio) and my Intel Mac (2019 MacBook Pro). However, the crashing behaviour only seems to be happening on the Intel one. If I browsed to a specific MP3 file on the ARM machine using ncmcpp and inspected it, it showed me the file info just fine. But if I did it on the Intel one, ncmpcpp would immediately crash with this error.

However, this doesn't only impact ncmpcpp; three different MPD clients on the Intel crash when encountering one of the problematic files. Currently if I run mpc playlist when I have 20 songs queued, it returns me a list of 16 songs and then crashes with MPD error: Failed to parse MPD response.

Both are installed via Homebrew and the ARM Mac shows that my version of MPD is outdated (mpd (0.23.12_1) < 0.23.12_2) while the Intel one shows that I'm up to date. Homebrew's _N should indicate that the underlying version wasn't updated but one or more of the underlying dependencies were. Given this, I'm assuming that this is either an MPD issue with a dependency, or it's a build issue with the Homebrew MPD 0.23.12_2.

@XVilka
Copy link
Author

XVilka commented May 23, 2023

I wonder if it's related to these changes/patches:

@Hamuko
Copy link
Contributor

Hamuko commented May 23, 2023

It's possible.

There's currently an open PR to update the Homebrew MPD version to 0.23.13. I'd personally wait to see if that fixes things before investing more of my time into investigating what the actual issue is.

Homebrew/homebrew-core#131617

@thezeroalpha
Copy link

thezeroalpha commented May 28, 2023

I had the same issue; upgrading to MPD v0.23.13 seems to have solved it for me.

@Hamuko
Copy link
Contributor

Hamuko commented May 29, 2023

MPD in the Homebrew core has been updated to 0.23.13 and at least I can no longer consistently crash ncmpcpp with it. Looks like it might've been a bad patch in just the Homebrew version.

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

No branches or pull requests

3 participants