OS: Mac OS X 10.14
GPMDP Version: 4.6.1
Issue Descriptions: Crash on cmd+q
Steps to Reproduce: tap cmd+q
Process: Google Play Music Desktop Player [251]
Path: /Applications/Google Play Music Desktop Player.app/Contents/MacOS/Google Play Music Desktop Player
Identifier: google-play-music-desktop-player
Version: 4.6.1 (4.6.1)
Code Type: X86-64 (Native)
Parent Process: ??? [1]
Responsible: Google Play Music Desktop Player [251]
User ID: 501
Date/Time: 2018-10-01 02:20:11.482 +0300
OS Version: Mac OS X 10.14 (18A391)
Report Version: 12
Bridge OS Version: 3.0 (14Y667)
Time Awake Since Boot: 28000 seconds
Time Since Wake: 2200 seconds
System Integrity Protection: enabled
Crashed Thread: 0 CrBrowserMain Dispatch queue: com.apple.main-thread
Exception Type: EXC_BAD_INSTRUCTION (SIGILL)
Exception Codes: 0x0000000000000001, 0x0000000000000000
Application Specific Information:
*** CFHash() called with NULL ***
Thread 0 Crashed:: CrBrowserMain Dispatch queue: com.apple.main-thread
0 com.apple.CoreFoundation 0x00007fff37985ccc CFHash + 372
1 com.apple.CoreFoundation 0x00007fff379b1547 CFBasicHashGetCountOfKey + 198
2 com.apple.CoreFoundation 0x00007fff379b5524 CFSetContainsValue + 73
3 com.apple.CoreFoundation 0x00007fff379d20d2 CFRunLoopRemoveSource + 366
4 com.github.electron.framework 0x0000000106c79514 extensions::GlobalShortcutListenerMac::StopWatchingMediaOrVolumeKeys() + 36
5 com.github.electron.framework 0x0000000106c79f57 extensions::GlobalShortcutListenerMac::UnregisterAcceleratorImpl(ui::Accelerator const&) + 215
6 com.github.electron.framework 0x0000000106c78b26 extensions::GlobalShortcutListener::UnregisterAccelerator(ui::Accelerator const&, extensions::GlobalShortcutListener::Observer*) + 150
7 com.github.electron.framework 0x0000000106c78c89 extensions::GlobalShortcutListener::UnregisterAccelerators(extensions::GlobalShortcutListener::Observer*) + 297
8 com.github.electron.framework 0x0000000106b5b992 atom::api::GlobalShortcut::UnregisterAll() + 34
9 com.github.electron.framework 0x0000000106b5b94a atom::api::GlobalShortcut::~GlobalShortcut() + 58
10 com.github.electron.framework 0x0000000106b5b9f9 atom::api::GlobalShortcut::~GlobalShortcut() + 9
11 com.github.electron.framework 0x0000000106b5ba2e atom::api::GlobalShortcut::~GlobalShortcut() + 14
12 com.github.electron.framework 0x0000000106b5ba4d non-virtual thunk to atom::api::GlobalShortcut::~GlobalShortcut() + 13
13 com.github.electron.framework 0x0000000106bc577f mate::TrackableObjectBase::Destroy() + 15
14 com.github.electron.framework 0x0000000106bc59ea 0x106b28000 + 645610
15 com.github.electron.framework 0x0000000106bc59b8 0x106b28000 + 645560
16 com.github.electron.framework 0x0000000106bc597c 0x106b28000 + 645500
17 com.github.electron.framework 0x0000000106bc5944 base::internal::Invoker<base::internal::BindState<void (mate::TrackableObjectBase::*)(), base::WeakPtr<mate::TrackableObjectBase> >, void ()>::Run(base::internal::BindStateBase*) + 20
18 com.github.electron.framework 0x0000000106b3d3b0 0x106b28000 + 86960
19 com.github.electron.framework 0x0000000106bcf42d atom::AtomBrowserMainParts::PostMainMessageLoopRun() + 77
20 com.github.electron.framework 0x0000000107039039 0x106b28000 + 5312569
21 com.github.electron.framework 0x000000010703b57c 0x106b28000 + 5322108
22 com.github.electron.framework 0x0000000107034d78 0x106b28000 + 5295480
23 com.github.electron.framework 0x0000000106f7df40 0x106b28000 + 4546368
24 com.github.electron.framework 0x0000000108b733d4 0x106b28000 + 33862612
25 com.github.electron.framework 0x0000000106f7cd54 0x106b28000 + 4541780
26 com.github.electron.framework 0x0000000106b2aa44 AtomMain + 68
27 google-play-music-desktop-player 0x0000000106b1ff26 main + 38
28 libdyld.dylib 0x00007fff64a4b085 start + 1
👋 Thanks for opening your first issue here! If you're reporting a 🐞 bug, please make sure you include steps to reproduce it. We get a lot of duplicate issues on this repo, so please double check now that your issue has not already been solved or doesn't have an open issue already.
To help make it easier for us to investigate your issue, please follow the contributing guidelines and ensure the issue template was filled out.
Can reproduce, started with Mojave. When you Quit the app, it hangs for ~30 sec before getting that SIGILL.
Workaround that will made it work as normal for me: give GPMDP "Accessibility" permissions:

I believe updating Electron in the package.json would also fix this (without needing to give Accessibility permissions), but don't have time to check.
I've looked into it some more. Updating Electron to 2.0.9 makes it crash much faster when doing cmd+q (now it crashes almost instantly instead of hanging for 20+ seconds).
I believe the cause of the issue is https://github.com/electron/electron/issues/14837. But what I said regarding "give GPMDP Accessibility permissions" is still a working workaround, but hopefully Electron gets this fixed soon.
I don't have this on the General Availability release of Mojave. Can you confirm it is still an issue on the public Mojave releases
Still have this crash on public release Mojave 10.14 (18A391)
I can also confirm that it still happens when building from HEAD on Mojave 18A391. If you're having trouble reproducing it, make sure you haven't given electron (or similar) Accessibility permissions.
+1 normally happens on quit, but today I had a random crash when switching to YouTube music, not sure if it's related and I haven't been able to repro.
OSX: 10.14, MacBook Pro (15-inch, 2018) I9
+1
Getting this issue too on Mojave. 4.6.1 installed via web link.
Hi! I'm working on the similar application, but for Yandex.Music. Here's my small native binding for this which can be used as a workaround until Electron fixes it: https://github.com/4ndv/node-mac-accessibility-features-check
It allows to determine user's consent on Accessibility.
I've never tried to build application under different OSes and it probably requires a Mac to build, but for me it works ¯_(ツ)_/¯
Nice work @4ndv but I assume you do actually need to give it Accessibility permissions to prevent the crash? I don't want to do that, though.
@deed02392 actually not, it crashes only if an app without such permissions registers a global shortcut. This library can be used just to check permissions and register hotkeys only if they are present.
Ahh fantastic, so what causes the crash? The app tries to do something not
allowed so it gets killed by the macos runtime?
On Sat, 15 Dec 2018, 06:27 Andrey Viktorov, notifications@github.com
wrote:
@deed02392 https://github.com/deed02392 actually not, it crashes only
if an app without such permissions registers a global shortcut. This
library can be used just to check permissions and register hotkeys only if
they are present.—
You are receiving this because you were mentioned.Reply to this email directly, view it on GitHub
https://github.com/MarshallOfSound/Google-Play-Music-Desktop-Player-UNOFFICIAL-/issues/3369#issuecomment-447541848,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ADX01-05VMfgXpoCvdcYt9ZO9q50ZCMxks5u5JZdgaJpZM4XBNbR
.
@4ndv I commented out the globalShortcuts import (and all the calling code) in src/main/features/core/keyboardShortcuts.js and I still get the crash. My report looks different to the one in this thread, though, it doesn't mention reference to the GlobalShortcut::UnregisterAll method. I confirmed the behaviour is present or not with Accessibility permission off or on (respectively). So there must be another source to this crash.
@deed02392 can you provide crashlog or post it in here: electron/electron#16090?
Sure, added a crashlog to your issue.
Correct me if i'm wrong but isnt cmd+q the "quit command"?
Correct me if i'm wrong but isnt cmd+q the "quit command"?
Yes it is
This will be fixed by the incoming Electron upgrade
Most helpful comment
Still have this crash on public release Mojave 10.14 (18A391)