On 2/1/21 9:57 AM, Friedrich Romstedt wrote:
Hi, Am Di., 26. Jan. 2021 um 09:48 Uhr schrieb Friedrich Romstedt <[email protected]>:[...] The following Python code crashes:: image = <... Image production ...> ar = numpy.asarray(image) However, when I say:: image = <... Image production ...> print("---") ar = numpy.asarray(image) the entire program is executing properly with correct data in the numpy ndarray produced using the buffer interface. [...]Does anyone have an idea about this? By the way, I noticed that this mailing list turned pretty quiet, am I missing something? For completeness, the abovementioned "crash" shows up as just a premature exit of the program. There is no error message whatsoever. The buffer view producing function raises Exceptions properly when something goes wrong; also notice that this code completes without error when the ``print("---")`` statement is in action. So I presume the culprit lies somewhere on the C level. I can only guess that it might be some side-effect unknown to me. Best, Friedrich
It is very hard to help you from this description. It may be a refcount problem, it may be a buffer protocol problem, it may be something else. Typically, one would create a complete example and then pointing to the code (as repo or pastebin, not as an attachment to a mail here). A few things you might want to check:
- Make sure you give instructions how to build your project for Linux, since most of the people on this list do not use windows.
- There are tools out there to analyze refcount problems. Python has some built-in tools for switching allocation strategies.
- numpy.asarray has a number of strategies to convert instances, which one is it using?
Matti _______________________________________________ NumPy-Discussion mailing list [email protected] https://mail.python.org/mailman/listinfo/numpy-discussion
