Closed GoogleCodeExporter closed 9 years ago
Seems it's not just a51 infiltration that this happens in, pretty much anytime
an
explosion happens where the texture is largely exposed this segfault can happen.
Is any additional information needed? I have also tried this with newer builds
(currently at r677) and it still occurs (not surprising, as ricevideo doesn't
seem to
have been updated).
Original comment by sjone...@gmail.com
on 15 Jul 2008 at 8:26
I would like to take a look at this problem. Can you update to the head of the
trunk
and grab a savestate right before the crash happens, then post it here?
Original comment by richard...@gmail.com
on 15 Jul 2008 at 10:37
Thanks, Rich - not sure what you mean by "update to the head of the trunk", but
I can
grab a savestate later today and post it for you with instructions on how to
duplicate.
Original comment by sjone...@gmail.com
on 16 Jul 2008 at 5:33
I took a guess that you meant to update my SVN build, so I did that - attached
is the
savestate. To duplicate, just shoot the turret until it explodes while using
the
Ricevideo video plugin. Version running now is r783.
Original comment by sjone...@gmail.com
on 16 Jul 2008 at 7:24
Attachments:
Thanks for reporting this bug and posting the state file. I replicated the
crash and
ran it in gdb to find the source of the segfault. It turns out that the
CTextureManager::ClampT32() function in rice video is being called with a
negative
value or 0 for the uint32-typed 'height' parameter. I added a parameter check
to
this function and 3 others which could be affected by the same problem. I
tested
against the savestate and couldn't make it crash; the fix is committed in rev
788.
Original comment by richard...@gmail.com
on 19 Jul 2008 at 5:12
Thanks for the fix here - I do get a different crash now running the fixed code.
(gdb) bt
#0 0x00002aaaad369504 in CheckTextureInfos ()
from /home/jhenderson/Downloads/mupen64plus/trunk/plugins/ricevideo.so
#1 0x00002aaaad369797 in LoadHiresTexture ()
from /home/jhenderson/Downloads/mupen64plus/trunk/plugins/ricevideo.so
#2 0x00002aaaad37fd4e in PrepareTextures ()
from /home/jhenderson/Downloads/mupen64plus/trunk/plugins/ricevideo.so
#3 0x00002aaaad38122a in RSP_Tri4_PD ()
from /home/jhenderson/Downloads/mupen64plus/trunk/plugins/ricevideo.so
#4 0x00002aaaad37e489 in DLParser_Process ()
from /home/jhenderson/Downloads/mupen64plus/trunk/plugins/ricevideo.so
#5 0x00002aaaad35b0db in ProcessDListStep2 ()
from /home/jhenderson/Downloads/mupen64plus/trunk/plugins/ricevideo.so
#6 0x00002aaaac5c6bd8 in DoRspCycles ()
from /home/jhenderson/Downloads/mupen64plus/trunk/plugins/mupen64_hle_rsp_azimer.so
#7 0x00000000004557d7 in update_SP ()
#8 0x000000000046533f in SW ()
#9 0x0000000000482769 in JR ()
#10 0x000000000046814f in r4300_execute ()
#11 0x000000000041fed4 in ?? ()
#12 0x00002ac370be8020 in start_thread () from /lib64/libpthread.so.0
#13 0x00002ac373587f8d in clone () from /lib64/libc.so.6
#14 0x0000000000000000 in ?? ()
The crash reported in gdb is:
Program received signal SIGFPE, Arithmetic exception.
[Switching to Thread 0x41046950 (LWP 24368)]
0x00002aaaad369504 in CheckTextureInfos ()
from /home/jhenderson/Downloads/mupen64plus/trunk/plugins/ricevideo.so
Same state file does this. Does it make a difference that I'm running a build
for
64-bit systems?
Original comment by sjone...@gmail.com
on 19 Jul 2008 at 8:33
These are probably 64-bit specific crashes. So you're using hi-res textures
too?
Can you upload the pack here or give a link where to download the hi-res pack?
Original comment by richard...@gmail.com
on 19 Jul 2008 at 10:59
Ah, I have high res textures turned on "if available", but to my knowledge, I
didn't
actually install any high-res textures. Turning that option off in the
Ricevideo
plugin got rid of the second crash.
Thanks - a few other minor bugs exist running PD under mupen64plus, I'll submit
them
separately, though.
Original comment by sjone...@gmail.com
on 20 Jul 2008 at 2:55
Original issue reported on code.google.com by
sjone...@gmail.com
on 11 Jul 2008 at 10:23Attachments: