Strange Crash on Exiting an SVGALIB program
I'm currently working on an embedded system that uses Linux. The embedded system uses a 486 chip, has 32 megs of memory, has 128 megs of solid-state storage and uses a 640x480 LCD screen. The device is using SYSLinux, I'm using Ubuntu and NetBeans as my development platform and C++ as my programming language.
My problem is this. SVGALIB seems to not like to run in 640x480 mode on this device. If I specify 640x480x16 colors, the graphics are stretched off the bottom as if SVGALIB thinks the screen is taller than it actually is.
If I specify 640x480x256 (the mode I would really like to use), everything is fine...until I exit my program, at which point SGVALIB registers a segmentation fault and my screen stops getting updates. The box is still running, I just can't see anything (graphics or text) on the screen. If I ssh into the box and rerun the graphical program, it pops back up successfully.
For the speed of my development cycle, I would like to be able to cleanly exit the software without having to reboot the embedded device. Has anyone seen anything like this and has any idea how I can quickly fix it?