Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

IssueRefSuggestionExpected to be resolved

 

Creating a new voxel using the gxapi.GXVOX API will result in an assertion when your program closes releases its GX context. The voxel file is created correctly and the assertion is only triggered on loss of the GX context, but unfortunately this will kill your program at the point the GX context is released.

This only affects stand-alone programs that create a Geosoft context, AND create a GXVOX instance AND prematurely close or release the context before the program ends.

#54Once a Geosoft context is created, keep a reference to the context through the life of your program. This is most easily accomplished by assigning the context to a global variable or reference.Platform 9.3.1

 

PyCharm users (and possibly other IDE users), if a gxapi function is called that results in an assertion inside Geosoft, the assertion will be lost when running tests.  You may see "Process finished with exit code 95867", or some other behaviour in which the process stops and provides no information. If a script that triggers an assertion is run outside of a test scenario you will see an assertion dialog and an assertion log file will be created.

Triggering an assertion is most likely caused by using the API incorrectly, either by doing things out of sequence

,

or by passing invalid parameters. The purpose of an assertion is to detect an assumed impossible situation and provide us with the information we need to find and fix the now proven possible. Geosoft code and tests do not trigger such assertions because if they did we would have fixed them. But writing new code and using the API in new ways can reveal problems we have not seen and thus trigger as assertion. We usually only need the abort.log file to figure out what went wrong, and we and all your fellow users are thankful if you can send us the file. We do our best to fix any reported assertions in the next monthly maintenance release.

#55Execute your code outside of a test to trigger the assertion, which will create a abort log file. Report the abort to Geosoft so we can fix it in a future platform release and use the log information to debug your script. There is most likely something wrong with the way the script is calling the API.Platform
9.4

...