Anyone with MacOS Sonoma and MFC-Edit?

I haven't read this looooonnnngggg thread. I'll take a look at it tonight after work. In short, though, you can comment out all the java version detection code and just edit the ~/.jexec.txt file to contain the path to the Java runtime, which must be version 8.x. Also, if you're on an Apple Silicon Mac you'll need Rosetta 2 and an Intel Version of Java because the Mac version of MFC-Edit has compiled Intel dynamic/shared libraries. If you're just going to edit SysEx files from MFC-Edit and use FractalBot to send/receive the SysEx files to/from the MFC-101, then you can use the M1 version of Java and you won't need Rosetta 2. The dynamic library (Intel) is required for Java to interface with the Mac MIDI libraries for communicating with the MFC-101.
 
Hello Gary! I'm on an Intel Mac and java -version is "1.8.0_421"

When I run
./mfc-edit.sh
I get
Java execution EXIT STATUS = 1

and mfc-edit.sh ends with

Bash:
newerJava    # Has a Java update been installed ?
+ newerJava
+ '[' '!' -f /usr/bin/java ']'
+ jbin=/usr/bin/java
/bin/ls -Ll "$jbin" | awk '{ print $5 }'
++ /bin/ls -Ll /usr/bin/java
++ awk '{ print $5 }'
+ jsize=135616
+ '[' 135616 -lt 1000 ']'
getJavaMinVer "$jbin"
++ getJavaMinVer /usr/bin/java
${1} -version 2>&1 | head -1 | cut -d. -f2
+++ /usr/bin/java -version
+++ head -1
+++ cut -d. -f2
++ minver=8
++ echo 8
+ bin_ver=8
getJavaBuild "$jbin"
++ getJavaBuild /usr/bin/java
${1} -version 2>&1 | head -1 | cut -d_ -f2 | cut -d\" -f1
+++ /usr/bin/java -version
+++ head -1
+++ cut -d_ -f2
+++ cut '-d"' -f1
++ bld=421
++ echo 421
+ bin_bld=421
+ '[' 8 = 'java version ' -o 421 = 'java version ' ']'
+ '[' -f /Users/torbjornnaslund/.jexec.txt ']'
cat ~/.jexec.txt
++ cat /Users/torbjornnaslund/.jexec.txt
+ jp=/Library/Internet-Plug-Ins/JavaAppletPlugin.plugin/Contents/Home/bin/java
getJavaMinVer "$jp"
++ getJavaMinVer /Library/Internet-Plug-Ins/JavaAppletPlugin.plugin/Contents/Home/bin/java
${1} -version 2>&1 | head -1 | cut -d. -f2
+++ /Library/Internet-Plug-Ins/JavaAppletPlugin.plugin/Contents/Home/bin/java -version
+++ head -1
+++ cut -d. -f2
++ minver=8
++ echo 8
+ curr_ver=8
getJavaBuild "$jp"
++ getJavaBuild /Library/Internet-Plug-Ins/JavaAppletPlugin.plugin/Contents/Home/bin/java
${1} -version 2>&1 | head -1 | cut -d_ -f2 | cut -d\" -f1
+++ /Library/Internet-Plug-Ins/JavaAppletPlugin.plugin/Contents/Home/bin/java -version
+++ head -1
+++ cut -d_ -f2
+++ cut '-d"' -f1
++ bld=421
++ echo 421
+ curr_bld=421
+ '[' 8 -lt 8 ']'
+ '[' 421 -gt 421 ']
 
Hello Gary! I'm on an Intel Mac and java -version is "1.8.0_421"

When I run
./mfc-edit.sh
I get
Java execution EXIT STATUS = 1

and mfc-edit.sh ends with

Bash:
newerJava    # Has a Java update been installed ?
+ newerJava
+ '[' '!' -f /usr/bin/java ']'
+ jbin=/usr/bin/java
/bin/ls -Ll "$jbin" | awk '{ print $5 }'
++ /bin/ls -Ll /usr/bin/java
++ awk '{ print $5 }'
+ jsize=135616
+ '[' 135616 -lt 1000 ']'
getJavaMinVer "$jbin"
++ getJavaMinVer /usr/bin/java
${1} -version 2>&1 | head -1 | cut -d. -f2
+++ /usr/bin/java -version
+++ head -1
+++ cut -d. -f2
++ minver=8
++ echo 8
+ bin_ver=8
getJavaBuild "$jbin"
++ getJavaBuild /usr/bin/java
${1} -version 2>&1 | head -1 | cut -d_ -f2 | cut -d\" -f1
+++ /usr/bin/java -version
+++ head -1
+++ cut -d_ -f2
+++ cut '-d"' -f1
++ bld=421
++ echo 421
+ bin_bld=421
+ '[' 8 = 'java version ' -o 421 = 'java version ' ']'
+ '[' -f /Users/torbjornnaslund/.jexec.txt ']'
cat ~/.jexec.txt
++ cat /Users/torbjornnaslund/.jexec.txt
+ jp=/Library/Internet-Plug-Ins/JavaAppletPlugin.plugin/Contents/Home/bin/java
getJavaMinVer "$jp"
++ getJavaMinVer /Library/Internet-Plug-Ins/JavaAppletPlugin.plugin/Contents/Home/bin/java
${1} -version 2>&1 | head -1 | cut -d. -f2
+++ /Library/Internet-Plug-Ins/JavaAppletPlugin.plugin/Contents/Home/bin/java -version
+++ head -1
+++ cut -d. -f2
++ minver=8
++ echo 8
+ curr_ver=8
getJavaBuild "$jp"
++ getJavaBuild /Library/Internet-Plug-Ins/JavaAppletPlugin.plugin/Contents/Home/bin/java
${1} -version 2>&1 | head -1 | cut -d_ -f2 | cut -d\" -f1
+++ /Library/Internet-Plug-Ins/JavaAppletPlugin.plugin/Contents/Home/bin/java -version
+++ head -1
+++ cut -d_ -f2
+++ cut '-d"' -f1
++ bld=421
++ echo 421
+ curr_bld=421
+ '[' 8 -lt 8 ']'
+ '[' 421 -gt 421 ']
You can try commenting out the last line in the file /Applications/MFC-Edit.app/Contents/MacOS/mfc-edit.sh. The last line should look something like "newerJava # Has a Java update been installed ?". You comment this out by adding an octothorpe (hash sign '#') as the first character on that line and then saving that file. So it should look like this "#newerJava # Has a Java update been installed ?". Let's see what the output of that is please. You can also open a Terminal from the Applications/Utilities folder and copy/paste this command into it and paste the output here. Paste this command into the Terminal window: /Applications/MFC-Edit.app/Contents/MacOS/mfc-edit.sh -debug and press the Return key.
 
THANK YOU!! By commenting out the last line I am up and running again! Awesome! 👍 👍👍

Code:
/Applications/MFC-Edit.app/Contents/MacOS/mfc-edit.sh -debug
-debug
DEBUG: mfcUserHome='/Users/torbjornnaslund/MFC-101'
DEBUG: Created Dir: /Users/torbjornnaslund/MFC-101/dumps
DEBUG: dumpDir.absPath='/Users/torbjornnaslund/MFC-101/dumps'
DEBUG: FileSep='/'
DEBUG: f.getName()='Mark I and II, FW 3.08 Stock Dump.syx'
DEBUG: Destination Path=/Users/torbjornnaslund/MFC-101/dumps/Mark I and II, FW 3.08 Stock Dump.syx
DEBUG: dumpDir.absPath='/Users/torbjornnaslund/MFC-101/dumps'
DEBUG: FileSep='/'
DEBUG: f.getName()='Mark III, FW 3.08 Stock Dump.syx'
DEBUG: Destination Path=/Users/torbjornnaslund/MFC-101/dumps/Mark III, FW 3.08 Stock Dump.syx
DEBUG: dumpDir.absPath='/Users/torbjornnaslund/MFC-101/dumps'
DEBUG: FileSep='/'
DEBUG: f.getName()='Mark I and II, FW 3.06 Stock Dump.syx'
DEBUG: Destination Path=/Users/torbjornnaslund/MFC-101/dumps/Mark I and II, FW 3.06 Stock Dump.syx
DEBUG: dumpDir.absPath='/Users/torbjornnaslund/MFC-101/dumps'
DEBUG: FileSep='/'
DEBUG: f.getName()='Mark III, FW 3.06 Stock Dump.syx'
DEBUG: Destination Path=/Users/torbjornnaslund/MFC-101/dumps/Mark III, FW 3.06 Stock Dump.syx
DEBUG: dumpDir.absPath='/Users/torbjornnaslund/MFC-101/dumps'
DEBUG: FileSep='/'
DEBUG: f.getName()='Mark I and II, FW 3.06 Stock Dump-TEST.syx'
DEBUG: Destination Path=/Users/torbjornnaslund/MFC-101/dumps/Mark I and II, FW 3.06 Stock Dump-TEST.syx
DEBUG: dumpDir.absPath='/Users/torbjornnaslund/MFC-101/dumps'
DEBUG: FileSep='/'
DEBUG: f.getName()='Mark III, FW 3.06 Stock Dump-OUT.syx'
DEBUG: Destination Path=/Users/torbjornnaslund/MFC-101/dumps/Mark III, FW 3.06 Stock Dump-OUT.syx
DEBUG: dumpDir.absPath='/Users/torbjornnaslund/MFC-101/dumps'
DEBUG: FileSep='/'
DEBUG: f.getName()='example-axe-fx-presets.txt'
DEBUG: Destination Path=/Users/torbjornnaslund/MFC-101/dumps/example-axe-fx-presets.txt
DEBUG: dumpDir.absPath='/Users/torbjornnaslund/MFC-101/dumps'
DEBUG: FileSep='/'
DEBUG: f.getName()='example.syx'
DEBUG: Destination Path=/Users/torbjornnaslund/MFC-101/dumps/example.syx
DEBUG: dumpDir.absPath='/Users/torbjornnaslund/MFC-101/dumps'
DEBUG: FileSep='/'
DEBUG: f.getName()='AxeFX preset names.txt'
DEBUG: Destination Path=/Users/torbjornnaslund/MFC-101/dumps/AxeFX preset names.txt
DEBUG: dumpDir.absPath='/Users/torbjornnaslund/MFC-101/dumps'
DEBUG: FileSep='/'
DEBUG: f.getName()='Mark II, FW 2.18.syx'
DEBUG: Destination Path=/Users/torbjornnaslund/MFC-101/dumps/Mark II, FW 2.18.syx
DEBUG: 07/19 5:13: Info: Mfc user Home : '/Users/torbjornnaslund/MFC-101'
DEBUG: 07/19 5:13: Info: [Ljava.lang.String;@6d763516
DEBUG: 07/19 5:13 [-debug]

Usage: -clear [ demo | license | delay | mfcuserhome | \
                mfchome | all | window_locations | initialize ]
       -mfcuserhome {pathname}    # Change mfcuserhome location
       -mfchome {pathname}    # Change home location of MFC-Edit program
       -prefs             # Launch with fresh Preferences
       -debug [0-5]        # Set the debug level
       -help | --help | -h    # Display this message

Java execution EXIT STATUS = 1
 
Please also enter this command into the Terminal window and send me the resulting output:
find /Library ~/Library /Users/torbjornnaslund -type f -name java -exec echo {} \; -exec {} -version \; 2>&1 | grep java

Thanks!
 
OK!
Code:
find /Library ~/Library /Users/torbjornnaslund -type f -name java -exec echo {} \; -exec {} -version \; 2>&1 | grep java
/Library/Internet-Plug-Ins/JavaAppletPlugin.plugin/Contents/Home/bin/java
java version "1.8.0_421"

Code:
/Applications/MFC-Edit.app/Contents/MacOS/mfc-edit.sh -debug 5
/Applications/MFC-Edit.app/Contents/MacOS/mfc-edit.sh: line 347: ${launch_log}: ambiguous redirect
-debug 5
DEBUG: +++++ MFC USER HOME=/Volumes/Media/Download/Fractal Audio/MFC101
DEBUG: tmpHome = null
DEBUG: JAVA VERS: 1.8.0_421
DEBUG: 07/19 7:07: Info: MFC-Edit Vers : 8.5, build #4,077
DEBUG: 07/19 7:07: Info: Operating Sys : Mac OS X, 14.5
DEBUG: 07/19 7:07: Info: Java Version  : Oracle Corporation,  1.8.0_421
DEBUG: 07/19 7:07: Info: Licensed to   : Torbjörn Näslund
DEBUG: 07/19 7:07: Info: Registration  : KZ3S-4DE/-fXU=
DEBUG: 07/19 7:07: Info: mfcHome=/Applications/MFC-Edit.app/Contents/Resources
DEBUG: 07/19 7:07: Info: mfcUserHome=/Volumes/Media/Download/Fractal Audio/MFC101
DEBUG: 07/19 7:07: Info: Debug Level   : 5
[Fatal Error] mfc-edit.xml:1:50: Blanktecken krävs mellan publicId och systemId.
org.xml.sax.SAXParseException; systemId: http://www.fractalaudio.com/rss/dfgherycgnmhju/MFC-Edit/mfc-edit.xml; lineNumber: 1; columnNumber: 50; Blanktecken krävs mellan publicId och systemId.
    at com.sun.org.apache.xerces.internal.parsers.DOMParser.parse(DOMParser.java:262)
    at com.sun.org.apache.xerces.internal.jaxp.DocumentBuilderImpl.parse(DocumentBuilderImpl.java:339)
    at javax.xml.parsers.DocumentBuilder.parse(DocumentBuilder.java:177)
    at mfc.edit.BackgroundUpdate.mkDomObj(BackgroundUpdate.java:184)
    at mfc.edit.BackgroundUpdate.fractalUpdateCheck(BackgroundUpdate.java:120)
    at mfc.edit.MiscFuncs.checkForUpdate(MiscFuncs.java:1447)
    at mfc.edit.MFC_Edit.<init>(MFC_Edit.java:391)
    at mfc.edit.MFC_Edit$236.run(MFC_Edit.java:8125)
    at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:311)
    at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:758)
    at java.awt.EventQueue.access$500(EventQueue.java:97)
    at java.awt.EventQueue$3.run(EventQueue.java:709)
    at java.awt.EventQueue$3.run(EventQueue.java:703)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:74)
    at java.awt.EventQueue.dispatchEvent(EventQueue.java:728)
    at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:205)
    at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116)
    at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105)
    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93)
    at java.awt.EventDispatchThread.run(EventDispatchThread.java:82)
DEBUG: MFC_Edit: getlastFileOpened() = _MFC101MKI_JORDI-5-glitch-2024-out-mk3.syx
DEBUG: importSyxMenuItemActionPerformed():
DEBUG: 07/19 7:07 Loading file: /Volumes/Media/Download/Fractal Audio/MFC101/dumps/_MFC101MKI_JORDI-5-glitch-2024-out-mk3.syx
DEBUG: Importing file: /Volumes/Media/Download/Fractal Audio/MFC101/dumps/_MFC101MKI_JORDI-5-glitch-2024-out-mk3.syx
DEBUG: Literal FW Vers: Maj=3,  Min=8
DEBUG: Firmware Message says Firmware is version 3.8
DEBUG: 07/19 7:07 Firmware ver  : 3.8,  Model: MK-III
DEBUG: Model=Mk III, FW-Maj=3, FW-Min=8, CONFIG_BASE_SIZE=115
DEBUG: Constants.IASWITCH_COUNT = 17
DEBUG: iaSwL[0][0] = 17
DEBUG: iaSwL[0][1] = 17
DEBUG: iaSwL[0][2] = 17
DEBUG: iaSwL[0][3] = 17
DEBUG: iaSwL[0][4] = 17
DEBUG: Constants.IASWITCH_COUNT = 17
DEBUG: iaSwL[1][0] = 17
DEBUG: iaSwL[1][1] = 17
DEBUG: iaSwL[1][2] = 17
DEBUG: iaSwL[1][3] = 17
DEBUG: iaSwL[1][4] = 17
DEBUG: 07/19 7:07: Info: SUCCESS - File /Volumes/Media/Download/Fractal Audio/MFC101/dumps/_MFC101MKI_JORDI-5-glitch-2024-out-mk3.syx loaded.
DEBUG: bankSizeCBActionPerformed(): FirstSW = 0,  bankSize = 0
DEBUG: ### ChangeListner count = 2
DEBUG: MFC_Edit - setting Last Dir -4: /Volumes/Media/Download/Fractal Audio/MFC101/dumps
DEBUG: Seeting Main Screen Location to: 2137:353
 
Thank you ebbot. So it looks like your MacOS machine is in Swedish. The mfc-edit.xml error isn't what's causing the problem.
Please try this command: /Applications/MFC-Edit.app/Contents/MacOS/mfc-edit.sh -clear windows_locations
Then you should see a message like "Java execution EXIT STATUS = 103"
After this message, try the command /Applications/MFC-Edit.app/Contents/MacOS/mfc-edit.sh -debug 5
Let me know if you prompted for updates or what messages or windows you see.
Thanks.
 
My lunch break is over so I have to go back to work. I'll take another look tonight, or if I get a few extra minutes during my work day.
 
OK!
Code:
/Applications/MFC-Edit.app/Contents/MacOS/mfc-edit.sh -clear windows_locations
/Applications/MFC-Edit.app/Contents/MacOS/mfc-edit.sh: line 347: ${launch_log}: ambiguous redirect
-clear windows_locations
Java execution EXIT STATUS = 103

When running the debug command, the app starts and works as intended. No updates or messages from the app, just the debug log in the terminal window:

Code:
/Applications/MFC-Edit.app/Contents/MacOS/mfc-edit.sh -debug 5
/Applications/MFC-Edit.app/Contents/MacOS/mfc-edit.sh: line 347: ${launch_log}: ambiguous redirect
-debug 5
DEBUG: +++++ MFC USER HOME=/Volumes/Media/Download/Fractal Audio/MFC101
DEBUG: tmpHome = null
DEBUG: JAVA VERS: 1.8.0_421
DEBUG: 07/19 9:07: Info: MFC-Edit Vers : 8.5, build #4,077
DEBUG: 07/19 9:07: Info: Operating Sys : Mac OS X, 14.5
DEBUG: 07/19 9:07: Info: Java Version  : Oracle Corporation,  1.8.0_421
DEBUG: 07/19 9:07: Info: Licensed to   : Torbjörn Näslund
DEBUG: 07/19 9:07: Info: Registration  : KZ3S-4DE/-fXU=
DEBUG: 07/19 9:07: Info: mfcHome=/Applications/MFC-Edit.app/Contents/Resources
DEBUG: 07/19 9:07: Info: mfcUserHome=/Volumes/Media/Download/Fractal Audio/MFC101
DEBUG: 07/19 9:07: Info: Debug Level   : 5
[Fatal Error] mfc-edit.xml:1:50: Blanktecken krävs mellan publicId och systemId.
org.xml.sax.SAXParseException; systemId: http://www.fractalaudio.com/rss/dfgherycgnmhju/MFC-Edit/mfc-edit.xml; lineNumber: 1; columnNumber: 50; Blanktecken krävs mellan publicId och systemId.
    at com.sun.org.apache.xerces.internal.parsers.DOMParser.parse(DOMParser.java:262)
    at com.sun.org.apache.xerces.internal.jaxp.DocumentBuilderImpl.parse(DocumentBuilderImpl.java:339)
    at javax.xml.parsers.DocumentBuilder.parse(DocumentBuilder.java:177)
    at mfc.edit.BackgroundUpdate.mkDomObj(BackgroundUpdate.java:184)
    at mfc.edit.BackgroundUpdate.fractalUpdateCheck(BackgroundUpdate.java:120)
    at mfc.edit.MiscFuncs.checkForUpdate(MiscFuncs.java:1447)
    at mfc.edit.MFC_Edit.<init>(MFC_Edit.java:391)
    at mfc.edit.MFC_Edit$236.run(MFC_Edit.java:8125)
    at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:311)
    at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:758)
    at java.awt.EventQueue.access$500(EventQueue.java:97)
    at java.awt.EventQueue$3.run(EventQueue.java:709)
    at java.awt.EventQueue$3.run(EventQueue.java:703)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:74)
    at java.awt.EventQueue.dispatchEvent(EventQueue.java:728)
    at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:205)
    at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116)
    at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105)
    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93)
    at java.awt.EventDispatchThread.run(EventDispatchThread.java:82)
DEBUG: MFC_Edit: getlastFileOpened() = _MFC101MKI_JORDI-5-glitch-2024-out-mk3.syx
DEBUG: importSyxMenuItemActionPerformed():
DEBUG: 07/19 9:07 Loading file: /Volumes/Media/Download/Fractal Audio/MFC101/dumps/_MFC101MKI_JORDI-5-glitch-2024-out-mk3.syx
DEBUG: Importing file: /Volumes/Media/Download/Fractal Audio/MFC101/dumps/_MFC101MKI_JORDI-5-glitch-2024-out-mk3.syx
DEBUG: Literal FW Vers: Maj=3,  Min=8
DEBUG: Firmware Message says Firmware is version 3.8
DEBUG: 07/19 9:07 Firmware ver  : 3.8,  Model: MK-III
DEBUG: Model=Mk III, FW-Maj=3, FW-Min=8, CONFIG_BASE_SIZE=115
DEBUG: Constants.IASWITCH_COUNT = 17
DEBUG: iaSwL[0][0] = 17
DEBUG: iaSwL[0][1] = 17
DEBUG: iaSwL[0][2] = 17
DEBUG: iaSwL[0][3] = 17
DEBUG: iaSwL[0][4] = 17
DEBUG: Constants.IASWITCH_COUNT = 17
DEBUG: iaSwL[1][0] = 17
DEBUG: iaSwL[1][1] = 17
DEBUG: iaSwL[1][2] = 17
DEBUG: iaSwL[1][3] = 17
DEBUG: iaSwL[1][4] = 17
DEBUG: 07/19 9:07: Info: SUCCESS - File /Volumes/Media/Download/Fractal Audio/MFC101/dumps/_MFC101MKI_JORDI-5-glitch-2024-out-mk3.syx loaded.
DEBUG: bankSizeCBActionPerformed(): FirstSW = 0,  bankSize = 0
DEBUG: ### ChangeListner count = 2
DEBUG: MFC_Edit - setting Last Dir -4: /Volumes/Media/Download/Fractal Audio/MFC101/dumps
DEBUG: JavaVersStr = 1.8,  Index=1
DEBUG:
startCol=0,  endCol=0
DEBUG: Seeting Main Screen Location to: 1843:360
 
Back
Top Bottom