Live data from Hacker News

macOS Sonoma 14.4 might break Java on your machine

appleinsider.com

141–150 of 271 posts

Re: macOS Sonoma 14.4 might break Java on your machine

#141
post #28

Been saying this for as long as I’ve been using macOS: it is not a developer friendly OS and am close to the conclusion that this reputation is a psy-op. Yeah it’s pretty, it mostly works when the box is first turned on and the hardware is unmatched but macOS itself is actually subpar. QA seems second tier, things you’d except from other OSes like, I don’t know, using a third party second display are just bad experie…

Some people think that I am crazy when I said that I would prefer to use Linux instead of the MacOS in a MacBook if this was an option for me. I constantly have network issues and UI issues that I can just recover after reboot the system. But the big problem is the MacOS experience, I really hate it.

What MacBook do you have that you can't run Linux on it?

Re: macOS Sonoma 14.4 might break Java on your machine

#142

Earlier quoted context omitted.

Despite what the other commenters are saying, it is bizarre. 1. There is very little you can safely do in a signal handler. For a threaded application, that pretty much boils entirely down to setting a bit and leaving it at that. If they did anything more, the behavior is undefined. 2. The memory state that a program receiving a SIGSEGV in is often undefined/garbage, and attempting to execute further at this point is…

>There is very little you can safely do in a signal handler You can actually do pretty much anything you want, it's just the C library that uses a lot of global state and internal memory allocations, which messes things up. The core syscall API and any reentrant code you write yourself are not affected. >The memory state that a program receiving a SIGSEGV in is often undefined/garbage That may be true for arbitrary s…

You can "do pretty much anything you want" as long as you carefully avoid doing anything non thread-safe (even indirectly) in both the main app and the handler itself? How reassuring!

Re: macOS Sonoma 14.4 might break Java on your machine

#143

Earlier quoted context omitted.

The reputation was well earned when Linux on the Desktop wasn’t as easy or friendly as it is today and was severely lacking good quality GUI applications. Windows was a virus laden mess and was not useful for running Linux apps. And besides the flaws of the other OS’es, OS X had some of the nicest window management features (Expose from the Snow Leopard is still my favorite window switcher), was a UNIX and had a thri…

Here are few particular things that I like about development in my mac: 1. Terminal is very usable, compared to Windows cmd. Modern Gnome Terminal is good, though. 2. Cmnd+C for copy, Ctrl+C for SIGINT. 3. Touch ID instead of root password, which works with Bluetooth keyboard as well, and that's with absolutely minimal configuration, uncommenting single line.

> Terminal is very usable, compared to Windows cmd.

It is subpar, however, when compared to Windows Terminal.

Re: macOS Sonoma 14.4 might break Java on your machine

#144

Earlier quoted context omitted.

Wow, I thought I'm the only one as when asked in my Team no one agreed to facing these issues - but I faced it on multiple new Macbook Pros.

I experienced it, but I'm not sure if it relates to high CPU. My guess it's something about kernel locks.

Yeah, the same on m2. And to thing I originally bought this machine with audio work in mind...

Re: macOS Sonoma 14.4 might break Java on your machine

#145
post #73

Earlier quoted context omitted.

Don't they all use the same kernel?

Mostly, but JIT is not allowed in the App Store apps, so probably this change didn't broke anything over there.

But it will soon be once the EU DMA changes require support for alternative browser engines. Was this change an attempt to lock down too wide permissions a JIT might set up and perhaps really intended for iOS instead of macOS?

Re: macOS Sonoma 14.4 might break Java on your machine

#146

Earlier quoted context omitted.

But this also means that signal handlers are running in what's effectively a separate thread of execution - even in otherwise single-threaded code! So the things you're allowed to do safely in your signal handler are very limited, they boil down to atomically tweaking some lightweight data structure (or even just setting a flag) that the main code will look at later and behave accordingly.

While it's true that async-signal-safe programming bears some similarities to multi-threaded programming, an interrupt really isn't the same as a thread. Also, there's a lot more you can do in a signal handler than just set a flag: you can longjmp or even make calls to regular functions. For example, one kind of program organization that used to be more common in Unix but that remains legal involves keeping signals m…

How is this pattern any different from "keep interrupts disabled all the time except when the program is ready to yield()"? I'm not really seeing the inherent difference w/ the well-known pitfalls of multi-threaded programming. The defining characteristics of signals is that, like interrupts and multi-threaded execution, they can pre-empt your program at any time. (Synchronous signals as you describe them are indeed different, they look more like a "recoverable exceptions" system.)

Re: macOS Sonoma 14.4 might break Java on your machine

#147

Earlier quoted context omitted.

Wow, I thought I'm the only one as when asked in my Team no one agreed to facing these issues - but I faced it on multiple new Macbook Pros.

I experienced it, but I'm not sure if it relates to high CPU. My guess it's something about kernel locks.

I experience this a lot (even up to complete freezes, even of the touchpad feedback, leading to crashes) and am confident that it is at least related to swapping due to memory pressure / RAM usage.

Why they'd let the system become unstable rather than killing some apps that are too much goes beyond my understanding.

Re: macOS Sonoma 14.4 might break Java on your machine

#148
post #28

Been saying this for as long as I’ve been using macOS: it is not a developer friendly OS and am close to the conclusion that this reputation is a psy-op. Yeah it’s pretty, it mostly works when the box is first turned on and the hardware is unmatched but macOS itself is actually subpar. QA seems second tier, things you’d except from other OSes like, I don’t know, using a third party second display are just bad experie…

Completely agree. Have been using a MBP for almost three years now at work (after using Windows machines for a couple of decades), and I can see how laughable many of the design decisions in macOS are (though I highly doubt they were deliberate 'decisions' at all), and I still fail to understand why people use them over Windows or Linux (sure, great hardware, mostly). It's probably fine as a consumer device, but for…

What do you not like about finder?

Re: macOS Sonoma 14.4 might break Java on your machine

#149

Earlier quoted context omitted.

While it's true that async-signal-safe programming bears some similarities to multi-threaded programming, an interrupt really isn't the same as a thread. Also, there's a lot more you can do in a signal handler than just set a flag: you can longjmp or even make calls to regular functions. For example, one kind of program organization that used to be more common in Unix but that remains legal involves keeping signals m…

How is this pattern any different from "keep interrupts disabled all the time except when the program is ready to yield()"? I'm not really seeing the inherent difference w/ the well-known pitfalls of multi-threaded programming. The defining characteristics of signals is that, like interrupts and multi-threaded execution, they can pre-empt your program at any time. (Synchronous signals as you describe them are indeed…

> keep interrupts disabled all the time except

It's not. So what?

> The defining characteristics of signals is that, like interrupts and multi-threaded execution

No, they can't. You control when they are masked and unmasked. Certain signals are delivered in response only to certain actions (e.g. floating point errors when enabled, or memory access failures). It's not the chaos you think.

Re: macOS Sonoma 14.4 might break Java on your machine

#150
post #28

Been saying this for as long as I’ve been using macOS: it is not a developer friendly OS and am close to the conclusion that this reputation is a psy-op. Yeah it’s pretty, it mostly works when the box is first turned on and the hardware is unmatched but macOS itself is actually subpar. QA seems second tier, things you’d except from other OSes like, I don’t know, using a third party second display are just bad experie…

As of recently, Docker on MacOS has improved and AFAICT the performance penalty is gone. Is the problematic corporate Mac an M-series Mac or Intel? M-series have been great in my experience. I did used to get random full system crashes on Intel Macs which haven't happened in a few years on M1/M2.

Docker Desktop still sucks at least on my corp mac.
Post reply on HN