I have a file running on FMS 184.108.40.206 Linux on AWS EC2 t3a.xlarge as a development server. When I try to open the file in FMP 18 or 220.127.116.11 on Mac Intel or M1, the client crashes with this Application Specific Information:
Crashing on exception: -[NSApplication runModalForWindow:] may not be invoked inside of transaction begin/commit pair, or inside of transaction commit (usually this means it was invoked inside of a view's -drawRect: method.)
I loaded the file on an M1 Mac running FMS 18.104.22.168, and there it opens just fine. So this appears to be Linux-related.
The file is a website backend, and accessing the file via the DataAPI is working just fine.
Does anyone have any thoughts about what might be causing this error? And how to fix it?
Attached is the whole crash message.
website2.fmp12 Crash on 19 Server.txt.zip (37.6 KB)
this error is produced by an application running on a Mac. Before FMP crashes, is there any window displayed, for example the login Window ?
Googling for that I found:
[MacOS] NSApplication runModalForWindow may not be invoked inside of transaction · Issue #953 · MegaMek/mekhq · GitHub
Maybe this could be give a hint to someone who knows Mac application development.
By any chance, do you have FMS same version running on a Mac or Windows ?
I may have figured out the problem.
The tl;dr is ODBC is not set up on the Linux box and is probably causing the crash.
If you want to read how I figured it out…
To answer the last question, I did think that FMS 18 had some sanity issues, but 19 seems to be pretty ok.
But I did add the file to my M1 Macmini running FMS 19 - no crash on that system. Only on the Linux server.
When starting, I did see the correct layout open, and a flash of what looked like a dialog window which immediately disappeared, and then the crash window.
So, I took a step back and ran FMP 19 with the Script Debugger on and found that the crash occurred in the StartUp script when I tried to open a second file and run a script. So I was blaming the wrong file for the problem.
So I opened the second file manually with no other files open, and it crashed.
Opening with the Script Debugger and I see that it is throwing a dialog asking for a login to the MySQL server for some ESS connections. Note that on the M1 Macmini I didn’t get to this dialog because the second file was not found.
On the Linux box, without Script Debugger, if crashes after displaying (presumably) the ODBC login dialog, which I am not given a chance to enter.
So is there page telling how to install ODBC drivers for FileMaker on Ubuntu?
So thank you Gilles for starting me down the path to a possible solution. I’ll report back when I get ODBC drivers installed.
This error from runModalForWindow, is usually when code in one routine wants to show a dialog box while another routine is drawing a window.
As an aside, why do folks choose t3a over t3? From the benchmarks I've seen the t3 seems to do better. Thanks.