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

10.13.6- not launching at all #11

Closed
AnalysisPitiful opened this issue Sep 9, 2024 · 22 comments
Closed

10.13.6- not launching at all #11

AnalysisPitiful opened this issue Sep 9, 2024 · 22 comments

Comments

@AnalysisPitiful
Copy link

Keeps jumping in dock, then sits there 'not responding'
Attached is a 2min clip of it jumping and then sitting at not responding

Untitled.mov
@MacBiter
Copy link

MacBiter commented Sep 9, 2024

You already have another Firefox in the Dock? You can only have one version running at a time.

@AnalysisPitiful
Copy link
Author

You already have another Firefox in the Dock? You can only have one version running at a time.

Have tried it otherwise as well. Doesn't work. Is deleting the existing firefox and replacing it a solution?

@MacBiter
Copy link

MacBiter commented Sep 9, 2024

I'm using Firefox 115 ESR in my 10.13 Parallels VM, which is the only place I can now stream video apart from BBC iPlayer (in Mavericks using Chromium Legacy). You might find that substituting FF 115 with this one brings the same streaming problem as this legacy version hasn't (yet) incorporated the latest Widevine?

@i3roly
Copy link
Owner

i3roly commented Oct 3, 2024

i've had this issue too on my machine, and i think it's related to SIP but i can't say for sure.

i do know i had this problem though, and it felt impossible to fix. but at that time i did notice i had SIP enabled for some reason, and disabling it seemed to fix it.

try to clear the ~/Library/Caches folder as well.

i think it's because the app is technically 'officially branded' but not signed by a designated developer, and sometimes this trips things up. i have no other explanation for how or why this occurs. i do know it happened to me when i restored from a time machine backup and/or reinstalled OS X

@Wowfunhappy
Copy link

Wowfunhappy commented Oct 3, 2024

^ Oh, that makes me think, another thing to try would be cleaning out the LaunchServices cache:

/System/Library/Frameworks/CoreServices.framework/Frameworks/LaunchServices.framework/Support/lsregister -kill -r -domain local -domain user

@shakhbazian
Copy link

Can confirm similar behaviour with a couple of recent releases. MBP 8,1, macOS 10.13.6, SIP enabled/disabled, tried both workarounds mentioned here. Maybe I can help with some diagnostic data?

@Wowfunhappy
Copy link

Wowfunhappy commented Oct 24, 2024

Some people on MacRumors appear to have had success running the binary directly. Ctrl+Click on Firefox.app and select "Show Package Contents", then navigate to Contents/MacOS and double click the file called "firefox". The app should start up.

Strangely, the MacRumors users for whom this worked say that after doing this once, Firefox could also be opened normally!

(cc @Lost-Entrepreneur439)

Please report back!

@i3roly
Copy link
Owner

i3roly commented Oct 24, 2024 via email

@Wowfunhappy
Copy link

Okay, fresh 10.13 Virtual Machine.

Firefox 133a01 was downloaded from Github via the preinstalled Safari 11.1.2.

I right click Firefox.app and select open to bypass Gatekeeper (this is a fresh VM, so Gatekeeper is enabled). I confirm that I want to run an app from an unidentified developer. Firefox behavior matches the video in the first post. Ditto when I force quit and open it again.

This was the part where I was hoping I could use the method I described in my last post to make Firefox work. Unfortunately, starting the binary directly doesn't seem to help in my VM. Terminal displays:

Last login: Wed Oct 23 21:03:41 on ttys000
/Users/jonathan/Downloads/133a01/Firefox.app/Contents/MacOS/firefox ; exit;
Jonathans-Mac:~ jonathan$ /Users/jonathan/Downloads/133a01/Firefox.app/Contents/MacOS/firefox ; exit;
libc++abi.dylib: __cxa_guard_acquire detected deadlock

It never displays anything after this.

@i3roly
Copy link
Owner

i3roly commented Oct 24, 2024 via email

@shakhbazian
Copy link

Can confirm the same behaviour on the real MBP 8,1 with 10.13.6.

Okay, fresh 10.13 Virtual Machine.

Firefox 133a01 was downloaded from Github via the preinstalled Safari 11.1.2.

I right click Firefox.app and select open to bypass Gatekeeper (this is a fresh VM, so Gatekeeper is enabled). I confirm that I want to run an app from an unidentified developer. Firefox behavior matches the video in the first post. Ditto when I force quit and open it again.

This was the part where I was hoping I could use the method I described in my last post to make Firefox work. Unfortunately, starting the binary directly doesn't seem to help in my VM. Terminal displays:

Last login: Wed Oct 23 21:03:41 on ttys000
/Users/jonathan/Downloads/133a01/Firefox.app/Contents/MacOS/firefox ; exit;
Jonathans-Mac:~ jonathan$ /Users/jonathan/Downloads/133a01/Firefox.app/Contents/MacOS/firefox ; exit;
libc++abi.dylib: __cxa_guard_acquire detected deadlock

It never displays anything after this.

@i3roly
Copy link
Owner

i3roly commented Oct 24, 2024 via email

@i3roly
Copy link
Owner

i3roly commented Oct 24, 2024

johnny @Wowfunhappy do you think you could help me out and see if this problem exists on a 10.12 and/or a 10.14 as well?

i need to find out if the re-entrancy i’m witnessing is because of the 10.13 libc++ or something.

i experienced this same issue on 10.14, for sure. but the weird thing is for all of us, once it’s working, it’s fine.

this for sure has never happened on 10.8 or 10.9, probably not 10.10 or 10.11 either.

* thread #1, queue = 'com.apple.main-thread', stop reason = signal SIGSTOP
  * frame #0: 0x00007fff72ec8a46 libsystem_kernel.dylib`__psynch_mutexwait + 10
    frame #1: 0x00007fff73090b9d libsystem_pthread.dylib`_pthread_mutex_lock_wait + 83
    frame #2: 0x00007fff7308e4c8 libsystem_pthread.dylib`_pthread_mutex_lock_slow + 253
    frame #3: 0x00007fff70d375cd libc++abi.dylib`__cxa_guard_acquire + 26
    frame #4: 0x00000001000bf4e2 libmozglue.dylib`MaybePageAlloc(mozilla::Maybe<unsigned long> const&, unsigned long, unsigned long, bool) + 1058
    frame #5: 0x00000001000bc6a4 libmozglue.dylib`MozJemallocPHC::malloc(unsigned long) + 52
    frame #6: 0x00007fff72f21241 libsystem_malloc.dylib`malloc_zone_malloc + 103
    frame #7: 0x00007fff72f205bf libsystem_malloc.dylib`malloc + 24
    frame #8: 0x00007fff72e0b39f libsystem_c.dylib`_vasprintf + 229
    frame #9: 0x00007fff70d1bf80 libc++abi.dylib`abort_message + 230
    frame #10: 0x00007fff70d37690 libc++abi.dylib`__cxa_guard_acquire + 221
    frame #11: 0x00000001000bf4e2 libmozglue.dylib`MaybePageAlloc(mozilla::Maybe<unsigned long> const&, unsigned long, unsigned long, bool) + 1058
    frame #12: 0x00000001000bc6a4 libmozglue.dylib`MozJemallocPHC::malloc(unsigned long) + 52
    frame #13: 0x00007fff72f21241 libsystem_malloc.dylib`malloc_zone_malloc + 103
    frame #14: 0x00007fff72f205bf libsystem_malloc.dylib`malloc + 24
    frame #15: 0x00007fff72debc61 libsystem_c.dylib`arc4_init + 108
    frame #16: 0x00007fff72debdbd libsystem_c.dylib`arc4random_buf + 37
    frame #17: 0x000000010011b503 libmozglue.dylib`mozilla::RandomUint64() + 19
    frame #18: 0x00000001000bb2a8 libmozglue.dylib`arena_t::MallocSmall(unsigned long, bool) + 664
    frame #19: 0x00000001000bf73d libmozglue.dylib`BaseAllocator::malloc(unsigned long) + 173
    frame #20: 0x00000001000c1e52 libmozglue.dylib`maybe_init()::'lambda'()::operator()() const + 82
    frame #21: 0x00000001000bf4fb libmozglue.dylib`MaybePageAlloc(mozilla::Maybe<unsigned long> const&, unsigned long, unsigned long, bool) + 1083
    frame #22: 0x00000001000bc6a4 libmozglue.dylib`MozJemallocPHC::malloc(unsigned long) + 52
    frame #23: 0x00007fff72f21241 libsystem_malloc.dylib`malloc_zone_malloc + 103
    frame #24: 0x00007fff72f205bf libsystem_malloc.dylib`malloc + 24
    frame #25: 0x00007fff72e06501 libsystem_c.dylib`__smakebuf + 111
    frame #26: 0x00007fff72e051b6 libsystem_c.dylib`_fseeko + 201
    frame #27: 0x00007fff72e050c9 libsystem_c.dylib`fseek + 74
    frame #28: 0x0000000100128ef0 libmozglue.dylib`_initializeAvailabilityCheck + 448
    frame #29: 0x00007fff72d3edb8 libdispatch.dylib`_dispatch_client_callout + 8
    frame #30: 0x00007fff72d3ed6b libdispatch.dylib`dispatch_once_f + 41
    frame #31: 0x0000000100128c7b libmozglue.dylib`__isPlatformVersionAtLeast + 123
    frame #32: 0x00000001000c543a libmozglue.dylib`_GLOBAL__sub_I_Unified_cpp_memory_build0.cpp + 26
    frame #33: 0x0000000100026ac6 dyld`ImageLoaderMachO::doModInitFunctions(ImageLoader::LinkContext const&) + 420
    frame #34: 0x0000000100026cf6 dyld`ImageLoaderMachO::doInitialization(ImageLoader::LinkContext const&) + 40
    frame #35: 0x0000000100022218 dyld`ImageLoader::recursiveInitialization(ImageLoader::LinkContext const&, unsigned int, char const*, ImageLoader::InitializerTimingList&, ImageLoader::UninitedUpwards&) + 330
    frame #36: 0x00000001000221ab dyld`ImageLoader::recursiveInitialization(ImageLoader::LinkContext const&, unsigned int, char const*, ImageLoader::InitializerTimingList&, ImageLoader::UninitedUpwards&) + 221
    frame #37: 0x000000010002134e dyld`ImageLoader::processInitializers(ImageLoader::LinkContext const&, unsigned int, ImageLoader::InitializerTimingList&, ImageLoader::UninitedUpwards&) + 134
    frame #38: 0x00000001000213e2 dyld`ImageLoader::runInitializers(ImageLoader::LinkContext const&, ImageLoader::InitializerTimingList&) + 74
    frame #39: 0x0000000100012567 dyld`dyld::initializeMainExecutable() + 196
    frame #40: 0x0000000100017239 dyld`dyld::_main(macho_header const*, unsigned long, int, char const**, char const**, char const**, unsigned long*) + 7242
    frame #41: 0x00000001000113d4 dyld`dyldbootstrap::start(macho_header const*, int, char const**, long, macho_header const*, unsigned long*) + 453
    frame #42: 0x00000001000111d2 dyld`_dyld_start + 54
(lldb) c
Process 1111 resuming
Process 1111 stopped
* thread #1, queue = 'com.apple.main-thread', stop reason = signal SIGSTOP
    frame #0: 0x00007fff72ec8a46 libsystem_kernel.dylib`__psynch_mutexwait + 10
libsystem_kernel.dylib`__psynch_mutexwait:
->  0x7fff72ec8a46 <+10>: jae    0x7fff72ec8a50            ; <+20>
    0x7fff72ec8a48 <+12>: movq   %rax, %rdi
    0x7fff72ec8a4b <+15>: jmp    0x7fff72ebfae5            ; cerror_nocancel
    0x7fff72ec8a50 <+20>: retq   
Target 0: (firefox) stopped.
(lldb) bt
* thread #1, queue = 'com.apple.main-thread', stop reason = signal SIGSTOP
  * frame #0: 0x00007fff72ec8a46 libsystem_kernel.dylib`__psynch_mutexwait + 10
    frame #1: 0x00007fff73090b9d libsystem_pthread.dylib`_pthread_mutex_lock_wait + 83
    frame #2: 0x00007fff7308e4c8 libsystem_pthread.dylib`_pthread_mutex_lock_slow + 253
    frame #3: 0x00007fff70d375cd libc++abi.dylib`__cxa_guard_acquire + 26
    frame #4: 0x00000001000bf4e2 libmozglue.dylib`MaybePageAlloc(mozilla::Maybe<unsigned long> const&, unsigned long, unsigned long, bool) + 1058
    frame #5: 0x00000001000bc6a4 libmozglue.dylib`MozJemallocPHC::malloc(unsigned long) + 52
    frame #6: 0x00007fff72f21241 libsystem_malloc.dylib`malloc_zone_malloc + 103
    frame #7: 0x00007fff72f205bf libsystem_malloc.dylib`malloc + 24
    frame #8: 0x00007fff72e0b39f libsystem_c.dylib`_vasprintf + 229
    frame #9: 0x00007fff70d1bf80 libc++abi.dylib`abort_message + 230
    frame #10: 0x00007fff70d37690 libc++abi.dylib`__cxa_guard_acquire + 221
    frame #11: 0x00000001000bf4e2 libmozglue.dylib`MaybePageAlloc(mozilla::Maybe<unsigned long> const&, unsigned long, unsigned long, bool) + 1058
    frame #12: 0x00000001000bc6a4 libmozglue.dylib`MozJemallocPHC::malloc(unsigned long) + 52
    frame #13: 0x00007fff72f21241 libsystem_malloc.dylib`malloc_zone_malloc + 103
    frame #14: 0x00007fff72f205bf libsystem_malloc.dylib`malloc + 24
    frame #15: 0x00007fff72debc61 libsystem_c.dylib`arc4_init + 108
    frame #16: 0x00007fff72debdbd libsystem_c.dylib`arc4random_buf + 37
    frame #17: 0x000000010011b503 libmozglue.dylib`mozilla::RandomUint64() + 19
    frame #18: 0x00000001000bb2a8 libmozglue.dylib`arena_t::MallocSmall(unsigned long, bool) + 664
    frame #19: 0x00000001000bf73d libmozglue.dylib`BaseAllocator::malloc(unsigned long) + 173
    frame #20: 0x00000001000c1e52 libmozglue.dylib`maybe_init()::'lambda'()::operator()() const + 82
    frame #21: 0x00000001000bf4fb libmozglue.dylib`MaybePageAlloc(mozilla::Maybe<unsigned long> const&, unsigned long, unsigned long, bool) + 1083
    frame #22: 0x00000001000bc6a4 libmozglue.dylib`MozJemallocPHC::malloc(unsigned long) + 52
    frame #23: 0x00007fff72f21241 libsystem_malloc.dylib`malloc_zone_malloc + 103
    frame #24: 0x00007fff72f205bf libsystem_malloc.dylib`malloc + 24
    frame #25: 0x00007fff72e06501 libsystem_c.dylib`__smakebuf + 111
    frame #26: 0x00007fff72e051b6 libsystem_c.dylib`_fseeko + 201
    frame #27: 0x00007fff72e050c9 libsystem_c.dylib`fseek + 74
    frame #28: 0x0000000100128ef0 libmozglue.dylib`_initializeAvailabilityCheck + 448
    frame #29: 0x00007fff72d3edb8 libdispatch.dylib`_dispatch_client_callout + 8
    frame #30: 0x00007fff72d3ed6b libdispatch.dylib`dispatch_once_f + 41
    frame #31: 0x0000000100128c7b libmozglue.dylib`__isPlatformVersionAtLeast + 123
    frame #32: 0x00000001000c543a libmozglue.dylib`_GLOBAL__sub_I_Unified_cpp_memory_build0.cpp + 26
    frame #33: 0x0000000100026ac6 dyld`ImageLoaderMachO::doModInitFunctions(ImageLoader::LinkContext const&) + 420
    frame #34: 0x0000000100026cf6 dyld`ImageLoaderMachO::doInitialization(ImageLoader::LinkContext const&) + 40
    frame #35: 0x0000000100022218 dyld`ImageLoader::recursiveInitialization(ImageLoader::LinkContext const&, unsigned int, char const*, ImageLoader::InitializerTimingList&, ImageLoader::UninitedUpwards&) + 330
    frame #36: 0x00000001000221ab dyld`ImageLoader::recursiveInitialization(ImageLoader::LinkContext const&, unsigned int, char const*, ImageLoader::InitializerTimingList&, ImageLoader::UninitedUpwards&) + 221
    frame #37: 0x000000010002134e dyld`ImageLoader::processInitializers(ImageLoader::LinkContext const&, unsigned int, ImageLoader::InitializerTimingList&, ImageLoader::UninitedUpwards&) + 134
    frame #38: 0x00000001000213e2 dyld`ImageLoader::runInitializers(ImageLoader::LinkContext const&, ImageLoader::InitializerTimingList&) + 74
    frame #39: 0x0000000100012567 dyld`dyld::initializeMainExecutable() + 196
    frame #40: 0x0000000100017239 dyld`dyld::_main(macho_header const*, unsigned long, int, char const**, char const**, char const**, unsigned long*) + 7242
    frame #41: 0x00000001000113d4 dyld`dyldbootstrap::start(macho_header const*, int, char const**, long, macho_header const*, unsigned long*) + 453
    frame #42: 0x00000001000111d2 dyld`_dyld_start + 54

On Oct 24, 2024, at 1:16 PM, Gagan Sidhu @.***> wrote:

i have verified the hang on the most recent versions.

the problem has to do with a change in mozjemalloc between 128 and 130

if you use 128.0, it will work fine.

i’ll try to find out what happened.

thanks for the information.

Thanks,
Gagan

On Oct 24, 2024, at 1:24 AM, shakhbazian @.***> wrote:

Can confirm the same behaviour on the real MBP 8,1 with 10.13.6.

Okay, fresh 10.13 Virtual Machine.

Firefox 133a01 was downloaded from Github via the preinstalled Safari 11.1.2.

I right click Firefox.app and select open to bypass Gatekeeper (this is a fresh VM, so Gatekeeper is enabled). I confirm that I want to run an app from an unidentified developer. Firefox behavior matches the video in the first post. Ditto when I force quit and open it again.

This was the part where I was hoping I could use the method I described in my last post to make Firefox work. Unfortunately, starting the binary directly doesn't seem to help in my VM. Terminal displays:

Last login: Wed Oct 23 21:03:41 on ttys000
/Users/jonathan/Downloads/133a01/Firefox.app/Contents/MacOS/firefox ; exit;
Jonathans-Mac:~ jonathan$ /Users/jonathan/Downloads/133a01/Firefox.app/Contents/MacOS/firefox ; exit;
libc++abi.dylib: __cxa_guard_acquire detected deadlock

It never displays anything after this.


Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you commented.

@Wowfunhappy
Copy link

I'm sorry, at the moment I only have VMs for:

10.4 / Tiger
10.6 / Snow Leopard
10.8 / Mountain Lion
10.9 / Mavericks
10.13 / High Sierra

I used to have everything between 10.4 – 10.13, but I had to clean some out because I just don't have the hard drive space.

I might be able to spin up some 10.12 and/or 10.14 machines this weekend, I'm not sure.

@i3roly
Copy link
Owner

i3roly commented Oct 24, 2024 via email

@i3roly
Copy link
Owner

i3roly commented Oct 26, 2024

I found the issue @Wowfunhappy. It has to do with the random number generation used for small memory allocations, which uses arc4random_buf. The comments in the Mozilla code suggested this can cause deadlocks. Removing arc4ranfom and using a pipe to dev/urandom fixed it, but I am talking to the Mozilla team to better understand the issue.

It affects a fresh 10.12 too, and probably 10.14 (untested) as well. Haven't tried 10.15 but it wouldn't surprise me if it works fine since 10.15 uses unfair locks. I will test that too.

@i3roly
Copy link
Owner

i3roly commented Oct 26, 2024

confirmed that this is probably limited to 10.12<=osVersion<=10.14.

10.15 works fine:

Screen.Recording.2024-10-26.at.11.35.59.AM.mp4

so it has to do with the changes made to the allocator and their expectation that os_unfair_lock will be used with a flag that isn't available in 10.12->10.14. nor can we use osspinlock lol. i'll think of something.

@i3roly
Copy link
Owner

i3roly commented Oct 26, 2024

@Wowfunhappy try the latest build, it should be fixed. enjoy

@Wowfunhappy
Copy link

Yes, I can confirm this works in my 10.13 VM, starting from a fresh snapshot and using the exact same process as before!

@i3roly
Copy link
Owner

i3roly commented Oct 27, 2024

would you mind closing this if you feel the issue has been addressed @Wowfunhappy? i know it's not your ticket but i doubt the poster uses github that much.

@Wowfunhappy
Copy link

I would have already but I can't close other people's tickets. (I think you can as the repo owner, right?)

@i3roly i3roly closed this as completed Oct 27, 2024
@i3roly
Copy link
Owner

i3roly commented Oct 27, 2024

oh that's right. "privileges" and whatnot. i hate doing tht though. but oh well.

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

5 participants