Axoloti patcher crashes to desktop on invoking file dialog


#1

Build 1.0.12-0-g80370d2
OS: Windows 10 64bit
JRE 8u151 x64

After a fresh install of the patcher and runtime, also clearing the Axoloti folder in Documents, the patcher will immediately crash to desktop whenever I attempt to invoke a file dialog, eg Open/Save. This happens regardless of the board being connected or not. I can open patches from the Library menus, I can create and build patches but am unable to save or load them.


#2

Had some time to further investigate, only way I am able to have working file dialogues is to start the patcher directly from the axoloti-app.jar

Have checked with disabled AV but this doesn't seem to cause the issue. If anyone has an idea, please come forward. :slight_smile:


How is Axoloti.exe generated?
#3

I just experienced the same issue. Axoloti crashed when I tried to save the patch, which was sad :frowning:

Thanks hellcore for the workaround, opening the .jar file directly worked for me as well.

Is there anything tracking this issue?


#4

I looked into the issue a bit. It repros for me when I debug from NetBeans. I found there is an issue with JFileChooser on the latest version of Win10, when specifying to use Windows look and feel: https://bugs.openjdk.java.net/browse/JDK-8178873

I verified that adding the following code to the Axoloti patcher fixes the crash:
UIManager.setLookAndFeel(UIManager.getCrossPlatformLookAndFeelClassName())

I added the code to FileUtils.java, in GetFileChooser() (though there is probably a better place to add the code). It uses the cross platform look and feel instead of Windows, and when I debug from NetBeans, the crash disappears.

Now, what I don't understand is, why is there no crash when running axoloti from the JAR file?


Bad mouse response AND MOUSE FIX
#5

ok, i do not see this, works fine here.

also my version of 1.0.12 is different:

1.0.12-1-4-ge6639d8, build date: 01/04/2017 12:37:59 CEST

can you redownload the released version of 1.012, and check the release number.
( i cant remember if it was updated due to a build issue or not, a long time ago)

windows 10 64 bit - 10.0.16299
java 8 151

im pretty sure im on the latest (or at least very recent) versions of everything, so id recommend you check you are up to date too.

@bigpig we do not support using the openjdk, only the official (oracle) java, so bugs reported there may not be relevant.
(and i don't think we want to move to the cross platform L&F , imho - it looks dreadful :wink: )


#6

There is a pre-release Axoloti-1.0.12-1, but no Windows binary @ https://github.com/axoloti/axoloti/releases

The current "Latest Release" Axoloti-1.0.12 corresponds to the 1.0.12-0-g80370d2 I have installed and just reinstalled once more to check.

Still on Java 8 u151, also Windows 10 64bit v1709 build 16299.64


#7

ok, i must have built a version... probably so I could be on the same firmware version as the mac.

anyway, Ive just downloaded and reinstalled the release version and....
seems like we are on same windows version and java version

its now matches your versions, and still works perfectly ok :confused:


EDIT: just noticed this screenshot doesn't show its 64 bit, but it is, its 16299.64

hmm, not sure what to suggest... perhaps delete your Axoloti prefs file, just in case its referring to a directory that doesn't exist?


#8

Already tried that one.

Is your Windows machine running multiple displays? I ask because my other workstation, where all software versions listed match, has only a single display and has no problem with the file dialogue. This problematic one has 2, previously 3, I'm wondering if it is trying to draw the window off the display area.


#9

Only one display - Hmm, don’t think I have a cable for connecting another display to my win 10 laptop.
Can you try the one that’s causing you issues with one display.
(And check Axoloti.prefs doesn’t have any screen coordinates in it, does but worth checking)

Also let’s focus on a particular use case,
Simplest I think is : start Axoloti without board, use file open from console window. I’m assuming this crashes.
( this way we eliminate any patch specifics, or usb to Axoloti - which I assume are irrelevant to this issue)

I’ll also try Axoloti on my Mac with multiple displays see if it has an issue or not.


#10

Checked this, no luck, prefs file is clean of coordinates also. Not convinced this window position thing isn't a red herring though. :neutral_face:

This is how I've tested since I had the issue originally with saving a patch, though I did check once or twice from a patcher window, same effect.


#11

OK, I think this is the issue...

see : https://sebiik.github.io/community.axoloti.com.backup/t/patcher-crashes-when-using-dual-monitors/3666

unfortunately, I cant test/or debug... as I don't have the relevant adaptor for my win10 laptop to connect another display.
however, I did check with macOS, and a second display works fine on Mac - even if I forced Axoloti to open on the second display.

But given the above post, it sounds likes its a windows specific issue.

you might want to see if you can force Axoloti to use the primary display... see if that works.
also, I cant say Ive checked windows recently, but there used to be different options for seeing the display as one large (stretched display) vs multiple monitors, and I remember some old apps worked only with the former.
(but my experience, with that is quite dated :wink: )


#12

Not sure that is the same issue.

Having a nose around suggests there were a number of issues with Java application file choosers post Windows 10 Creator's update, similar to @bigpig 's OpenJDK issue, but also manifesting in Oracle's JVM.

http://bugs.java.com/bugdatabase/view_bug.do?bug_id=JDK-8179014

Supposedly that was fixed, I'm going to dig and check there are no prior JVM installs/paths lurking.


#13

yes, as that bug was reported as fixed in 141

also you should be able to determine from the process stack, or java trace options which version of java is running...
or just reinstall 151... that'll probably set the default anyway.

@hellcore, can you disconnect the second monitor, and see if Axoloti then works on that machine?
@bigpig, are you also using multiple monitors?


#14

This has not fixed my issue sadly.

Confirmed I'm running update 151 also. Hmm!


#15

hmm, perhaps multiple monitors isn't the issue then :frowning:

sorry, cant think where to look next, as its working here on both my win 10 laptop, and also on my mac (with a windows vm) ... i guess if you have 2 machines, one working, the other not, unfortunately you are probably be in the best position to work out the 'defining factor'


#16

EDIT: I now see you have provided your windows versions in above posts, and latest windows version is actually 1709, not 1703 as I stated

@thetechnobear @hellcore can you verify which versions of Windows 10 you are running? You can check by running the "winver" command from the command line. I have a suspicion that hitting this issue requires the latest public release, I am on version 1703 (OS Build 15063.726)

In a related thread @thetechnobear mentioned the Windows exe file is generated using JavaFX. I just checked the JavaFX documentation which states:

Each self-contained application package includes the following: [...] A private copy of the Java and JavaFX Runtimes, to be used by this application only

Perhaps the JavaFX-generated application includes an old version of the Java runtime?


#17

I just confirmed my suspicion - the self-contained Axoloti application includes an old version of the JRE - it is version 8 update 121, whereas the JRE installed on my system is update 151. (Verified by inspecting the properties of "C:\Program Files (x86)\Axoloti\runtime\bin\java.dll" and checking the version.) This explains why running Axoloti.exe results in the crash whereas running the .jar file directly does not.

As a workaround, you can replace the "C:\Program Files (x86)\Axoloti\runtime" folder manually with the latest JRE (caveat, actual paths may vary on your machine):

  1. Ensure latest Java runtime is installed on your machine
  2. Rename "C:\Program Files (x86)\Axoloti\runtime" to "C:\Program Files (x86)\Axoloti\runtime.backup"
  3. Copy the folder "C:\Program Files (x86)\Java\jre1.8.0_151" to "C:\Program Files (x86)\Axoloti\"
  4. Rename "C:\Program Files (x86)\Axoloti\jre1.8.0_151" to "C:\Program Files (x86)\Axoloti\runtime"

After following those steps I can run Axoloti and use file dialogs just fine.

@thetechnobear can we update the downloadable Windows version of Axoloti to include the most recent JRE?


Patcher crashed when i want to save a patch
#18

ah, i thought we disabled the bundling of the JRE, so we'd pick up the latest from the users ... obviously not :wink:

sorry, i don't release binaries, Johannes will do that... i suspect it will come with the next release, unless this becomes a critical issue.
(i believe javafx picks up the jre corresponding to the jdk used by the developer, so that will be the current one at time of release)


Bad mouse response AND MOUSE FIX