benmbrennan / mupen64plus

Automatically exported from code.google.com/p/mupen64plus
0 stars 0 forks source link

super smash hd causes crashes #209

Closed GoogleCodeExporter closed 9 years ago

GoogleCodeExporter commented 9 years ago
Describe your system:
 - Linux distribution: Mac OS X
 - Machine type: (32-bit or 64-bit) probably 32 bit
 - Mupen64Plus version: Version
1.4-branches/r1142-rice-video-gtk-refactor-r1334 (but it happens on normal
version too)
 - Plugins used: rice video

For visual artifacts, give:
- game name and CRC/MD5 hash (printed on console)
- description of the artifact (missing polygons, flashing, wrong colors, etc)

Describe the problem:

Warning: Could not find screenshot dir: /Users/Tom/.mupen64plus/screenshots/
Config Dir:  /Users/Tom/.mupen64plus/
Install Dir: /Users/Tom/m64plusfix/trunk/
Plugin Dir:  /Users/Tom/m64plusfix/trunk/plugins/

Compression: Uncompressed
Imagetype: .z64 (native)
Rom size: 16777216 bytes (or 16 Mb or 128 Megabits)
MD5: F7C52568A31AADF26E14DC2B6416B2ED
80 37 12 40
ClockRate = f
Version: 1449
CRC: 916b8b5b 780b85a4
Name: SMASH BROTHERS
Manufacturer: Nintendo
Cartridge_ID: 4c41
Country: USA
PC = 80100400
EEPROM type: 0
init timer!
memory initialized

(process:2440): GLib-GObject-CRITICAL **: gtype.c:2458: initialization
assertion failed, use g_type_init() prior to this function

(process:2440): GLib-CRITICAL **: g_once_init_leave: assertion
`initialization_value != 0' failed

(process:2440): Gtk-CRITICAL **: gtk_icon_theme_get_for_screen: assertion
`GDK_IS_SCREEN (screen)' failed

(process:2440): GLib-GObject-WARNING **: invalid (NULL) pointer instance

(process:2440): GLib-GObject-CRITICAL **: g_signal_connect_data: assertion
`G_TYPE_CHECK_INSTANCE (instance)' failed
[blight's SDL input plugin]: version 0.0.10 initialized.
[RiceVideo] Found ROM 'SMASH BROTHERS', CRC 5b8b6b91a4850b78-45
InitExternalTextures
Texture loading option is enabled.
Finding all hires textures.
RGB and alpha texture size mismatch:
/Users/Tom/.mupen64plus/hires_texture/SMASH BROTHERS/Ingame/FX/SMASH
BROTHERS#F190CD99#3#1_a.pngInitializing OpenGL Device Context
(II) Initializing SDL video subsystem...
(II) Getting video info...
(II) Color buffer depth: 32
(II) Setting video mode 1152x864...
ATI Technologies Inc. - ATI Radeon HD 2600 PRO OpenGL Engine : 2.0 ATI-1.5.36
[RiceVideo] OpenGL Combiner: Fragment Program

(process:2440): GLib-GObject-CRITICAL **: gtype.c:2458: initialization
assertion failed, use g_type_init() prior to this function

(process:2440): GLib-CRITICAL **: g_once_init_leave: assertion
`initialization_value != 0' failed

(process:2440): GLib-GObject-CRITICAL **: gtype.c:2458: initialization
assertion failed, use g_type_init() prior to this function

(process:2440): GLib-GObject-CRITICAL **: gtype.c:2458: initialization
assertion failed, use g_type_init() prior to this function

(process:2440): GLib-GObject-CRITICAL **: gtype.c:2458: initialization
assertion failed, use g_type_init() prior to this function

(process:2440): GLib-GObject-CRITICAL **: g_type_add_interface_static:
assertion `G_TYPE_IS_INSTANTIATABLE (instance_type)' failed

(process:2440): GLib-GObject-CRITICAL **: gtype.c:2458: initialization
assertion failed, use g_type_init() prior to this function

(process:2440): GLib-GObject-CRITICAL **: g_type_add_interface_static:
assertion `G_TYPE_IS_INSTANTIATABLE (instance_type)' failed
[JttL's SDL Audio plugin] version
1.4-branches/r1142-rice-video-gtk-refactor/jttl_audio-r1334  initalizing.
[JttL's SDL Audio plugin] Initializing SDL audio subsystem...
[JttL's SDL Audio plugin] Allocating memory for audio buffer: 65536 bytes.
/dev/mixer: : No such file or directory
Starting r4300 emulator
R4300 Core mode: Dynamic Recompiler
/dev/mixer: : No such file or directory
/dev/mixer: : No such file or directory
Warning: Non-integral hi-res texture scale.  Orig = (16,32)  Hi-res = (64,64)
Textures may look incorrect
Warning: Non-integral hi-res texture scale.  Orig = (32,32)  Hi-res = (32,64)
Textures may look incorrect
mupen64plus(2440,0xa020e720) malloc: *** error for object 0x2b1c200:
incorrect checksum for freed object - object was probably modified after
being freed.
*** set a breakpoint in malloc_error_break to debug
mupen64plus(2440,0xa020e720) malloc: *** error for object 0x2b1c200:
incorrect checksum for freed object - object was probably modified after
being freed.
*** set a breakpoint in malloc_error_break to debug
mupen64plus(2440,0xa020e720) malloc: *** error for object 0x2b1c200:
incorrect checksum for freed object - object was probably modified after
being freed.
*** set a breakpoint in malloc_error_break to debug
mupen64plus(2440,0xa020e720) malloc: *** error for object 0x2b1c200:
incorrect checksum for freed object - object was probably modified after
being freed.
*** set a breakpoint in malloc_error_break to debug
mupen64plus(2440,0xa020e720) malloc: *** error for object 0x3d3bb40:
incorrect checksum for freed object - object was probably modified after
being freed.
*** set a breakpoint in malloc_error_break to debug
mupen64plus(2440,0xa020e720) malloc: *** error for object 0x3d3bb40:
incorrect checksum for freed object - object was probably modified after
being freed.
*** set a breakpoint in malloc_error_break to debug
mupen64plus(2440,0xa020e720) malloc: *** error for object 0x3d3bb40:
incorrect checksum for freed object - object was probably modified after
being freed.
*** set a breakpoint in malloc_error_break to debug
mupen64plus(2440,0xa020e720) malloc: *** error for object 0x3d3bb40:
incorrect checksum for freed object - object was probably modified after
being freed.
*** set a breakpoint in malloc_error_break to debug
mupen64plus(2440,0xa020e720) malloc: *** error for object 0x3d3bb40:
incorrect checksum for freed object - object was probably modified after
being freed.
*** set a breakpoint in malloc_error_break to debug
mupen64plus(2440,0xa020e720) malloc: *** error for object 0x3d3bb40:
incorrect checksum for freed object - object was probably modified after
being freed.
*** set a breakpoint in malloc_error_break to debug
mupen64plus(2440,0xa020e720) malloc: *** error for object 0x3d3bb40:
incorrect checksum for freed object - object was probably modified after
being freed.
*** set a breakpoint in malloc_error_break to debug
mupen64plus(2440,0xa020e720) malloc: *** error for object 0x3d3bb40:
incorrect checksum for freed object - object was probably modified after
being freed.
*** set a breakpoint in malloc_error_break to debug
mupen64plus(2440,0xa020e720) malloc: *** error for object 0x3d3bb40:
incorrect checksum for freed object - object was probably modified after
being freed.
*** set a breakpoint in malloc_error_break to debug
mupen64plus(2440,0xa020e720) malloc: *** error for object 0x3d3bb40:
incorrect checksum for freed object - object was probably modified after
being freed.
*** set a breakpoint in malloc_error_break to debug
mupen64plus(2440,0xa020e720) malloc: *** error for object 0x3d3bb40:
incorrect checksum for freed object - object was probably modified after
being freed.
*** set a breakpoint in malloc_error_break to debug
mupen64plus(2440,0xa020e720) malloc: *** error for object 0x3d3bb40:
incorrect checksum for freed object - object was probably modified after
being freed.
*** set a breakpoint in malloc_error_break to debug
mupen64plus(2440,0xa020e720) malloc: *** error for object 0x3d3bb40:
incorrect checksum for freed object - object was probably modified after
being freed.
*** set a breakpoint in malloc_error_break to debug
mupen64plus(2440,0xa020e720) malloc: *** error for object 0x3d3bb40:
incorrect checksum for freed object - object was probably modified after
being freed.
*** set a breakpoint in malloc_error_break to debug
mupen64plus(2440,0xa020e720) malloc: *** error for object 0x3d3bb40:
incorrect checksum for freed object - object was probably modified after
being freed.
*** set a breakpoint in malloc_error_break to debug
mupen64plus(2440,0xa020e720) malloc: *** error for object 0x3d3bb40:
incorrect checksum for freed object - object was probably modified after
being freed.
*** set a breakpoint in malloc_error_break to debug
mupen64plus(2440,0xa020e720) malloc: *** error for object 0x3d3bb40:
incorrect checksum for freed object - object was probably modified after
being freed.
*** set a breakpoint in malloc_error_break to debug
mupen64plus(2440,0xa020e720) malloc: *** error for object 0x3d3bb40:
incorrect checksum for freed object - object was probably modified after
being freed.
*** set a breakpoint in malloc_error_break to debug
mupen64plus(2440,0xa020e720) malloc: *** error for object 0x3d3bb40:
incorrect checksum for freed object - object was probably modified after
being freed.
*** set a breakpoint in malloc_error_break to debug
mupen64plus(2440,0xa020e720) malloc: *** error for object 0x3d3bb40:
incorrect checksum for freed object - object was probably modified after
being freed.
*** set a breakpoint in malloc_error_break to debug
mupen64plus(2440,0xa020e720) malloc: *** error for object 0x3d3bb40:
incorrect checksum for freed object - object was probably modified after
being freed.
*** set a breakpoint in malloc_error_break to debug
mupen64plus(2440,0xa020e720) malloc: *** error for object 0x3d3bb40:
incorrect checksum for freed object - object was probably modified after
being freed.
*** set a breakpoint in malloc_error_break to debug
mupen64plus(2440,0xa020e720) malloc: *** error for object 0x3d3bb40:
incorrect checksum for freed object - object was probably modified after
being freed.
*** set a breakpoint in malloc_error_break to debug
mupen64plus(2440,0xa020e720) malloc: *** error for object 0x3d3bb40:
incorrect checksum for freed object - object was probably modified after
being freed.
*** set a breakpoint in malloc_error_break to debug
mupen64plus(2440,0xa020e720) malloc: *** error for object 0x3d3bb40:
incorrect checksum for freed object - object was probably modified after
being freed.
*** set a breakpoint in malloc_error_break to debug
mupen64plus(2440,0xa020e720) malloc: *** error for object 0x3d3bb40:
incorrect checksum for freed object - object was probably modified after
being freed.
*** set a breakpoint in malloc_error_break to debug
mupen64plus(2440,0xa020e720) malloc: *** error for object 0x3d3bb40:
incorrect checksum for freed object - object was probably modified after
being freed.
*** set a breakpoint in malloc_error_break to debug
mupen64plus(2440,0xa020e720) malloc: *** error for object 0x3d3bb40:
incorrect checksum for freed object - object was probably modified after
being freed.
*** set a breakpoint in malloc_error_break to debug
mupen64plus(2440,0xa020e720) malloc: *** error for object 0x3d3bb40:
incorrect checksum for freed object - object was probably modified after
being freed.
*** set a breakpoint in malloc_error_break to debug
mupen64plus(2440,0xa020e720) malloc: *** error for object 0x3d3bb40:
incorrect checksum for freed object - object was probably modified after
being freed.
*** set a breakpoint in malloc_error_break to debug
mupen64plus(2440,0xa020e720) malloc: *** error for object 0x3d3bb40:
incorrect checksum for freed object - object was probably modified after
being freed.
*** set a breakpoint in malloc_error_break to debug
Warning: Non-integral hi-res texture scale.  Orig = (64,64)  Hi-res = (64,128)
Textures may look incorrect
mupen64plus(2440,0xa020e720) malloc: *** error for object 0x3d3bb40:
incorrect checksum for freed object - object was probably modified after
being freed.
*** set a breakpoint in malloc_error_break to debug
mupen64plus(2440,0xa020e720) malloc: *** error for object 0x3d3bb40:
incorrect checksum for freed object - object was probably modified after
being freed.
*** set a breakpoint in malloc_error_break to debug
mupen64plus(2440,0xa020e720) malloc: *** error for object 0x3d3bb40:
incorrect checksum for freed object - object was probably modified after
being freed.
*** set a breakpoint in malloc_error_break to debug
mupen64plus(2440,0xa020e720) malloc: *** error for object 0x3d3bb40:
incorrect checksum for freed object - object was probably modified after
being freed.
*** set a breakpoint in malloc_error_break to debug
mupen64plus(2440,0xa020e720) malloc: *** error for object 0x3d3bb40:
incorrect checksum for freed object - object was probably modified after
being freed.
*** set a breakpoint in malloc_error_break to debug
mupen64plus(2440,0xa020e720) malloc: *** error for object 0x3d3bb40:
incorrect checksum for freed object - object was probably modified after
being freed.
*** set a breakpoint in malloc_error_break to debug
mupen64plus(2440,0xa020e720) malloc: *** error for object 0x3d3bb40:
incorrect checksum for freed object - object was probably modified after
being freed.
*** set a breakpoint in malloc_error_break to debug
mupen64plus(2440,0xa020e720) malloc: *** error for object 0x3d3bb40:
incorrect checksum for freed object - object was probably modified after
being freed.
*** set a breakpoint in malloc_error_break to debug
mupen64plus(2440,0xa020e720) malloc: *** error for object 0x3d3bb40:
incorrect checksum for freed object - object was probably modified after
being freed.
*** set a breakpoint in malloc_error_break to debug
Bus error

Please provide any additional information below.
here's the link to the texture pack: http://emutalk.net/showthread.php?t=44911

Please provide any additional information below.

Original issue reported on code.google.com by darkmags...@gmail.com on 20 Feb 2009 at 11:18

GoogleCodeExporter commented 9 years ago
I can see following: "libpng error: Invalid image width" right before the 
crash."
When trying to load all images from that pack. So it seems that there is a 
broken(?)
png included

Program received signal SIGSEGV, Segmentation fault.
_IO_new_fclose (fp=<value optimized out>) at iofclose.c:57
57      iofclose.c: No such file or directory.
        in iofclose.c
(gdb) bt
#0  _IO_new_fclose (fp=<value optimized out>) at iofclose.c:57
#1  0x00007ffff742c236 in ReadPNG (filename=0x7fffffff36b0
"/home/xxx/.local/share/mupen64plus/hires_texture/SMASH BROTHERS/Text/Go!/SMASH
BROTHERS#5C1181A2#0#3_all.png", img=0x7fffffff2590)
    at liblinux/pngrw.c:144
#2  0x00007ffff73b0546 in GetImageInfoFromFile (pSrcFile=0x7fffffff36b0
"/home/xxx/.local/share/mupen64plus/hires_texture/SMASH BROTHERS/Text/Go!/SMASH
BROTHERS#5C1181A2#0#3_all.png",
    pSrcInfo=0x7fffffff47f0) at TextureFilters.cpp:963
#3  0x00007ffff73b2571 in FindAllTexturesFromFolder (foldername=0x7fffffff5940
"/home/xxx/.local/share/mupen64plus/hires_texture/SMASH BROTHERS/Text/Go!/",
infos=..., extraCheck=true, bRecursive=true)
    at TextureFilters.cpp:1115
#4  0x00007ffff73b1f38 in FindAllTexturesFromFolder (foldername=0x7fffffff7bd0
"/home/xxx/.local/share/mupen64plus/hires_texture/SMASH BROTHERS/Text/", 
infos=...,
extraCheck=false, bRecursive=true)
    at TextureFilters.cpp:1029
#5  0x00007ffff73b1f38 in FindAllTexturesFromFolder (foldername=0x7fffffff8da0
"/home/xxx/.local/share/mupen64plus/hires_texture/SMASH BROTHERS/", infos=...,
extraCheck=false, bRecursive=true)
    at TextureFilters.cpp:1029
#6  0x00007ffff73b287c in FindAllHiResTextures () at TextureFilters.cpp:1297
#7  0x00007ffff73b2b6a in InitExternalTextures () at TextureFilters.cpp:1352
#8  0x00007ffff73a4c8d in StartVideo () at Video.cpp:299
#9  0x0000000000427c18 in emulationThread (_arg=<value optimized out>) at 
main/main.c:881
#10 0x0000000000429709 in main (argc=3, argv=0x7fffffffe028) at main/main.c:1616

Original comment by sven@narfation.org on 21 Sep 2009 at 3:43

GoogleCodeExporter commented 9 years ago
It is a reorder problem due to the fact that the order of execution of the
initialisation is not given. The libpng and setjump/longjmp documentation states
clearly that the state of each variable must not be known after a longjump. I 
will
upload a patch for that later, but check for another problem before that. I 
will also
try to fix that problem for the bmp reader

Original comment by sven@narfation.org on 21 Sep 2009 at 5:56

GoogleCodeExporter commented 9 years ago
Fix can be found at
http://git.debian.org/?p=collab-maint/mupen64plus.git;a=tree;f=debian/patches;hb
=master

It should also fix the read of png on amd64 doesn't work at all. Please test 
patch on
top of current svn as their are other highres related bug fixes included.

Original comment by sven@narfation.org on 21 Sep 2009 at 7:34

Attachments:

GoogleCodeExporter commented 9 years ago
muellhierrein, thanks for the patch.  setjmp/longjmp is evil.  But for sake of 
least
modification, I fixed the setjmp/longjmp code by declaring variables as volatile
rather than adding all the custom error handling code.  Committed in rev 1411.  
Can
someone please test this to verify that the fix works?

Original comment by richard...@gmail.com on 29 Sep 2009 at 5:18

GoogleCodeExporter commented 9 years ago
Seems to work good enough. Forced some failures and didn't crashed.

Original comment by sven@narfation.org on 29 Sep 2009 at 8:12

GoogleCodeExporter commented 9 years ago
excellent, thanks.

Original comment by richard...@gmail.com on 30 Sep 2009 at 2:01