Hi Zack,
I'm not sure myself the DirectX problem is related to the py2app/py2exe
crashes. It's just that after running the surfarray units tests several
times DirectX became corrupted. I suspect that has to do more with the
nature of the unit tests, which makes repeated pygame.init()/quit()
calls, than with _numpysurfarray.py. As for your segfaults, it could
just be that the memory is corrupted by something else in Pygame, and
that the bufferproxy object is the place in memory where the corruption
just happened to take place. These sorts of things are very sensitive to
the execution environment. It is not surprising that a Python program
crashes when wrapped by py2app/py2exe but not when run from the console.
In the latter case the invalid memory accesses don't stray outside the
valid data areas. So that I am sure, the simple example given in the
original post does cause the segfault?
Lenard
Zack Schilling wrote:
My crashes are on both Windows and Mac OS X, actually. Segfaults on
both, I've isolated them to the surfarray module's get buffer function
(or some other function it calls). I've run a series of tests and I
think I can confirm it's not a platform-specific or Numpy issue. I
don't know how it relates to this flurry of posts but that's what's
happening. : )
-Zack
On Feb 3, 2009, at 7:45 PM, René Dudfield wrote:
ah, good point.
I think that is absolutely a problem...
I'm getting crashes on ubuntu with the sndarray tests... also with
regard to the person getting crashes on macosx with his app that uses
surfarray.
So definitely something fishy going on there.
On Wed, Feb 4, 2009 at 11:40 AM, Lenard Lindstrom <[email protected]>
wrote:
Yes, I will do that. And this first showed up only recently, once
before. It
was after I added repeated pygame.init()/quit() calls to
surfarray_test.py.
I suspect there is a connection.
Lenard
René Dudfield wrote:
hi,
I'd recommend setting up an environment variable to make windib the
default for you whilst you debug this issue.
My guess is that memory is getting overwritten somewhere causing the
crash.
cu,
On Wed, Feb 4, 2009 at 11:20 AM, Lenard Lindstrom <[email protected]>
wrote:
Yes, I agree it's likely buggy code. But are the problems in SDL or
Pygame?
Possibly both. I am guessing that any DirectX related SDL bugs are a
write-off. The developers have no intentions of fixing them. Of
course we
should continue cleaning up Pygame. The init function looks
problematic.
Let's hope that helps.
Lenard
René Dudfield wrote:
hey,
sure, windows sometimes corrupts itself. Nothing new there.
Especially if the code you are working on passes in incorrect
values,
and is overwriting memory it shouldn't.
It is easy to crash many machines with a few well crafted opengl,
directx (or other video API) calls.
If using non-buggy code, that doesn't do buffer overwrites and
such I
think you wouldn't have as many problems with directx.
cheers,
On Wed, Feb 4, 2009 at 10:34 AM, Lenard Lindstrom <[email protected]>
wrote:
I just had personal confirmation that SDL, maybe with the help of
Pygame,
does have DirectX issues. After repeated runs of
surfarray_test.py and
related programs my antiquated system... reached the point that a
simple
pygame.init() call would segfault.
--
Lenard Lindstrom
<[email protected]>