Unstable scriptI have a script that isn't doing what I want it to do. so I add a trivial diagnostic to help trace what is going on:
show("here");
But when I do this it causes JMP to crash.
I just wonder if anyone else has come across this type of problem.
I know it's not much to go on!
Re: Unstable scriptNope. Just ran it alone and it doesn't happen to me. In regular code, I don't often show() for non-variables, I usually print().
Re: Unstable scriptIs this behavior reproducible? What happens after JMP crashes and you re-start it?
Re: Unstable scriptDave,
I am not having any issue with this, running under Windows 10, with JMP Pro 14.3Re: Unstable scriptSome updates:
- This problem is occurring on MacOS. It works fine on Windows. I was running 14.2 and have upgraded to 14.3 and the problem still occurs.
- The problem is repeatable, although I think I would struggle to create a simple sample script that exhibits the same behaviour.
- The only reason I have a "show" is because the real code was causing a crash and I using show statements to trace execution. But even with the most trivial code I could think of - just the "show" - the problem still occurred. BUT - if I replace "show" with "print" then the crash doesn't occur! So that is progress!
Re: Unstable script
Re: Unstable scriptAs I said, "print" is working, but it was really just a place holder for some other code that was causing a crash.
I've done some more testing. This is starting to feel like Schrodingers cat.
I have restored the original code.
If I restart JMP and run the script it fails. If I restart JMP and open the script - look at it, to remind myself what it looks like - then close the script and run it, it works.
Re: Unstable scriptIf it crashed, it is a bug in JMP. If you get some sort of crash file, that might help us figure it out.
Just guessing, I imagine there are display boxes and closed reports involved, and somehow there is a JSL variable that is pointing to a display box that is deleted. Depending what has happened to that memory since it was deleted, bad things may happen. Or maybe nothing. Writing to the log, with show or print, is likely to trigger some display box clean up, and possibly the crash.
We put a lot of work into JMP 15 to handle display boxes in a more state-of-the-art way; you might get a better diagnostic out of an early adopter JMP 15.
Re: Unstable scriptYou're spot on Craige.
I went through a tedious process of regenerating the code, block by block, restarting JMP each time. The cause of the error was a display box that I was deleting. The display box was the legend to a bubble plot - I wanted to put it into a VListBox so that I could align it with some additional information - so I created a clone, deleted it and then appended it as part of a VListBox. The bubble plot was also within a container and at the time hadn't been attached to a window so wasn't rendered. My first workaround was to delete it after rendering and that was fine - but flickery. I then decided I could get rid of it by sending a message to the bubble plot and that was working fine.