Java bug on MacOS 14.4, does it affect MoneyDance?

garyrob's Avatar

garyrob

Mar 16, 2024 @ 08:23 PM

I seem to recall that MD is written in Java? Are you aware of the Java problem under MacOS 14.4?

https://blogs.oracle.com/java/post/java-on-macos-14-4

Thanks,
Gary

  1. 1 Posted by Stuart Beesley ... on Mar 16, 2024 @ 09:18 PM

    Stuart Beesley (Mr Toolbox)'s Avatar

    Watching...

  2. 2 Posted by dtd on Mar 16, 2024 @ 11:00 PM

    dtd's Avatar

    I use 14.4 and Moneydance 2023.3(5064) - no problems right now.

    Then again 5064 was rewritten in Kotlin, so don't know if that makes a difference, as I think there are still Java libraries.

  3. 3 Posted by dtd on Mar 16, 2024 @ 11:13 PM

    dtd's Avatar

    From Sean Reilly:

    Moneydance has registered an exception in it's code signing entitlements in order to allow it to execute unsigned memory. It's had this entitlement exemption for years and I think means that this shouldn't be a problem. I imagine that software that isn't code-signed will probably be subject to this problem - which might include any java software that isn't packaged as a code-signed app.

  4. 4 Posted by garyrob on Mar 17, 2024 @ 01:51 AM

    garyrob's Avatar

    "in order to allow it to execute unsigned memory."

    That definitely sounds like the bug Java has in MacOS 14.4. Not really a bug... it's part of Java's current design. Here's some explanation from Hacker News...

    This isn’t just any old thread triggering SIGKILL, it’s the JIT thread privileged to write to executable pages that is performing illegal memory accesses. That’s typically a sign of a bug, and allowing a thread with write access to executable pages to continue executing after that is a security risk. But I know of other language runtimes that take advantage of installing signal handlers for SIGBUS/SIGSEGV to detect when they overflow a page so they can allocate more memory, etc. This saves from having to do an explicit overflow check on every allocation. Those threads aren’t given privilege to write to executable memory, so they’re not seeing this issue… So this sounds like a narrow design problem the JVM is facing with their JIT thread. This blog doesn’t explain why their JIT thread needs to make illegal memory accesses instead of an explicit check.

    "Then again 5064 was rewritten in Kotlin, so don't know if that makes a difference, as I think there are still Java libraries."

    Kotlin normally runs under the JVM, and if it does, I would expect it to have the same problem.

  5. 5 Posted by dtd on Mar 17, 2024 @ 02:24 AM

    dtd's Avatar

    Well, I'd defer to Sean in this case vs. my own opinion, as he's the developer, but I am running the current Moneydance in 14.4 on an M2 mac with no issues at this time.

  6. 6 Posted by Stuart Beesley ... on Mar 17, 2024 @ 07:01 AM

    Stuart Beesley (Mr Toolbox)'s Avatar

    Design or bug…. According to the post this is how the JVM operates… Watching.

  7. Support Staff 7 Posted by Sean Reilly on Mar 17, 2024 @ 10:44 PM

    Sean Reilly's Avatar

    Hi Gary,
    Thanks for posting this. I believe that Moneydance won't be affected. We have registered an exception in Moneydance's code signing entitlements in order to allow it to execute unsigned memory. It has had this entitlement exemption for years and I think means that this shouldn't be a problem.

    I imagine that software that isn't code-signed will probably be subject to this problem - which might include any java software that isn't packaged as a code-signed app, such as open source java code.

    We will keep an eye out for any signs of trouble though!

    Thanks,
    Sean

    --
    Sean Reilly
    Developer, The Infinite Kind
    https://infinitekind.com

  8. Support Staff 8 Posted by Sean Reilly on Mar 26, 2024 @ 09:12 AM

    Sean Reilly's Avatar

    Even if moneydance wasn't affected, it looks like Apple pushed an update that fixes the issue: https://mjtsai.com/blog/2024/03/25/macos-14-4-1/

    --
    Sean Reilly
    Developer, The Infinite Kind
    https://infinitekind.com

  9. 9 Posted by Stuart Beesley ... on Apr 04, 2024 @ 10:24 AM

    Stuart Beesley (Mr Toolbox)'s Avatar

    I confirm, it’s all ok for me too!

  10. System closed this discussion on Jul 04, 2024 @ 10:30 AM.

Comments are currently closed for this discussion. You can start a new one.

Keyboard shortcuts

Generic

? Show this help
ESC Blurs the current field

Comment Form

r Focus the comment reply box
^ + ↩ Submit the comment

You can use Command ⌘ instead of Control ^ on Mac