On Fri, Dec 8, 2017 at 5:28 AM, MRAB <pyt...@mrabarnett.plus.com> wrote: > On 2017-12-07 17:22, Chris Angelico wrote: >> >> On Fri, Dec 8, 2017 at 2:36 AM, Natalie Leung <natalieleung...@gmail.com> >> wrote: >>> >>> I am trying to use Python to communicate and send commands in MSC Marc. A >>> part of the code looks something like this: >>> >>> from py_mentat import* >>> >>> directory = '[specified the file path to my model]' >>> marcModel = '[name of my model]' >>> >>> py_echo(0) >>> openModel = '*new_model yes *open_model "'+ directory + marcModel +'"' >>> py_send(openModel) >>> >>> >>> The code stops at "py_send(openModel)" with an error message that reads: >>> Traceback (most recent call last): File "[my file path]", line 11, in >>> py_send(openModel) >>> SystemError: error return without exception set >>> >>> I tried running the code on different platforms (e.g. Command Prompt, >>> Wing 101, python.exe) and I get the same result. What could be the problem? >> >> >> In its purest sense, that error is a bug inside a Python extension >> module (as others have mentioned). Since the failure is basically >> "hey, you said you raised an exception, but I can't find the exception >> you thought you were raising", it's quite probable that there is a bug >> in your Python code; go back to the tutorial for Marc, and see if you >> can find an issue. Unfortunately you're flying blind here, but maybe >> you can figure something out even without the usual help of the error >> message. >> >> But regardless, the bug first and foremost is in the extension module. >> The module's creator should be able to audit the py_send function to >> figure out where it is returning NULL without calling one of the >> "raise exception" functions. >> > It's probably that the code is assuming that call somewhere to the Python > API is returning a reference, but sometimes it isn't. > > _All_ such return values should be checked for NULL.
Mmm.... true. Forgot about that part. So, yes, that's a different type of failure that could be happening. Makes the audit a bit harder. ChrisA -- https://mail.python.org/mailman/listinfo/python-list