I was hoping others might be able to give me some insight on this crash. I have made no changes to this script for some time and it has worked well on FileMaker go 17-18 but when run on FileMaker Go 19 it crashes 100% of the time. I was able to make a change to the scrip to get it to run but the change has me confused and a little concerned that I might be missing something important. I plan on posting this on the main Claris forums after I get some feedback.
Below I attached the full script as a PDF and some screen shots of the working code and the code that crashes. It is such a small change and in my mind a less efficient way of doing the same thing. The good news is I was able to get it to work so the customers are happy but I am still perplexed.
Edited with more information
When I did some more testing I had to disable the go to portal row for it to stop crashing. It is late so will work on this more in the morning and will update the post then.
Tested and confirmed on 3 different fully updated iPad pro's
Confirmed crash while connecting to server (server is running Server 18)
Confirmed crash while running offline
Other then iPad's development and users work in a windows environment
I might note that I am a little embarrassed to show people my whole script. I even cleaned it up a little bit including a lot of spelling errors. Not that this is important but I do find it interesting how nevus I am to let others see my work.
There is something afoot because the "Works without crashing" and the "Crashes" scripts are functionally identical. The "Crashes" script should be preferred because the "Go to Portal" line is identical.
Just as a note, you don't need the "Show all Records and Omit Records" script steps. Just perform the find.
Thanks for the responses. I might have posted all this a little too soon as I guess I am still finding things. I updated the original post last night with the comment out the go to portal row on line 142. I am confident that I did get it to work by just moving the go to portal inside the if statement but as I am not able to replicate it I am having doubts that I can get that one to work again. But I can for sure replicate it crashing with the go to portal run on the iPad and it dose not crash when I comment it out.
I have a few ideas for example my last tests were with a remote connection from FileMaker go and I will test that again and report back. But while that will be interesting why would be crash at all if I run line 142 got to portal row?
I did find that there is a log for the iPad but I also saw they recommend not posting it public so I felt it was best not to post it. I did look though the log but did not see anything that looked helpful.
@Markus
I like the pause idea for testing. I will try it and report back.
I also had a thought that it might be trying to go to a portal row that no longer exists? I will look closer to see if this could be what is happening. To be honest though I had a tough week and will likely not do the testing till Monday.
Just as a note, you don't need the "Show all Records and Omit Records" script steps. Just perform the find.
Kinda a side track so hope this will not derail the conversation too much. I added this part of the code because the script deletes records. I had one customer complain that a record had gone missing but I could see no reason for how. At that point I added the show all and omit all to guarantee that the only records that could possible be deleted is the found record. I also added in the extra check during the delete.
If others have recommendation in regards to this I would love to hear them. The good news is with the addition no customer has complained about records going missing.
The best thing for this [to be sure that you don't need show all/omit all] is to run test cases to prove what works and how it works. Create a new file and set up a series of scripts that perform finds and have known outcomes and have the scripts validate those outcomes. You want to handle all the cases, including a search that fails. It's satisfying and may get you into the habit of writing test units.
I made a test file replicating the crash. The only parts that I copied from source database was the script. I made some changes to the script but not many. The databases and layouts are completely new.
I made 2 scripts, one that works and another the crashes. The only difference is the go to portal row on line 130. Also like the original database it only crashes on FileMaker go 19 and works fine with both scrips on FileMaker go 18.
Posted on Claris Community to see what Claris has to say. I had forgotten how bad the forums were. Sure makes me appreciate fmsoup's forums ease of use.
I forgot to update on the results of trying a pause. I tried adding a pause and I also tried adding a show custom dialog showing what portal row it was trying to go to. Both still crashed after the pause. I made sure to try them one at a time and added them to line right before the go to portal row script step.
For completeness, I see Claris have confirmed they’ve replicated your problem and have suggested a 0.25 second pause (well done @Markus) as a work around, while the problem is investigated.
I tested a .25 second pause and it is working without crashing. I am confused though as I had tested it with a pause and it did not work before? I am trying to figure out what I did wrong with that test but I am not sure. I will report back if I have any issues with it going forward.
@EfficientBizz: Together with some drops of Leprechaun' blood..
That 'pause' is also in the new 'addons', for example in the settings. Take care of Your language settings - we need 0.5 seconds here while in other regions it needs to be 0,5 seconds (comma/point)
Back in the days of the first FMGo, after an update, every script crashed that had a custom dialog - and the only workaround was to add a pause... almost 10 years later, this is still a good workaround for something like an internal 'time-problem'