[visionegg] Re: New User, Seg Fault

  • From: Andrew Straw <andrew.straw@xxxxxxxxxxxxxxx>
  • To: visionegg@xxxxxxxxxxxxx
  • Date: Thu, 18 Sep 2003 10:46:55 +0930

Dear Asif,

Pygame Parachute Traceback:
  File "C:\Python22\Lib\site-packages\VisionEgg\PlatformDependent.py",
line 192, in sync_swap_with_vbl_post_gl_init
Fatal Python error: (pygame parachute) Segmentation Fault

The problem seems to occur when trying to synchronize buffer swaps with
vertical sync. To get the demos running, turn off this feature in the
GUI console. (The Windows Display settings control panel may allow you
to set this feature anyway.)

I turned off the option to synchronize buffer swaps. This had no noticeable effect.

Darn -- this means the error message above has little correlation to the error and will make it difficult to track down. Something is crashing at the C level (not in the Python interpreter, where we'd get a nice error message). Perhaps a required library started a thread which crashes, bringing down the whole app. Just to check, did you install the exact versions of the libraries as listed on the VE Windows install page?


My immediate, unfounded suspicion falls on Tkinter (the GUI environment). Try turning it off by inserting the following into the beginning of the demo script (before the create_default_screen() call):

import VisionEgg
VisionEgg.config.VISIONEGG_GUI_INIT=0

It could be a PyOpenGL problem. Try running a few demos in c:\Python22\Lib\site-packages\OpenGL/Demo. Also, try running c:\Python22\Lib\site-packages\VisionEgg\test\opengl_info.py from the command line so you can see the results. Also, the conform.py test in there turns off Tkinter and tests lots of things, so it's worth a test.)

It could be a pygame/SDL problem. Try the flames_pygame.py demo (in the standard VE demos), which uses pygame but not OpenGL.

Please let us know what you find!

problem to me. Perhaps you can update your OpenGL drivers? (It looks
like this in the onboard video of an Intel 845 mainboard? Perhaps you
need to update your mainboard drivers?) If you can isolate any further,
we can submit a question or bug report to the PyOpenGL team.

Yes, I have the Intel 82845G, and I just updated the driver from Intel's
website. Still no effect. =(

Yes, with this new information I wouldn't have expected it to help.


Hmm, looking at the output of check-config.py again, it has listed:

VISIONEGG_USER_DIR = H:\VisionEgg

which doesn't exist; everything has been installed to the C:
directory.  Might this have something to do with the problem?  If so,
how do I change this?

That's strange... That means that os.path.expanduser("~") returns
"H:". If what you say is true, this sounds a bug in that Python
function, which is possible but unlikely. Is there an H: drive at all?

Well the H: drive does exist. It is a networked drive that is pretty much
my "default" drive, insofar as when I open the command prompt, it puts me
in H:\>. However, I installed everything python- and visionegg-related to
the local disk (C:).
Again, I'm not sure if this is a problem, becuase check-config does find
the other directories properly (ie. config file, visionegg module,
system_dir).

You're right -- this is not the problem. Also, now that I know this is your "default" drive, I think it can safely be said that this is the desired behavior for os.path.expanduser('~'). A bit of history on this: it is often useful for Vision Egg to be able to write configuration files. Operating systems other than Windows don't let apps just write files into system directories (and there must be some way to get Windows to act this way, too), so the challenge was to find a (cross-platform) way of allowing non-privileged users to save files. I don't know what the Windows standard for this is (if it exists), but I thought the above method was probably best -- rely on Python to do the Right Thing. So, it's actually comforting that this is your default drive. The question is whether you, as the user, feel this is the right place for the Vision Egg to save user-specific configuration files. (And also whether other Windows users would agree with you.)


Cheers!
Andrew

Other related posts: