Closed fuyu0425 closed 1 year ago
这个问题已经修复了,看报错的调用栈应该是旧版
2023-07-10 05:37:50.322 musicfox[87539:13587991] -[MPMediaItemArtwork initWithImage:]: unrecognized selector sent to instance 0x129755840................... 00:00/04:31
2023-07-10 05:37:50.322 musicfox[87539:13587991] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[MPMediaItemArtwork initWithImage:]: unrecognized selector sent to instance 0x129755840'
*** First throw call stack:
(
0 CoreFoundation 0x00007fff3582edd7 __exceptionPreprocess + 250
1 libobjc.A.dylib 0x00007fff6d6895bf objc_exception_throw + 48
2 CoreFoundation 0x00007fff358adf07 -[NSObject(NSObject) __retain_OA] + 0
3 CoreFoundation 0x00007fff3579362b ___forwarding___ + 1427
4 CoreFoundation 0x00007fff35793008 _CF_forwarding_prep_0 + 120
5 musicfox 0x00000001004e0c34 syscall9X + 116
6 musicfox 0x000000010006f5a4 runtime.asmcgocall.abi0 + 100
)
libc++abi.dylib: terminating with uncaught exception of type NSException
SIGABRT: abort
PC=0x7fff6e97932a m=15 sigcode=0
signal arrived during cgo execution
goroutine 35 [syscall]:
runtime.cgocall(0x1004e0bc0, 0xc00072f810)
/opt/local/lib/go/src/runtime/cgocall.go:157 +0x5c fp=0xc0007292b0 sp=0xc000729278 pc=0x10000709c
github.com/ebitengine/purego.RegisterFunc.func1({0xc0007305a0?, 0x3?, 0x8?})
/Users/fuyu0425/tools/go-musicfox/vendor/github.com/ebitengine/purego/func.go:188 +0xc45 fp=0xc0007295b0 sp=0xc0007292b0 pc=0x1004df9a5
reflect.callReflect(0xc00024c660, 0xc000729b18, 0xc0007299f0, 0xc0007299f8)
/opt/local/lib/go/src/reflect/value.go:772 +0x56d fp=0xc0007299a0 sp=0xc0007295b0 pc=0x1000a41ed
reflect.callReflect(0xc00024c660, 0xc000729b18, 0xc0007299f0, 0xc0007299f8)
<autogenerated>:1 +0x4b fp=0xc0007299d0 sp=0xc0007299a0 pc=0x1000b71cb
reflect.makeFuncStub()
/opt/local/lib/go/src/reflect/asm_amd64.s:47 +0x7a fp=0xc000729b18 sp=0xc0007299d0 pc=0x1000b11da
github.com/ebitengine/purego/objc.ID.Send(...)
/Users/fuyu0425/tools/go-musicfox/vendor/github.com/ebitengine/purego/objc/objc_runtime_darwin.go:82
github.com/go-musicfox/go-musicfox/pkg/macdriver/mediaplayer.MPMediaItemArtwork.InitWithImage(...)
/Users/fuyu0425/tools/go-musicfox/pkg/macdriver/mediaplayer/mpmediaitemartwork.go:38
github.com/go-musicfox/go-musicfox/pkg/state_handler.(*Handler).SetPlayingInfo(0xc000416000, {0x3f4d6e1680, 0x0, 0x1, 0x64, 0x15b9375, {0xc00022c500, 0x47}, {0xc0002ad8d0, 0xb}, ...})
/Users/fuyu0425/tools/go-musicfox/pkg/state_handler/state_handler_darwin.go:126 +0xca3 fp=0xc000729d60 sp=0xc000729b18 pc=0x100597fa3
github.com/go-musicfox/go-musicfox/pkg/ui.NewPlayer.func2()
/Users/fuyu0425/tools/go-musicfox/pkg/ui/player.go:121 +0x1b8 fp=0xc000729fe0 sp=0xc000729d60 pc=0x1005bd778
runtime.goexit()
/opt/local/lib/go/src/runtime/asm_amd64.s:1598 +0x1 fp=0xc000729fe8 sp=0xc000729fe0 pc=0x10006f8c1
created by github.com/go-musicfox/go-musicfox/pkg/ui.NewPlayer
/Users/fuyu0425/tools/go-musicfox/pkg/ui/player.go:114 +0x238
goroutine 1 [syscall]:
runtime.cgocall(0x1004e0bc0, 0xc0002b26e0)
/opt/local/lib/go/src/runtime/cgocall.go:157 +0x5c fp=0xc00021b698 sp=0xc00021b660 pc=0x10000709c
github.com/ebitengine/purego.RegisterFunc.func1({0xc0001814f0?, 0x3?, 0x8?})
/Users/fuyu0425/tools/go-musicfox/vendor/github.com/ebitengine/purego/func.go:188 +0xc45 fp=0xc00021b998 sp=0xc00021b698 pc=0x1004df9a5
reflect.callReflect(0xc00024c660, 0xc00021bf00, 0xc00021bdd8, 0xc00021bde0)
/opt/local/lib/go/src/reflect/value.go:772 +0x56d fp=0xc00021bd88 sp=0xc00021b998 pc=0x1000a41ed
reflect.callReflect(0xc00024c660, 0xc00021bf00, 0xc00021bdd8, 0xc00021bde0)
<autogenerated>:1 +0x4b fp=0xc00021bdb8 sp=0xc00021bd88 pc=0x1000b71cb
reflect.makeFuncStub()
/opt/local/lib/go/src/reflect/asm_amd64.s:47 +0x7a fp=0xc00021bf00 sp=0xc00021bdb8 pc=0x1000b11da
github.com/ebitengine/purego/objc.ID.Send(...)
/Users/fuyu0425/tools/go-musicfox/vendor/github.com/ebitengine/purego/objc/objc_runtime_darwin.go:82
github.com/go-musicfox/go-musicfox/pkg/macdriver/cocoa.NSApplication.Run(...)
/Users/fuyu0425/tools/go-musicfox/pkg/macdriver/cocoa/nsapplication.go:78
github.com/go-musicfox/go-musicfox/pkg/entry.AppEntry()
/Users/fuyu0425/tools/go-musicfox/pkg/entry/entry_darwin.go:30 +0x19e fp=0xc00021bf70 sp=0xc00021bf00 pc=0x100612e3e
main.main()
/Users/fuyu0425/tools/go-musicfox/cmd/musicfox.go:8 +0x17 fp=0xc00021bf80 sp=0xc00021bf70 pc=0x100613197
runtime.main()
/opt/local/lib/go/src/runtime/proc.go:250 +0x207 fp=0xc00021bfe0 sp=0xc00021bf80 pc=0x10003ba27
runtime.goexit()
/opt/local/lib/go/src/runtime/asm_amd64.s:1598 +0x1 fp=0xc00021bfe8 sp=0xc00021bfe0 pc=0x10006f8c1
goroutine 2 [force gc (idle)]:
runtime.gopark(0x0?, 0x0?, 0x0?, 0x0?, 0x0?)
/opt/local/lib/go/src/runtime/proc.go:381 +0xd6 fp=0xc000084fb0 sp=0xc000084f90 pc=0x10003be56
runtime.goparkunlock(...)
/opt/local/lib/go/src/runtime/proc.go:387
runtime.forcegchelper()
/opt/local/lib/go/src/runtime/proc.go:305 +0xb0 fp=0xc000084fe0 sp=0xc000084fb0 pc=0x10003bc90
runtime.goexit()
/opt/local/lib/go/src/runtime/asm_amd64.s:1598 +0x1 fp=0xc000084fe8 sp=0xc000084fe0 pc=0x10006f8c1
created by runtime.init.6
/opt/local/lib/go/src/runtime/proc.go:293 +0x25
goroutine 3 [GC sweep wait]:
runtime.gopark(0x1?, 0x0?, 0x0?, 0x0?, 0x0?)
/opt/local/lib/go/src/runtime/proc.go:381 +0xd6 fp=0xc000085780 sp=0xc000085760 pc=0x10003be56
runtime.goparkunlock(...)
/opt/local/lib/go/src/runtime/proc.go:387
runtime.bgsweep(0x0?)
/opt/local/lib/go/src/runtime/mgcsweep.go:319 +0xde fp=0xc0000857c8 sp=0xc000085780 pc=0x100026d7e
runtime.gcenable.func1()
/opt/local/lib/go/src/runtime/mgc.go:178 +0x26 fp=0xc0000857e0 sp=0xc0000857c8 pc=0x10001bfa6
runtime.goexit()
/opt/local/lib/go/src/runtime/asm_amd64.s:1598 +0x1 fp=0xc0000857e8 sp=0xc0000857e0 pc=0x10006f8c1
created by runtime.gcenable
/opt/local/lib/go/src/runtime/mgc.go:178 +0x6b
goroutine 4 [GC scavenge wait]:
runtime.gopark(0xa4aa88b737a3?, 0x2c4f46?, 0x0?, 0x0?, 0x0?)
/opt/local/lib/go/src/runtime/proc.go:381 +0xd6 fp=0xc000085f70 sp=0xc000085f50 pc=0x10003be56
runtime.goparkunlock(...)
/opt/local/lib/go/src/runtime/proc.go:387
runtime.(*scavengerState).park(0x100e51a80)
/opt/local/lib/go/src/runtime/mgcscavenge.go:400 +0x53 fp=0xc000085fa0 sp=0xc000085f70 pc=0x100024c13
runtime.bgscavenge(0x0?)
/opt/local/lib/go/src/runtime/mgcscavenge.go:633 +0x65 fp=0xc000085fc8 sp=0xc000085fa0 pc=0x100025205
runtime.gcenable.func2()
/opt/local/lib/go/src/runtime/mgc.go:179 +0x26 fp=0xc000085fe0 sp=0xc000085fc8 pc=0x10001bf46
runtime.goexit()
/opt/local/lib/go/src/runtime/asm_amd64.s:1598 +0x1 fp=0xc000085fe8 sp=0xc000085fe0 pc=0x10006f8c1
created by runtime.gcenable
/opt/local/lib/go/src/runtime/mgc.go:179 +0xaa
goroutine 18 [finalizer wait]:
runtime.gopark(0x0?, 0x1008e0738?, 0x40?, 0xc0?, 0x2000000020?)
/opt/local/lib/go/src/runtime/proc.go:381 +0xd6 fp=0xc000084628 sp=0xc000084608 pc=0x10003be56
runtime.runfinq()
/opt/local/lib/go/src/runtime/mfinal.go:193 +0x107 fp=0xc0000847e0 sp=0xc000084628 pc=0x10001afe7
runtime.goexit()
/opt/local/lib/go/src/runtime/asm_amd64.s:1598 +0x1 fp=0xc0000847e8 sp=0xc0000847e0 pc=0x10006f8c1
created by runtime.createfing
/opt/local/lib/go/src/runtime/mfinal.go:163 +0x45
goroutine 19 [select, locked to thread]:
runtime.gopark(0xc0007f5970?, 0x3?, 0x0?, 0xc?, 0xc0007f5912?)
/opt/local/lib/go/src/runtime/proc.go:381 +0xd6 fp=0xc0007f5768 sp=0xc0007f5748 pc=0x10003be56
runtime.selectgo(0xc0007f5970, 0xc0007f590c, 0x100e8d0a0?, 0x0, 0x1000442f1?, 0x1)
/opt/local/lib/go/src/runtime/select.go:327 +0x7be fp=0xc0007f58a8 sp=0xc0007f5768 pc=0x10004c3de
github.com/charmbracelet/bubbletea.(*Program).eventLoop(0xc000404680, {0x1009866c0?, 0xc000318600?}, 0x10?)
/Users/fuyu0425/tools/go-musicfox/vendor/github.com/charmbracelet/bubbletea/tea.go:307 +0x105 fp=0xc0007f59b0 sp=0xc0007f58a8 pc=0x100498b05
github.com/charmbracelet/bubbletea.(*Program).Run(0xc000404680)
/Users/fuyu0425/tools/go-musicfox/vendor/github.com/charmbracelet/bubbletea/tea.go:528 +0x87d fp=0xc0007f5c38 sp=0xc0007f59b0 pc=0x100499cdd
github.com/go-musicfox/go-musicfox/pkg/commands.runPlayer(0xc0003700c0?, {0xc00031e530?, 0x0?, 0x0?})
/Users/fuyu0425/tools/go-musicfox/pkg/commands/netease.go:47 +0x1a7 fp=0xc0007f5c98 sp=0xc0007f5c38 pc=0x1006126a7
github.com/gookit/gcli/v2.(*Command).execute(0xc000370000, {0xc00031e530, 0x0, 0x0})
/Users/fuyu0425/tools/go-musicfox/vendor/github.com/gookit/gcli/v2/cmd.go:243 +0x105 fp=0xc0007f5d08 sp=0xc0007f5c98 pc=0x1005d6c65
github.com/gookit/gcli/v2.(*App).doRun(0xc000322000, {0x10075a661, 0x7}, {0xc00031e530, 0x0, 0x0})
/Users/fuyu0425/tools/go-musicfox/vendor/github.com/gookit/gcli/v2/app_run.go:173 +0x43e fp=0xc0007f5db8 sp=0xc0007f5d08 pc=0x1005d491e
github.com/gookit/gcli/v2.(*App).Run(0xc000322000)
/Users/fuyu0425/tools/go-musicfox/vendor/github.com/gookit/gcli/v2/app_run.go:126 +0x2ee fp=0xc0007f5ea0 sp=0xc0007f5db8 pc=0x1005d438e
github.com/go-musicfox/go-musicfox/pkg/entry.runCLI()
/Users/fuyu0425/tools/go-musicfox/pkg/entry/cli.go:50 +0x32a fp=0xc0007f5f18 sp=0xc0007f5ea0 pc=0x100612c8a
github.com/go-musicfox/go-musicfox/pkg/entry.AppEntry.func1.1.1()
/Users/fuyu0425/tools/go-musicfox/pkg/entry/entry_darwin.go:24 +0x26 fp=0xc0007f5f68 sp=0xc0007f5f18 pc=0x100612fa6
github.com/go-musicfox/go-musicfox/pkg/macdriver/core.Autorelease(0xc000304fb8)
/Users/fuyu0425/tools/go-musicfox/pkg/macdriver/core/core.go:77 +0x8f fp=0xc0007f5fa8 sp=0xc0007f5f68 pc=0x1004e718f
github.com/go-musicfox/go-musicfox/pkg/entry.AppEntry.func1.1()
/Users/fuyu0425/tools/go-musicfox/pkg/entry/entry_darwin.go:23 +0x5b fp=0xc0007f5fe0 sp=0xc0007f5fa8 pc=0x100612f3b
runtime.goexit()
/opt/local/lib/go/src/runtime/asm_amd64.s:1598 +0x1 fp=0xc0007f5fe8 sp=0xc0007f5fe0 pc=0x10006f8c1
created by github.com/go-musicfox/go-musicfox/pkg/entry.AppEntry.func1
/Users/fuyu0425/tools/go-musicfox/pkg/entry/entry_darwin.go:21 +0x45
goroutine 22 [IO wait]:
runtime.gopark(0x9?, 0xc0002dc000?, 0x0?, 0x10?, 0x0?)
/opt/local/lib/go/src/runtime/proc.go:381 +0xd6 fp=0xc0000958a0 sp=0xc000095880 pc=0x10003be56
runtime.netpollblock(0x1000c3449?, 0x6baf?, 0x1?)
/opt/local/lib/go/src/runtime/netpoll.go:527 +0xf7 fp=0xc0000958d8 sp=0xc0000958a0 pc=0x100034fd7
internal/poll.runtime_pollWait(0x12946e6a8, 0x72)
/opt/local/lib/go/src/runtime/netpoll.go:306 +0x89 fp=0xc0000958f8 sp=0xc0000958d8 pc=0x1000693e9
internal/poll.(*pollDesc).wait(0xc0001cfb00?, 0xc0002dc000?, 0x0)
/opt/local/lib/go/src/internal/poll/fd_poll_runtime.go:84 +0x32 fp=0xc000095920 sp=0xc0000958f8 pc=0x1000dedf2
internal/poll.(*pollDesc).waitRead(...)
/opt/local/lib/go/src/internal/poll/fd_poll_runtime.go:89
internal/poll.(*FD).Read(0xc0001cfb00, {0xc0002dc000, 0x1000, 0x1000})
/opt/local/lib/go/src/internal/poll/fd_unix.go:167 +0x299 fp=0xc0000959b8 sp=0xc000095920 pc=0x1000e01d9
net.(*netFD).Read(0xc0001cfb00, {0xc0002dc000?, 0xc0001876c0?, 0xc000058a00?})
/opt/local/lib/go/src/net/fd_posix.go:55 +0x29 fp=0xc000095a00 sp=0xc0000959b8 pc=0x100276529
net.(*conn).Read(0xc0001a6708, {0xc0002dc000?, 0x9?, 0xc0002dd000?})
/opt/local/lib/go/src/net/net.go:183 +0x45 fp=0xc000095a48 sp=0xc000095a00 pc=0x100284605
net.(*UnixConn).Read(0x0?, {0xc0002dc000?, 0x1000c5260?, 0x9?})
<autogenerated>:1 +0x29 fp=0xc000095a78 sp=0xc000095a48 pc=0x100297689
bufio.(*Reader).fill(0xc0001a9860)
/opt/local/lib/go/src/bufio/bufio.go:106 +0xff fp=0xc000095ab0 sp=0xc000095a78 pc=0x1001a827f
bufio.(*Reader).ReadSlice(0xc0001a9860, 0xa3?)
/opt/local/lib/go/src/bufio/bufio.go:372 +0x2f fp=0xc000095b00 sp=0xc000095ab0 pc=0x1001a8e6f
bufio.(*Reader).ReadLine(0xc0001a9860)
/opt/local/lib/go/src/bufio/bufio.go:401 +0x27 fp=0xc000095b50 sp=0xc000095b00 pc=0x1001a90c7
net/textproto.(*Reader).readLineSlice(0xc000208360)
/opt/local/lib/go/src/net/textproto/reader.go:56 +0x99 fp=0xc000095c38 sp=0xc000095b50 pc=0x100306539
net/textproto.(*Reader).ReadLine(...)
/opt/local/lib/go/src/net/textproto/reader.go:39
github.com/fhs/gompd/v2/mpd.(*Client).readLine(0xc000095d88?)
/Users/fuyu0425/tools/go-musicfox/vendor/github.com/fhs/gompd/v2/mpd/client.go:187 +0x30 fp=0xc000095d00 sp=0xc000095c38 pc=0x1004d0250
github.com/fhs/gompd/v2/mpd.(*Client).readList(0xc0002083c0?, {0x10075a072?, 0x11?})
/Users/fuyu0425/tools/go-musicfox/vendor/github.com/fhs/gompd/v2/mpd/client.go:171 +0x85 fp=0xc000095d98 sp=0xc000095d00 pc=0x1004d0085
github.com/fhs/gompd/v2/mpd.(*Command).Strings(0xc0004a8330, {0x10075a072, 0x7})
/Users/fuyu0425/tools/go-musicfox/vendor/github.com/fhs/gompd/v2/mpd/response.go:86 +0x15b fp=0xc000095e30 sp=0xc000095d98 pc=0x1004dd51b
github.com/fhs/gompd/v2/mpd.(*Client).idle(0xc000095f58?, {0xc0001c3e60?, 0x10000915d?, 0x0?})
/Users/fuyu0425/tools/go-musicfox/vendor/github.com/fhs/gompd/v2/mpd/client.go:365 +0x8c fp=0xc000095e88 sp=0xc000095e30 pc=0x1004d12cc
github.com/fhs/gompd/v2/mpd.(*Watcher).watch(0xc0002a1740, {0xc0001c3e60?, 0x10019e7aa?, 0x0?})
/Users/fuyu0425/tools/go-musicfox/vendor/github.com/fhs/gompd/v2/mpd/watcher.go:46 +0xbe fp=0xc000095fb0 sp=0xc000095e88 pc=0x1004ddc3e
github.com/fhs/gompd/v2/mpd.NewWatcher.func1()
/Users/fuyu0425/tools/go-musicfox/vendor/github.com/fhs/gompd/v2/mpd/watcher.go:36 +0x32 fp=0xc000095fe0 sp=0xc000095fb0 pc=0x1004ddb52
runtime.goexit()
/opt/local/lib/go/src/runtime/asm_amd64.s:1598 +0x1 fp=0xc000095fe8 sp=0xc000095fe0 pc=0x10006f8c1
created by github.com/fhs/gompd/v2/mpd.NewWatcher
/Users/fuyu0425/tools/go-musicfox/vendor/github.com/fhs/gompd/v2/mpd/watcher.go:36 +0x1f0
goroutine 23 [select]:
runtime.gopark(0xc000304e18?, 0x2?, 0x9f?, 0xce?, 0xc000304dec?)
/opt/local/lib/go/src/runtime/proc.go:381 +0xd6 fp=0xc000304c48 sp=0xc000304c28 pc=0x10003be56
runtime.selectgo(0xc000304e18, 0xc000304de8, 0x11?, 0x0, 0x3?, 0x1)
/opt/local/lib/go/src/runtime/select.go:327 +0x7be fp=0xc000304d88 sp=0xc000304c48 pc=0x10004c3de
github.com/go-musicfox/go-musicfox/pkg/player.(*mpdPlayer).listen(0xc00027d540)
/Users/fuyu0425/tools/go-musicfox/pkg/player/mpd_player.go:172 +0x386 fp=0xc000304fb8 sp=0xc000304d88 pc=0x1004f1566
github.com/go-musicfox/go-musicfox/pkg/player.NewMpdPlayer.func1()
/Users/fuyu0425/tools/go-musicfox/pkg/player/mpd_player.go:103 +0x3f fp=0xc000304fe0 sp=0xc000304fb8 pc=0x1004f0bdf
runtime.goexit()
/opt/local/lib/go/src/runtime/asm_amd64.s:1598 +0x1 fp=0xc000304fe8 sp=0xc000304fe0 pc=0x10006f8c1
created by github.com/go-musicfox/go-musicfox/pkg/player.NewMpdPlayer
/Users/fuyu0425/tools/go-musicfox/pkg/player/mpd_player.go:101 +0x62a
goroutine 24 [select]:
runtime.gopark(0xc000306f10?, 0x2?, 0xc5?, 0x40?, 0xc000306e8c?)
/opt/local/lib/go/src/runtime/proc.go:381 +0xd6 fp=0xc000306d00 sp=0xc000306ce0 pc=0x10003be56
runtime.selectgo(0xc000306f10, 0xc000306e88, 0xc00080a087?, 0x1, 0xffffffffffffffff?, 0x1)
/opt/local/lib/go/src/runtime/select.go:327 +0x7be fp=0xc000306e40 sp=0xc000306d00 pc=0x10004c3de
github.com/go-musicfox/go-musicfox/pkg/player.(*mpdPlayer).setState(...)
/Users/fuyu0425/tools/go-musicfox/pkg/player/mpd_player.go:239
github.com/go-musicfox/go-musicfox/pkg/player.(*mpdPlayer).SyncMpdStatus(0xc00027d540, {0xc000400089, 0x6})
/Users/fuyu0425/tools/go-musicfox/pkg/player/mpd_player.go:140 +0x219 fp=0xc000306f40 sp=0xc000306e40 pc=0x1004f0ef9
github.com/go-musicfox/go-musicfox/pkg/player.(*mpdPlayer).watch(0xc00027d540)
/Users/fuyu0425/tools/go-musicfox/pkg/player/mpd_player.go:231 +0xd0 fp=0xc000306fb8 sp=0xc000306f40 pc=0x1004f1ad0
github.com/go-musicfox/go-musicfox/pkg/player.NewMpdPlayer.func2()
/Users/fuyu0425/tools/go-musicfox/pkg/player/mpd_player.go:108 +0x3f fp=0xc000306fe0 sp=0xc000306fb8 pc=0x1004f0b5f
runtime.goexit()
/opt/local/lib/go/src/runtime/asm_amd64.s:1598 +0x1 fp=0xc000306fe8 sp=0xc000306fe0 pc=0x10006f8c1
created by github.com/go-musicfox/go-musicfox/pkg/player.NewMpdPlayer
/Users/fuyu0425/tools/go-musicfox/pkg/player/mpd_player.go:106 +0x66a
goroutine 34 [select]:
runtime.gopark(0xc0004267a8?, 0x2?, 0x48?, 0xc?, 0xc00042677c?)
/opt/local/lib/go/src/runtime/proc.go:381 +0xd6 fp=0xc0004265f8 sp=0xc0004265d8 pc=0x10003be56
runtime.selectgo(0xc0004267a8, 0xc000426778, 0x0?, 0x0, 0x0?, 0x1)
/opt/local/lib/go/src/runtime/select.go:327 +0x7be fp=0xc000426738 sp=0xc0004265f8 pc=0x10004c3de
github.com/go-musicfox/go-musicfox/pkg/ui.NewPlayer.func1()
/Users/fuyu0425/tools/go-musicfox/pkg/ui/player.go:104 +0xf4 fp=0xc0004267e0 sp=0xc000426738 pc=0x1005bdb14
runtime.goexit()
/opt/local/lib/go/src/runtime/asm_amd64.s:1598 +0x1 fp=0xc0004267e8 sp=0xc0004267e0 pc=0x10006f8c1
created by github.com/go-musicfox/go-musicfox/pkg/ui.NewPlayer
/Users/fuyu0425/tools/go-musicfox/pkg/ui/player.go:101 +0x1d8
goroutine 36 [select]:
runtime.gopark(0xc000090ea0?, 0x2?, 0x18?, 0x0?, 0xc000090e74?)
/opt/local/lib/go/src/runtime/proc.go:381 +0xd6 fp=0xc000090c80 sp=0xc000090c60 pc=0x10003be56
runtime.selectgo(0xc000090ea0, 0xc000090e70, 0x0?, 0x0, 0xc0002ad8d0?, 0x1)
/opt/local/lib/go/src/runtime/select.go:327 +0x7be fp=0xc000090dc0 sp=0xc000090c80 pc=0x10004c3de
github.com/go-musicfox/go-musicfox/pkg/ui.NewPlayer.func3()
/Users/fuyu0425/tools/go-musicfox/pkg/ui/player.go:141 +0x125 fp=0xc000090fe0 sp=0xc000090dc0 pc=0x1005bd325
runtime.goexit()
/opt/local/lib/go/src/runtime/asm_amd64.s:1598 +0x1 fp=0xc000090fe8 sp=0xc000090fe0 pc=0x10006f8c1
created by github.com/go-musicfox/go-musicfox/pkg/ui.NewPlayer
/Users/fuyu0425/tools/go-musicfox/pkg/ui/player.go:138 +0x298
goroutine 37 [select]:
runtime.gopark(0xc000427f88?, 0x2?, 0xea?, 0xa?, 0xc000427f44?)
/opt/local/lib/go/src/runtime/proc.go:381 +0xd6 fp=0xc000427dc8 sp=0xc000427da8 pc=0x10003be56
runtime.selectgo(0xc000427f88, 0xc000427f40, 0x2?, 0x0, 0x0?, 0x1)
/opt/local/lib/go/src/runtime/select.go:327 +0x7be fp=0xc000427f08 sp=0xc000427dc8 pc=0x10004c3de
github.com/charmbracelet/bubbletea.(*Program).handleSignals.func1()
/Users/fuyu0425/tools/go-musicfox/vendor/github.com/charmbracelet/bubbletea/tea.go:236 +0x15a fp=0xc000427fe0 sp=0xc000427f08 pc=0x1004982ba
runtime.goexit()
/opt/local/lib/go/src/runtime/asm_amd64.s:1598 +0x1 fp=0xc000427fe8 sp=0xc000427fe0 pc=0x10006f8c1
created by github.com/charmbracelet/bubbletea.(*Program).handleSignals
/Users/fuyu0425/tools/go-musicfox/vendor/github.com/charmbracelet/bubbletea/tea.go:227 +0x85
goroutine 25 [select, locked to thread]:
runtime.gopark(0xc0004277a8?, 0x2?, 0xd2?, 0xc1?, 0xc0004277a4?)
/opt/local/lib/go/src/runtime/proc.go:381 +0xd6 fp=0xc000427620 sp=0xc000427600 pc=0x10003be56
runtime.selectgo(0xc0004277a8, 0xc0004277a0, 0x0?, 0x0, 0x0?, 0x1)
/opt/local/lib/go/src/runtime/select.go:327 +0x7be fp=0xc000427760 sp=0xc000427620 pc=0x10004c3de
runtime.ensureSigM.func1()
/opt/local/lib/go/src/runtime/signal_unix.go:1004 +0x187 fp=0xc0004277e0 sp=0xc000427760 pc=0x100066d67
runtime.goexit()
/opt/local/lib/go/src/runtime/asm_amd64.s:1598 +0x1 fp=0xc0004277e8 sp=0xc0004277e0 pc=0x10006f8c1
created by runtime.ensureSigM
/opt/local/lib/go/src/runtime/signal_unix.go:987 +0xbd
goroutine 5 [syscall]:
runtime.sigNoteSleep(0xc000080fd0)
/opt/local/lib/go/src/runtime/os_darwin.go:123 +0x1e fp=0xc000080fa0 sp=0xc000080f68 pc=0x10003617e
os/signal.signal_recv()
/opt/local/lib/go/src/runtime/sigqueue.go:149 +0x28 fp=0xc000080fc0 sp=0xc000080fa0 pc=0x10006b5c8
os/signal.loop()
/opt/local/lib/go/src/os/signal/signal_unix.go:23 +0x19 fp=0xc000080fe0 sp=0xc000080fc0 pc=0x1003e88f9
runtime.goexit()
/opt/local/lib/go/src/runtime/asm_amd64.s:1598 +0x1 fp=0xc000080fe8 sp=0xc000080fe0 pc=0x10006f8c1
created by os/signal.Notify.func1.1
/opt/local/lib/go/src/os/signal/signal.go:151 +0x2a
goroutine 40 [syscall]:
syscall.syscall6(0x10003bf40?, 0xc000187520?, 0x3?, 0xc000093d30?, 0x100009391?, 0x10069b520?, 0xfffffffffffffff1?)
/opt/local/lib/go/src/runtime/sys_darwin.go:45 +0x99 fp=0xc000093ce8 sp=0xc000093c28 pc=0x10006c119
golang.org/x/sys/unix.kevent(0xc000010500?, 0xc000093e38?, 0x2?, 0x0?, 0x100000000?, 0x0?)
/Users/fuyu0425/tools/go-musicfox/vendor/golang.org/x/sys/unix/zsyscall_darwin_amd64.go:276 +0x52 fp=0xc000093d50 sp=0xc000093ce8 pc=0x1001413d2
golang.org/x/sys/unix.Kevent(0x0?, {0xc00041e1f8?, 0x0?, 0x1000e0340?}, {0xc000093df8?, 0xc000093dd0?, 0x10048ec46?}, 0x0?)
/Users/fuyu0425/tools/go-musicfox/vendor/golang.org/x/sys/unix/syscall_bsd.go:398 +0x3c fp=0xc000093d90 sp=0xc000093d50 pc=0x1001412fc
github.com/muesli/cancelreader.(*kqueueCancelReader).wait(0xc00041e1b0)
/Users/fuyu0425/tools/go-musicfox/vendor/github.com/muesli/cancelreader/cancelreader_bsd.go:125 +0x6d fp=0xc000093e28 sp=0xc000093d90 pc=0x10048f5cd
github.com/muesli/cancelreader.(*kqueueCancelReader).Read(0xc00041e1b0, {0xc000010500, 0x100, 0x100})
/Users/fuyu0425/tools/go-musicfox/vendor/github.com/muesli/cancelreader/cancelreader_bsd.go:69 +0x52 fp=0xc000093e80 sp=0xc000093e28 pc=0x10048f092
github.com/charmbracelet/bubbletea.readInputs({0x1009873b0, 0xc000413130}, 0xc000440000, {0x1294a8068, 0xc00041e1b0})
/Users/fuyu0425/tools/go-musicfox/vendor/github.com/charmbracelet/bubbletea/key.go:548 +0x86 fp=0xc000093f18 sp=0xc000093e80 pc=0x100491f26
github.com/charmbracelet/bubbletea.(*Program).readLoop(0xc000404680)
/Users/fuyu0425/tools/go-musicfox/vendor/github.com/charmbracelet/bubbletea/tty.go:76 +0xb8 fp=0xc000093fc8 sp=0xc000093f18 pc=0x10049b018
github.com/charmbracelet/bubbletea.(*Program).initCancelReader.func1()
/Users/fuyu0425/tools/go-musicfox/vendor/github.com/charmbracelet/bubbletea/tty.go:67 +0x26 fp=0xc000093fe0 sp=0xc000093fc8 pc=0x10049af26
runtime.goexit()
/opt/local/lib/go/src/runtime/asm_amd64.s:1598 +0x1 fp=0xc000093fe8 sp=0xc000093fe0 pc=0x10006f8c1
created by github.com/charmbracelet/bubbletea.(*Program).initCancelReader
/Users/fuyu0425/tools/go-musicfox/vendor/github.com/charmbracelet/bubbletea/tty.go:67 +0xe5
goroutine 42 [select]:
runtime.gopark(0xc000422788?, 0x2?, 0x10?, 0x26?, 0xc000422754?)
/opt/local/lib/go/src/runtime/proc.go:381 +0xd6 fp=0xc0004225d8 sp=0xc0004225b8 pc=0x10003be56
runtime.selectgo(0xc000422788, 0xc000422750, 0x1?, 0x0, 0x0?, 0x1)
/opt/local/lib/go/src/runtime/select.go:327 +0x7be fp=0xc000422718 sp=0xc0004225d8 pc=0x10004c3de
github.com/charmbracelet/bubbletea.(*Program).listenForResize(0xc000404680, 0xc000440d20)
/Users/fuyu0425/tools/go-musicfox/vendor/github.com/charmbracelet/bubbletea/signals_unix.go:25 +0x13a fp=0xc0004227c0 sp=0xc000422718 pc=0x10049365a
github.com/charmbracelet/bubbletea.(*Program).handleResize.func2()
/Users/fuyu0425/tools/go-musicfox/vendor/github.com/charmbracelet/bubbletea/tea.go:261 +0x2a fp=0xc0004227e0 sp=0xc0004227c0 pc=0x1004985aa
runtime.goexit()
/opt/local/lib/go/src/runtime/asm_amd64.s:1598 +0x1 fp=0xc0004227e8 sp=0xc0004227e0 pc=0x10006f8c1
created by github.com/charmbracelet/bubbletea.(*Program).handleResize
/Users/fuyu0425/tools/go-musicfox/vendor/github.com/charmbracelet/bubbletea/tea.go:261 +0x18a
goroutine 43 [select]:
runtime.gopark(0xc000422fa8?, 0x2?, 0x5?, 0x0?, 0xc000422f74?)
/opt/local/lib/go/src/runtime/proc.go:381 +0xd6 fp=0xc000422df8 sp=0xc000422dd8 pc=0x10003be56
runtime.selectgo(0xc000422fa8, 0xc000422f70, 0x0?, 0x0, 0x0?, 0x1)
/opt/local/lib/go/src/runtime/select.go:327 +0x7be fp=0xc000422f38 sp=0xc000422df8 pc=0x10004c3de
github.com/charmbracelet/bubbletea.(*Program).handleCommands.func1()
/Users/fuyu0425/tools/go-musicfox/vendor/github.com/charmbracelet/bubbletea/tea.go:278 +0xe5 fp=0xc000422fe0 sp=0xc000422f38 pc=0x100498805
runtime.goexit()
/opt/local/lib/go/src/runtime/asm_amd64.s:1598 +0x1 fp=0xc000422fe8 sp=0xc000422fe0 pc=0x10006f8c1
created by github.com/charmbracelet/bubbletea.(*Program).handleCommands
/Users/fuyu0425/tools/go-musicfox/vendor/github.com/charmbracelet/bubbletea/tea.go:274 +0xaa
goroutine 139 [IO wait]:
runtime.gopark(0x5?, 0xc0003a0000?, 0x80?, 0xc?, 0x0?)
/opt/local/lib/go/src/runtime/proc.go:381 +0xd6 fp=0xc000307608 sp=0xc0003075e8 pc=0x10003be56
runtime.netpollblock(0x1000c3449?, 0x6baf?, 0x1?)
/opt/local/lib/go/src/runtime/netpoll.go:527 +0xf7 fp=0xc000307640 sp=0xc000307608 pc=0x100034fd7
internal/poll.runtime_pollWait(0x12946e798, 0x72)
/opt/local/lib/go/src/runtime/netpoll.go:306 +0x89 fp=0xc000307660 sp=0xc000307640 pc=0x1000693e9
internal/poll.(*pollDesc).wait(0xc0004ba100?, 0xc0003a0000?, 0x0)
/opt/local/lib/go/src/internal/poll/fd_poll_runtime.go:84 +0x32 fp=0xc000307688 sp=0xc000307660 pc=0x1000dedf2
internal/poll.(*pollDesc).waitRead(...)
/opt/local/lib/go/src/internal/poll/fd_poll_runtime.go:89
internal/poll.(*FD).Read(0xc0004ba100, {0xc0003a0000, 0xc80, 0xc80})
/opt/local/lib/go/src/internal/poll/fd_unix.go:167 +0x299 fp=0xc000307720 sp=0xc000307688 pc=0x1000e01d9
net.(*netFD).Read(0xc0004ba100, {0xc0003a0000?, 0xc80?, 0xc0001d7540?})
/opt/local/lib/go/src/net/fd_posix.go:55 +0x29 fp=0xc000307768 sp=0xc000307720 pc=0x100276529
net.(*conn).Read(0xc0001a6090, {0xc0003a0000?, 0x1002c9ee3?, 0xc0003a0005?})
/opt/local/lib/go/src/net/net.go:183 +0x45 fp=0xc0003077b0 sp=0xc000307768 pc=0x100284605
net.(*TCPConn).Read(0xc000307848?, {0xc0003a0000?, 0xc0004a8450?, 0x18?})
<autogenerated>:1 +0x29 fp=0xc0003077e0 sp=0xc0003077b0 pc=0x100296909
crypto/tls.(*atLeastReader).Read(0xc0004a8450, {0xc0003a0000?, 0xc0004a8450?, 0x0?})
/opt/local/lib/go/src/crypto/tls/conn.go:788 +0x3d fp=0xc000307828 sp=0xc0003077e0 pc=0x1002cdcdd
bytes.(*Buffer).ReadFrom(0xc0000e6990, {0x100981b00, 0xc0004a8450})
/opt/local/lib/go/src/bytes/buffer.go:202 +0x98 fp=0xc000307880 sp=0xc000307828 pc=0x10010c838
crypto/tls.(*Conn).readFromUntil(0xc0000e6700, {0x1294d5958?, 0xc0001a6090}, 0xc0003a0005?)
/opt/local/lib/go/src/crypto/tls/conn.go:810 +0xe5 fp=0xc0003078c0 sp=0xc000307880 pc=0x1002cdec5
crypto/tls.(*Conn).readRecordOrCCS(0xc0000e6700, 0x0)
/opt/local/lib/go/src/crypto/tls/conn.go:617 +0x116 fp=0xc000307c20 sp=0xc0003078c0 pc=0x1002cb3b6
crypto/tls.(*Conn).readRecord(...)
/opt/local/lib/go/src/crypto/tls/conn.go:583
crypto/tls.(*Conn).Read(0xc0000e6700, {0xc000374000, 0x1000, 0x10033c860?})
/opt/local/lib/go/src/crypto/tls/conn.go:1316 +0x16f fp=0xc000307c90 sp=0xc000307c20 pc=0x1002d12af
bufio.(*Reader).Read(0xc00041b1a0, {0xc00042e740, 0x9, 0x10035a4e5?})
/opt/local/lib/go/src/bufio/bufio.go:237 +0x1bb fp=0xc000307cc8 sp=0xc000307c90 pc=0x1001a885b
io.ReadAtLeast({0x100981940, 0xc00041b1a0}, {0xc00042e740, 0x9, 0x9}, 0x9)
/opt/local/lib/go/src/io/io.go:332 +0x9a fp=0xc000307d10 sp=0xc000307cc8 pc=0x1000b8fda
io.ReadFull(...)
/opt/local/lib/go/src/io/io.go:351
net/http.http2readFrameHeader({0xc00042e740?, 0x9?, 0xc0005ab2f0?}, {0x100981940?, 0xc00041b1a0?})
/opt/local/lib/go/src/net/http/h2_bundle.go:1567 +0x6e fp=0xc000307d60 sp=0xc000307d10 pc=0x10033370e
net/http.(*http2Framer).ReadFrame(0xc00042e700)
/opt/local/lib/go/src/net/http/h2_bundle.go:1831 +0x95 fp=0xc000307e10 sp=0xc000307d60 pc=0x100333f55
net/http.(*http2clientConnReadLoop).run(0xc000307f98)
/opt/local/lib/go/src/net/http/h2_bundle.go:9187 +0x12e fp=0xc000307f60 sp=0xc000307e10 pc=0x10035752e
net/http.(*http2ClientConn).readLoop(0xc00020a480)
/opt/local/lib/go/src/net/http/h2_bundle.go:9082 +0x6f fp=0xc000307fc8 sp=0xc000307f60 pc=0x100356a4f
net/http.(*http2Transport).newClientConn.func1()
/opt/local/lib/go/src/net/http/h2_bundle.go:7779 +0x26 fp=0xc000307fe0 sp=0xc000307fc8 pc=0x10034f646
runtime.goexit()
/opt/local/lib/go/src/runtime/asm_amd64.s:1598 +0x1 fp=0xc000307fe8 sp=0xc000307fe0 pc=0x10006f8c1
created by net/http.(*http2Transport).newClientConn
/opt/local/lib/go/src/net/http/h2_bundle.go:7779 +0xc3c
goroutine 32 [GC worker (idle)]:
runtime.gopark(0xa4aa0d9d90b5?, 0xc000087f80?, 0x0?, 0x0?, 0x1?)
/opt/local/lib/go/src/runtime/proc.go:381 +0xd6 fp=0xc000087f50 sp=0xc000087f30 pc=0x10003be56
runtime.gcBgMarkWorker()
/opt/local/lib/go/src/runtime/mgc.go:1275 +0xf1 fp=0xc000087fe0 sp=0xc000087f50 pc=0x10001dd11
runtime.goexit()
/opt/local/lib/go/src/runtime/asm_amd64.s:1598 +0x1 fp=0xc000087fe8 sp=0xc000087fe0 pc=0x10006f8c1
created by runtime.gcBgMarkStartWorkers
/opt/local/lib/go/src/runtime/mgc.go:1199 +0x25
goroutine 31 [GC worker (idle)]:
runtime.gopark(0xc000509fb0?, 0xc000509f80?, 0x0?, 0x0?, 0x1?)
/opt/local/lib/go/src/runtime/proc.go:381 +0xd6 fp=0xc000509f50 sp=0xc000509f30 pc=0x10003be56
runtime.gcBgMarkWorker()
/opt/local/lib/go/src/runtime/mgc.go:1275 +0xf1 fp=0xc000509fe0 sp=0xc000509f50 pc=0x10001dd11
runtime.goexit()
/opt/local/lib/go/src/runtime/asm_amd64.s:1598 +0x1 fp=0xc000509fe8 sp=0xc000509fe0 pc=0x10006f8c1
created by runtime.gcBgMarkStartWorkers
/opt/local/lib/go/src/runtime/mgc.go:1199 +0x25
goroutine 71 [GC worker (idle)]:
runtime.gopark(0xc00050a7b0?, 0xc00050a780?, 0x0?, 0x0?, 0x1?)
/opt/local/lib/go/src/runtime/proc.go:381 +0xd6 fp=0xc00050a750 sp=0xc00050a730 pc=0x10003be56
runtime.gcBgMarkWorker()
/opt/local/lib/go/src/runtime/mgc.go:1275 +0xf1 fp=0xc00050a7e0 sp=0xc00050a750 pc=0x10001dd11
runtime.goexit()
/opt/local/lib/go/src/runtime/asm_amd64.s:1598 +0x1 fp=0xc00050a7e8 sp=0xc00050a7e0 pc=0x10006f8c1
created by runtime.gcBgMarkStartWorkers
/opt/local/lib/go/src/runtime/mgc.go:1199 +0x25
goroutine 10 [GC worker (idle)]:
runtime.gopark(0x0?, 0x0?, 0x0?, 0x0?, 0x0?)
/opt/local/lib/go/src/runtime/proc.go:381 +0xd6 fp=0xc000504750 sp=0xc000504730 pc=0x10003be56
runtime.gcBgMarkWorker()
/opt/local/lib/go/src/runtime/mgc.go:1275 +0xf1 fp=0xc0005047e0 sp=0xc000504750 pc=0x10001dd11
runtime.goexit()
/opt/local/lib/go/src/runtime/asm_amd64.s:1598 +0x1 fp=0xc0005047e8 sp=0xc0005047e0 pc=0x10006f8c1
created by runtime.gcBgMarkStartWorkers
/opt/local/lib/go/src/runtime/mgc.go:1199 +0x25
goroutine 72 [GC worker (idle)]:
runtime.gopark(0x0?, 0x0?, 0x0?, 0x0?, 0x0?)
/opt/local/lib/go/src/runtime/proc.go:381 +0xd6 fp=0xc00050af50 sp=0xc00050af30 pc=0x10003be56
runtime.gcBgMarkWorker()
/opt/local/lib/go/src/runtime/mgc.go:1275 +0xf1 fp=0xc00050afe0 sp=0xc00050af50 pc=0x10001dd11
runtime.goexit()
/opt/local/lib/go/src/runtime/asm_amd64.s:1598 +0x1 fp=0xc00050afe8 sp=0xc00050afe0 pc=0x10006f8c1
created by runtime.gcBgMarkStartWorkers
/opt/local/lib/go/src/runtime/mgc.go:1199 +0x25
goroutine 11 [GC worker (idle)]:
runtime.gopark(0x0?, 0x0?, 0x0?, 0x0?, 0x0?)
/opt/local/lib/go/src/runtime/proc.go:381 +0xd6 fp=0xc000504f50 sp=0xc000504f30 pc=0x10003be56
runtime.gcBgMarkWorker()
/opt/local/lib/go/src/runtime/mgc.go:1275 +0xf1 fp=0xc000504fe0 sp=0xc000504f50 pc=0x10001dd11
runtime.goexit()
/opt/local/lib/go/src/runtime/asm_amd64.s:1598 +0x1 fp=0xc000504fe8 sp=0xc000504fe0 pc=0x10006f8c1
created by runtime.gcBgMarkStartWorkers
/opt/local/lib/go/src/runtime/mgc.go:1199 +0x25
goroutine 73 [GC worker (idle)]:
runtime.gopark(0x100e8e160?, 0x1?, 0xff?, 0x4b?, 0x0?)
/opt/local/lib/go/src/runtime/proc.go:381 +0xd6 fp=0xc00050b750 sp=0xc00050b730 pc=0x10003be56
runtime.gcBgMarkWorker()
/opt/local/lib/go/src/runtime/mgc.go:1275 +0xf1 fp=0xc00050b7e0 sp=0xc00050b750 pc=0x10001dd11
runtime.goexit()
/opt/local/lib/go/src/runtime/asm_amd64.s:1598 +0x1 fp=0xc00050b7e8 sp=0xc00050b7e0 pc=0x10006f8c1
created by runtime.gcBgMarkStartWorkers
/opt/local/lib/go/src/runtime/mgc.go:1199 +0x25
goroutine 74 [GC worker (idle)]:
runtime.gopark(0xa4aa1ed16e25?, 0x0?, 0x0?, 0x0?, 0x0?)
/opt/local/lib/go/src/runtime/proc.go:381 +0xd6 fp=0xc00050bf50 sp=0xc00050bf30 pc=0x10003be56
runtime.gcBgMarkWorker()
/opt/local/lib/go/src/runtime/mgc.go:1275 +0xf1 fp=0xc00050bfe0 sp=0xc00050bf50 pc=0x10001dd11
runtime.goexit()
/opt/local/lib/go/src/runtime/asm_amd64.s:1598 +0x1 fp=0xc00050bfe8 sp=0xc00050bfe0 pc=0x10006f8c1
created by runtime.gcBgMarkStartWorkers
/opt/local/lib/go/src/runtime/mgc.go:1199 +0x25
goroutine 75 [GC worker (idle)]:
runtime.gopark(0xa4aa1ed29985?, 0x0?, 0x0?, 0x0?, 0x0?)
/opt/local/lib/go/src/runtime/proc.go:381 +0xd6 fp=0xc000546750 sp=0xc000546730 pc=0x10003be56
runtime.gcBgMarkWorker()
/opt/local/lib/go/src/runtime/mgc.go:1275 +0xf1 fp=0xc0005467e0 sp=0xc000546750 pc=0x10001dd11
runtime.goexit()
/opt/local/lib/go/src/runtime/asm_amd64.s:1598 +0x1 fp=0xc0005467e8 sp=0xc0005467e0 pc=0x10006f8c1
created by runtime.gcBgMarkStartWorkers
/opt/local/lib/go/src/runtime/mgc.go:1199 +0x25
goroutine 76 [GC worker (idle)]:
runtime.gopark(0xa4aa1ed29aea?, 0x3?, 0xb8?, 0x9?, 0x0?)
/opt/local/lib/go/src/runtime/proc.go:381 +0xd6 fp=0xc000546f50 sp=0xc000546f30 pc=0x10003be56
runtime.gcBgMarkWorker()
/opt/local/lib/go/src/runtime/mgc.go:1275 +0xf1 fp=0xc000546fe0 sp=0xc000546f50 pc=0x10001dd11
runtime.goexit()
/opt/local/lib/go/src/runtime/asm_amd64.s:1598 +0x1 fp=0xc000546fe8 sp=0xc000546fe0 pc=0x10006f8c1
created by runtime.gcBgMarkStartWorkers
/opt/local/lib/go/src/runtime/mgc.go:1199 +0x25
goroutine 77 [GC worker (idle)]:
runtime.gopark(0x100e8e160?, 0x1?, 0x9f?, 0x63?, 0x0?)
/opt/local/lib/go/src/runtime/proc.go:381 +0xd6 fp=0xc000547750 sp=0xc000547730 pc=0x10003be56
runtime.gcBgMarkWorker()
/opt/local/lib/go/src/runtime/mgc.go:1275 +0xf1 fp=0xc0005477e0 sp=0xc000547750 pc=0x10001dd11
runtime.goexit()
/opt/local/lib/go/src/runtime/asm_amd64.s:1598 +0x1 fp=0xc0005477e8 sp=0xc0005477e0 pc=0x10006f8c1
created by runtime.gcBgMarkStartWorkers
/opt/local/lib/go/src/runtime/mgc.go:1199 +0x25
goroutine 12 [GC worker (idle)]:
runtime.gopark(0xa4aa1ed2d55e?, 0x3?, 0x36?, 0xb7?, 0x0?)
/opt/local/lib/go/src/runtime/proc.go:381 +0xd6 fp=0xc000505750 sp=0xc000505730 pc=0x10003be56
runtime.gcBgMarkWorker()
/opt/local/lib/go/src/runtime/mgc.go:1275 +0xf1 fp=0xc0005057e0 sp=0xc000505750 pc=0x10001dd11
runtime.goexit()
/opt/local/lib/go/src/runtime/asm_amd64.s:1598 +0x1 fp=0xc0005057e8 sp=0xc0005057e0 pc=0x10006f8c1
created by runtime.gcBgMarkStartWorkers
/opt/local/lib/go/src/runtime/mgc.go:1199 +0x25
goroutine 78 [GC worker (idle)]:
runtime.gopark(0xa4aa1ed1701e?, 0x3?, 0x1f?, 0x5b?, 0x0?)
/opt/local/lib/go/src/runtime/proc.go:381 +0xd6 fp=0xc000547f50 sp=0xc000547f30 pc=0x10003be56
runtime.gcBgMarkWorker()
/opt/local/lib/go/src/runtime/mgc.go:1275 +0xf1 fp=0xc000547fe0 sp=0xc000547f50 pc=0x10001dd11
runtime.goexit()
/opt/local/lib/go/src/runtime/asm_amd64.s:1598 +0x1 fp=0xc000547fe8 sp=0xc000547fe0 pc=0x10006f8c1
created by runtime.gcBgMarkStartWorkers
/opt/local/lib/go/src/runtime/mgc.go:1199 +0x25
goroutine 13 [GC worker (idle)]:
runtime.gopark(0xa4aa1ed16e42?, 0x3?, 0x10?, 0x9d?, 0x0?)
/opt/local/lib/go/src/runtime/proc.go:381 +0xd6 fp=0xc000505f50 sp=0xc000505f30 pc=0x10003be56
runtime.gcBgMarkWorker()
/opt/local/lib/go/src/runtime/mgc.go:1275 +0xf1 fp=0xc000505fe0 sp=0xc000505f50 pc=0x10001dd11
runtime.goexit()
/opt/local/lib/go/src/runtime/asm_amd64.s:1598 +0x1 fp=0xc000505fe8 sp=0xc000505fe0 pc=0x10006f8c1
created by runtime.gcBgMarkStartWorkers
/opt/local/lib/go/src/runtime/mgc.go:1199 +0x25
goroutine 51 [GC worker (idle)]:
runtime.gopark(0xa4aa1ed2ed3a?, 0x1?, 0x10?, 0xd?, 0x100000000000000?)
/opt/local/lib/go/src/runtime/proc.go:381 +0xd6 fp=0xc000080750 sp=0xc000080730 pc=0x10003be56
runtime.gcBgMarkWorker()
/opt/local/lib/go/src/runtime/mgc.go:1275 +0xf1 fp=0xc0000807e0 sp=0xc000080750 pc=0x10001dd11
runtime.goexit()
/opt/local/lib/go/src/runtime/asm_amd64.s:1598 +0x1 fp=0xc0000807e8 sp=0xc0000807e0 pc=0x10006f8c1
created by runtime.gcBgMarkStartWorkers
/opt/local/lib/go/src/runtime/mgc.go:1199 +0x25
goroutine 52 [GC worker (idle)]:
runtime.gopark(0xa4aa1ed16f35?, 0x3?, 0x16?, 0x34?, 0x0?)
/opt/local/lib/go/src/runtime/proc.go:381 +0xd6 fp=0xc000542750 sp=0xc000542730 pc=0x10003be56
runtime.gcBgMarkWorker()
/opt/local/lib/go/src/runtime/mgc.go:1275 +0xf1 fp=0xc0005427e0 sp=0xc000542750 pc=0x10001dd11
runtime.goexit()
/opt/local/lib/go/src/runtime/asm_amd64.s:1598 +0x1 fp=0xc0005427e8 sp=0xc0005427e0 pc=0x10006f8c1
created by runtime.gcBgMarkStartWorkers
/opt/local/lib/go/src/runtime/mgc.go:1199 +0x25
goroutine 110 [IO wait]:
runtime.gopark(0x14?, 0xc0004e7000?, 0x0?, 0x10?, 0x0?)
/opt/local/lib/go/src/runtime/proc.go:381 +0xd6 fp=0xc000301608 sp=0xc0003015e8 pc=0x10003be56
runtime.netpollblock(0x1000c3449?, 0x6baf?, 0x1?)
/opt/local/lib/go/src/runtime/netpoll.go:527 +0xf7 fp=0xc000301640 sp=0xc000301608 pc=0x100034fd7
internal/poll.runtime_pollWait(0x12946e2e8, 0x72)
/opt/local/lib/go/src/runtime/netpoll.go:306 +0x89 fp=0xc000301660 sp=0xc000301640 pc=0x1000693e9
internal/poll.(*pollDesc).wait(0xc0004baa00?, 0xc0004e7000?, 0x0)
/opt/local/lib/go/src/internal/poll/fd_poll_runtime.go:84 +0x32 fp=0xc000301688 sp=0xc000301660 pc=0x1000dedf2
internal/poll.(*pollDesc).waitRead(...)
/opt/local/lib/go/src/internal/poll/fd_poll_runtime.go:89
internal/poll.(*FD).Read(0xc0004baa00, {0xc0004e7000, 0x1000, 0x1000})
/opt/local/lib/go/src/internal/poll/fd_unix.go:167 +0x299 fp=0xc000301720 sp=0xc000301688 pc=0x1000e01d9
net.(*netFD).Read(0xc0004baa00, {0xc0004e7000?, 0xc0004e7a36?, 0x19?})
/opt/local/lib/go/src/net/fd_posix.go:55 +0x29 fp=0xc000301768 sp=0xc000301720 pc=0x100276529
net.(*conn).Read(0xc00030c0b8, {0xc0004e7000?, 0x5ca?, 0xc0004e7a2e?})
/opt/local/lib/go/src/net/net.go:183 +0x45 fp=0xc0003017b0 sp=0xc000301768 pc=0x100284605
net.(*TCPConn).Read(0xc000301848?, {0xc0004e7000?, 0xc0004a8078?, 0x18?})
<autogenerated>:1 +0x29 fp=0xc0003017e0 sp=0xc0003017b0 pc=0x100296909
crypto/tls.(*atLeastReader).Read(0xc0004a8078, {0xc0004e7000?, 0xc0004a8078?, 0x0?})
/opt/local/lib/go/src/crypto/tls/conn.go:788 +0x3d fp=0xc000301828 sp=0xc0003017e0 pc=0x1002cdcdd
bytes.(*Buffer).ReadFrom(0xc0000e7410, {0x100981b00, 0xc0004a8078})
/opt/local/lib/go/src/bytes/buffer.go:202 +0x98 fp=0xc000301880 sp=0xc000301828 pc=0x10010c838
crypto/tls.(*Conn).readFromUntil(0xc0000e7180, {0x1294d5958?, 0xc00030c0b8}, 0x5d7?)
/opt/local/lib/go/src/crypto/tls/conn.go:810 +0xe5 fp=0xc0003018c0 sp=0xc000301880 pc=0x1002cdec5
crypto/tls.(*Conn).readRecordOrCCS(0xc0000e7180, 0x0)
/opt/local/lib/go/src/crypto/tls/conn.go:617 +0x116 fp=0xc000301c20 sp=0xc0003018c0 pc=0x1002cb3b6
crypto/tls.(*Conn).readRecord(...)
/opt/local/lib/go/src/crypto/tls/conn.go:583
crypto/tls.(*Conn).Read(0xc0000e7180, {0xc0002af000, 0x1000, 0x10033c860?})
/opt/local/lib/go/src/crypto/tls/conn.go:1316 +0x16f fp=0xc000301c90 sp=0xc000301c20 pc=0x1002d12af
bufio.(*Reader).Read(0xc000116de0, {0xc00042e120, 0x9, 0x10035a4e5?})
/opt/local/lib/go/src/bufio/bufio.go:237 +0x1bb fp=0xc000301cc8 sp=0xc000301c90 pc=0x1001a885b
io.ReadAtLeast({0x100981940, 0xc000116de0}, {0xc00042e120, 0x9, 0x9}, 0x9)
/opt/local/lib/go/src/io/io.go:332 +0x9a fp=0xc000301d10 sp=0xc000301cc8 pc=0x1000b8fda
io.ReadFull(...)
/opt/local/lib/go/src/io/io.go:351
net/http.http2readFrameHeader({0xc00042e120?, 0x9?, 0xc00013c120?}, {0x100981940?, 0xc000116de0?})
/opt/local/lib/go/src/net/http/h2_bundle.go:1567 +0x6e fp=0xc000301d60 sp=0xc000301d10 pc=0x10033370e
net/http.(*http2Framer).ReadFrame(0xc00042e0e0)
/opt/local/lib/go/src/net/http/h2_bundle.go:1831 +0x95 fp=0xc000301e10 sp=0xc000301d60 pc=0x100333f55
net/http.(*http2clientConnReadLoop).run(0xc000301f98)
/opt/local/lib/go/src/net/http/h2_bundle.go:9187 +0x12e fp=0xc000301f60 sp=0xc000301e10 pc=0x10035752e
net/http.(*http2ClientConn).readLoop(0xc000370480)
/opt/local/lib/go/src/net/http/h2_bundle.go:9082 +0x6f fp=0xc000301fc8 sp=0xc000301f60 pc=0x100356a4f
net/http.(*http2Transport).newClientConn.func1()
/opt/local/lib/go/src/net/http/h2_bundle.go:7779 +0x26 fp=0xc000301fe0 sp=0xc000301fc8 pc=0x10034f646
runtime.goexit()
/opt/local/lib/go/src/runtime/asm_amd64.s:1598 +0x1 fp=0xc000301fe8 sp=0xc000301fe0 pc=0x10006f8c1
created by net/http.(*http2Transport).newClientConn
/opt/local/lib/go/src/net/http/h2_bundle.go:7779 +0xc3c
goroutine 228 [IO wait]:
runtime.gopark(0x15?, 0xc0007ac000?, 0x0?, 0x10?, 0x0?)
/opt/local/lib/go/src/runtime/proc.go:381 +0xd6 fp=0xc000097608 sp=0xc0000975e8 pc=0x10003be56
runtime.netpollblock(0x1000c3449?, 0x6baf?, 0x1?)
/opt/local/lib/go/src/runtime/netpoll.go:527 +0xf7 fp=0xc000097640 sp=0xc000097608 pc=0x100034fd7
internal/poll.runtime_pollWait(0x12946e1f8, 0x72)
/opt/local/lib/go/src/runtime/netpoll.go:306 +0x89 fp=0xc000097660 sp=0xc000097640 pc=0x1000693e9
internal/poll.(*pollDesc).wait(0xc0004ba380?, 0xc0007ac000?, 0x0)
/opt/local/lib/go/src/internal/poll/fd_poll_runtime.go:84 +0x32 fp=0xc000097688 sp=0xc000097660 pc=0x1000dedf2
internal/poll.(*pollDesc).waitRead(...)
/opt/local/lib/go/src/internal/poll/fd_poll_runtime.go:89
internal/poll.(*FD).Read(0xc0004ba380, {0xc0007ac000, 0x1000, 0x1000})
/opt/local/lib/go/src/internal/poll/fd_unix.go:167 +0x299 fp=0xc000097720 sp=0xc000097688 pc=0x1000e01d9
net.(*netFD).Read(0xc0004ba380, {0xc0007ac000?, 0xc0007ac341?, 0x24?})
/opt/local/lib/go/src/net/fd_posix.go:55 +0x29 fp=0xc000097768 sp=0xc000097720 pc=0x100276529
net.(*conn).Read(0xc0001a6078, {0xc0007ac000?, 0xc000097808?, 0xc00027e1b0?})
/opt/local/lib/go/src/net/net.go:183 +0x45 fp=0xc0000977b0 sp=0xc000097768 pc=0x100284605
net.(*TCPConn).Read(0xc000097848?, {0xc0007ac000?, 0xc0000121e0?, 0x18?})
<autogenerated>:1 +0x29 fp=0xc0000977e0 sp=0xc0000977b0 pc=0x100296909
crypto/tls.(*atLeastReader).Read(0xc0000121e0, {0xc0007ac000?, 0xc0000121e0?, 0x0?})
/opt/local/lib/go/src/crypto/tls/conn.go:788 +0x3d fp=0xc000097828 sp=0xc0000977e0 pc=0x1002cdcdd
bytes.(*Buffer).ReadFrom(0xc00027e290, {0x100981b00, 0xc0000121e0})
/opt/local/lib/go/src/bytes/buffer.go:202 +0x98 fp=0xc000097880 sp=0xc000097828 pc=0x10010c838
crypto/tls.(*Conn).readFromUntil(0xc00027e000, {0x1294d5958?, 0xc0001a6078}, 0xcc4?)
/opt/local/lib/go/src/crypto/tls/conn.go:810 +0xe5 fp=0xc0000978c0 sp=0xc000097880 pc=0x1002cdec5
crypto/tls.(*Conn).readRecordOrCCS(0xc00027e000, 0x0)
/opt/local/lib/go/src/crypto/tls/conn.go:617 +0x116 fp=0xc000097c20 sp=0xc0000978c0 pc=0x1002cb3b6
crypto/tls.(*Conn).readRecord(...)
/opt/local/lib/go/src/crypto/tls/conn.go:583
crypto/tls.(*Conn).Read(0xc00027e000, {0xc0007b8000, 0x1000, 0x10033c860?})
/opt/local/lib/go/src/crypto/tls/conn.go:1316 +0x16f fp=0xc000097c90 sp=0xc000097c20 pc=0x1002d12af
bufio.(*Reader).Read(0xc000117740, {0xc0007b0580, 0x9, 0x10035a4e5?})
/opt/local/lib/go/src/bufio/bufio.go:237 +0x1bb fp=0xc000097cc8 sp=0xc000097c90 pc=0x1001a885b
io.ReadAtLeast({0x100981940, 0xc000117740}, {0xc0007b0580, 0x9, 0x9}, 0x9)
/opt/local/lib/go/src/io/io.go:332 +0x9a fp=0xc000097d10 sp=0xc000097cc8 pc=0x1000b8fda
io.ReadFull(...)
/opt/local/lib/go/src/io/io.go:351
net/http.http2readFrameHeader({0xc0007b0580?, 0x9?, 0xc0005743c0?}, {0x100981940?, 0xc000117740?})
/opt/local/lib/go/src/net/http/h2_bundle.go:1567 +0x6e fp=0xc000097d60 sp=0xc000097d10 pc=0x10033370e
net/http.(*http2Framer).ReadFrame(0xc0007b0540)
/opt/local/lib/go/src/net/http/h2_bundle.go:1831 +0x95 fp=0xc000097e10 sp=0xc000097d60 pc=0x100333f55
net/http.(*http2clientConnReadLoop).run(0xc000097f98)
/opt/local/lib/go/src/net/http/h2_bundle.go:9187 +0x12e fp=0xc000097f60 sp=0xc000097e10 pc=0x10035752e
net/http.(*http2ClientConn).readLoop(0xc00020a900)
/opt/local/lib/go/src/net/http/h2_bundle.go:9082 +0x6f fp=0xc000097fc8 sp=0xc000097f60 pc=0x100356a4f
net/http.(*http2Transport).newClientConn.func1()
/opt/local/lib/go/src/net/http/h2_bundle.go:7779 +0x26 fp=0xc000097fe0 sp=0xc000097fc8 pc=0x10034f646
runtime.goexit()
/opt/local/lib/go/src/runtime/asm_amd64.s:1598 +0x1 fp=0xc000097fe8 sp=0xc000097fe0 pc=0x10006f8c1
created by net/http.(*http2Transport).newClientConn
/opt/local/lib/go/src/net/http/h2_bundle.go:7779 +0xc3c
goroutine 232 [select]:
runtime.gopark(0xc000081f98?, 0x2?, 0x40?, 0x3?, 0xc000081f6c?)
/opt/local/lib/go/src/runtime/proc.go:381 +0xd6 fp=0xc000081df8 sp=0xc000081dd8 pc=0x10003be56
runtime.selectgo(0xc000081f98, 0xc000081f68, 0x100e51980?, 0x0, 0x188291015?, 0x1)
/opt/local/lib/go/src/runtime/select.go:327 +0x7be fp=0xc000081f38 sp=0xc000081df8 pc=0x10004c3de
github.com/go-musicfox/go-musicfox/utils.(*Timer).Run(0xc0004ba400)
/Users/fuyu0425/tools/go-musicfox/utils/timer.go:78 +0x247 fp=0xc000081fc8 sp=0xc000081f38 pc=0x100457307
github.com/go-musicfox/go-musicfox/pkg/player.(*mpdPlayer).SyncMpdStatus.func1()
/Users/fuyu0425/tools/go-musicfox/pkg/player/mpd_player.go:138 +0x26 fp=0xc000081fe0 sp=0xc000081fc8 pc=0x1004f11a6
runtime.goexit()
/opt/local/lib/go/src/runtime/asm_amd64.s:1598 +0x1 fp=0xc000081fe8 sp=0xc000081fe0 pc=0x10006f8c1
created by github.com/go-musicfox/go-musicfox/pkg/player.(*mpdPlayer).SyncMpdStatus
/Users/fuyu0425/tools/go-musicfox/pkg/player/mpd_player.go:138 +0x190
rax 0x0
rbx 0x700009f00000
rcx 0x700009efe5e8
rdx 0x0
rdi 0x7903
rsi 0x6
rbp 0x700009efe610
rsp 0x700009efe5e8
r8 0x700009efe4b0
r9 0x700009efe680
r10 0x700009f00000
r11 0x246
r12 0x7903
r13 0x3000000008
r14 0x6
r15 0x16
rip 0x7fff6e97932a
rflags 0x246
cs 0x7
fs 0x0
gs 0x0
❯ pkill mpd
❯ ./bin/musicfox -V
Musicfox - 命令行版网易云音乐
Version: v4.1.2-44-g6d5f3c1
master 的我自己 build的 看起來一樣?
我的mac(ventura)没出现,是某首歌导致的还是所有歌都这样
所有歌都會 可能我 macOS 版本太舊了?
应该不至于,可能网络/代理问题?
就出錯在這上面,把這兩行註解掉就沒 crash了
// s.curArtwork = mediaplayer.MPMediaItemArtwork_alloc()
// s.curArtwork = mediaplayer.MPMediaItemArtwork_alloc().InitWithImage(image)
還有下面的 dic.SetValueForKey(core.String(mediaplayer.MPMediaItemPropertyArtwork), s.curArtwork.NSObject)
這兩行是做啥的阿? 註解掉一樣一有圖片 🤔
EDIT: 這是通知的
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/MediaPlayer.framework/Versions/A/Headers/MPMediaItem.h
#if TARGET_OS_IPHONE
- (instancetype)initWithImage:(UIImage *)image MP_DEPRECATED("Use -initWithBoundsSize:requestHandler:", ios(5.0, 10.0));
#endif
- (id)init NS_UNAVAILABLE;
@end
initWithImage
這個 method 是 iPhone才有,是不是 arm64 的這個 method 才有 define?
似乎要用 initWithBoundsSize
才對 (不熟apple開發)
是Mac NowPlaying用的,不是通知,注释掉就没有图片
这个方法mac可以调的,我的Intel Mac也正常,可能确实和系统版本有关系
state_handler_darwin.go:125-126
换成下面这样,然后看下日志文件
image = i
artwork := mediaplayer.MPMediaItemArtwork_alloc()
utils.Logger().Printf("image: %+v, artwork: %+v\n", image, s.curArtwork)
s.curArtwork = artwork.InitWithImage(image)
是 artwork
吧?
image: {NSObject:{ID:4312881600}}, artwork: {NSObject:{ID:4349533056}}
看起来是alloc的问题,但是alloc失败有点不可思议,可能需要一个macOS 10.15.6环境才能复现
artwork allocate 有成功。 不修也沒關係了,圖片不是太重要。 等之後我 upgrade OS 就好了。
做了个兼容
Check for existing issues
检查是否已存在相同issue
Describe the bug and provide steps to reproduce it
描述遇到的bug并提供相应的复现方法
只要播音樂就會 Crash。
engine=osx
還沒有聲音就 crash了。engine=mpd
有聲音之後 crash。 所以代表 mpd 有收到。Environment / 运行环境
直接 download的 pre-built binary Version: v4.1.2. 從 Master source build 的也是同樣錯誤。
OS: macOS 10.15.6 Catalina (不知是不是版本太舊?看起來是 system call 是出問題) CPU: amd64
If applicable, list the error messages you see
如果有错误输出请一并填入
以下為 trace.
If applicable, attach your
${MUSICFOX_ROOT}/musicfox.log
file to this issue.如果
${MUSICFOX_ROOT}/musicfox.log
里有错误日志,请一并上传2023/07/10 04:34:20 [ERROR] Lastfm other err: empty session key github.com/go-musicfox/go-musicfox/pkg/lastfm.(*Client).UpdateNowPlaying /go/src/go-musicfox/pkg/lastfm/api.go:89 github.com/go-musicfox/go-musicfox/pkg/lastfm.Report.func1 /go/src/go-musicfox/pkg/lastfm/api.go:146 runtime.goexit /usr/local/go/src/runtime/asm_amd64.s:1571