Live data from Hacker News

macOS Sonoma 14.4 might break Java on your machine

appleinsider.com

51–60 of 271 posts

Re: macOS Sonoma 14.4 might break Java on your machine

#51
post #31

I find this hard to accept. Doesn't Apple do pre-release testing of their updates? How the release process looks like? News like these are the major reason why I apply updates only after long periods of waiting if anything blows up for others. Why companies use their userbase as testers?

> News like these are the major reason why I apply updates only after long periods of waiting if anything blows up for others. But then you are accepting that you are running an exploitable OS since you are lacking the latest security fixes. Not sure if that‘s an acceptable tradeoff.

Apple doesn't EOL the last OS version when the latest comes out. I think they mean they wait a few months to make sure all the issues have been worked out.

Re: macOS Sonoma 14.4 might break Java on your machine

#52
post #7

Earlier quoted context omitted.

FTFA: > The issue was not present in the early access releases for macOS 14.4, so it was discovered only after Apple released the update. There were some security fixes that were marked as under active exploitation in macOS 14.4, so my money is on those landing very steep close to the release date and this being fallout from that.

FTBR: "It is also successful on the previous versions of Sonoma" (no mention of EA) "It could not be reproduced on 23-ea+13, 22+36-2370" (EA versions of Java)

Right so it’s present in all shipping versions of Java back to at least 8, and the reproduction case works fine on Sonoma pre-14.4. Ergo, Apple changed something in 14.4 (a minor patch release), and it broke something in Java. I’m not sure what point you’re trying to make.

It’s possible that Java was doing something very weird, maybe undocumented/unsupported; but it’s not clear how this is anything other than Apple making a change (which I don’t see documented in their release notes) and breaking users.

Re: macOS Sonoma 14.4 might break Java on your machine

#53

I'm on 14.4 and using Jetbrain's IDE. So -this- is the reason my IDE randomly crashes. I'd been chalking it up to 14.4 but didn't have any specifics. It's mostly fine, though. The crashes are rare, and since everything auto-saves, you're not really losing anything. It's just an "oh, okay." moment. Obviously it'll be good when it's fixed, but on my personal list of impactful bugs, this doesn't crack the top 10.

Yeah, I've been hearing about that, too. And yeah, it's probably a nuisance. I'm wondering how this extends to running Java inside docker... If you're a dev and you run a lot of Java code locally during development and testing, this would bea real nuisance... .

Re: macOS Sonoma 14.4 might break Java on your machine

#55
So this will break IDEs and anything that uses the JVM natively on macOS. But if I’m reading the bug report right, should leave dockerized JVM services intact?

This is why most enterprise workplace tech teams don’t roll out any OS level updates immediately. Regardless of whether they are on windows or macOS. Also a good idea to disable automatic updates on all devices that you use daily.

Re: macOS Sonoma 14.4 might break Java on your machine

#56
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…

I cannot believe that, on macOS, high cpu usage leads to audio buffer underruns and popping, like something from the 90s but on today's premium hardware. It's inexcusable. On a platform that is constantly touted as the best for audio work, DAWs etc no less.

Re: macOS Sonoma 14.4 might break Java on your machine

#57

I find it difficult to imagine how a change like this (sending a SIGKILL to the process instead of SIGSEGV on a page fault) can be done in the final release and not in one of the EA releases or betas. It is clearly a breaking change with no easy workaround (since SIGKILL cannot be caught), for a behaviour which is well defined by POSIX. Even if you momentarily ignore the reasons why someone thought this could be a go…

It sounds like the kind of half-baked change a junior dev might come up with, but lord knows how it made it through code review and into a release.

Re: macOS Sonoma 14.4 might break Java on your machine

#58
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…

Sounds like your Mac is broken. Hardware fault. I've been using multiple Macs daily with a third party 4k display, Docker, and stable network connection for years. No issues with any of that. Never needs rebooting aside from installing OS updates.

Re: macOS Sonoma 14.4 might break Java on your machine

#59
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.

I mean the performance penalty is just inherent to how Docker on Mac works. Instead of being a container like on Linux, it’s a virtual machine, which will necessarily be slower.

Re: macOS Sonoma 14.4 might break Java on your machine

#60

> As a normal part of the just-in-time compile and execute cycle, processes running on macOS may access memory in protected memory regions. Prior to the macOS 14.4 update, in certain circumstances, the macOS kernel would respond to these protected memory accesses by sending a signal, SIGBUS or SIGSEGV, to the process. > With macOS 14.4, when a thread is operating in the write mode, if a memory access to a protected m…

> What is bizarre to me is that Oracle relied on receiving SIGSEGV as normal mode of operation. That should have been a hint where things are going, no? Not bizarre at all, this how the runtime has always operated, as anyone one who's ever attached a debugger to a Java process knows. The SIGSEGV handler is also responsible to handling NullPointerExceptions IIRC.

Correct:

> ... the JVM can intercept the resulting SIGSEGV ("Signal: Segmentation Fault"), look at the return address for that signal, and figure out where that access was made in the generated code. Once it figures that bit out, it can then know where to dispatch the control to handle this case — in most cases, throwing NullPointerException or branching somewhere.

https://shipilev.net/jvm/anatomy-quarks/25-implicit-null-che...

Post reply on HN