Segfault with newest download from HIB4.


#1

On 64bit openSuSE 11.3 I get a segfault when hitting the “deploy” button.

I made a new post because this doesn’t seem to be related to the segfault I was seeing on a 32bit system.


#2

Wow, 22M !! How much ram do you have on your computer? How much in your video card?

I’m going to check which texture is being allocated there that needs 22MB of ram. (BTW. that crash is IN your video card driver)


#3

Yup, the ATI driver has always been a flaky beast.

I’ve got 2Gb of ram in the machine. Not sure how much is on the card but I routinely run games, mostly ones I’ve written, that consume almost all of that ram. I don’t believe I’ve ever tried to allocate a texture 22M in size though. I think all of my textures stay under 10M and I don’t think I have many over 4M. Depending on how you’re allocating I know the version of OpenGL that shipped with this driver wouldn’t allocate a texture much over 16M. If I remember right the max size I could get out of it was 2048x2048.


#4

What resolution are you running the game at? (check your ~/.positech/GSB/prefs.ini ) And which scenario were you trying to deploy on when that happened?

From tracing through backtrace you gave me, it looks like it’s crashing when loading the backdrops… (see data/bitmaps/backdrops/) and those are all 2048x2048.


#5

The resolution was 1024x768 and windowed. The actual monitor resolution is only 1280x1024 though I am running two monitors. This was the first time I installed the game on this machine so it was just the tutorial scenario.


#6

Oh, so, when the game first started what resolution did it start at?? (I added a fix in the last build to not try and span BOTH monitors).

And since you are savvy with OpenGL this is the EXACT code being run there.

glTexImage2D(texID, 0, img->BytesPerPixel, img->w, img->h, 0, format, GL_UNSIGNED_BYTE, img->pixels);
BytesPerPixel would be 3 for the JPG that is being loaded, and format would be GL_RGB.


#7

When it first started it came up with 1024x768 but it did whack my second monitor. I had to restart X to get it back. Subsequent runs kept the resolution but I placed it in windowed mode so it didn’t damage X again. It had the same segfault in either case but I didn’t have gdb attached until I put it in windowed mode.


#8

I just had a chance to look at that and it seems like 22M would be a very large size image in this case. Where is it getting the width and height information? And is there any chance I can poke at those values with gdb and let you know what they are in my case?