raz0red / wii-mednafen

WiiMednafen is a partial port of the Mednafen emulator to the Wii
http://wiibrew.org/wiki/WiiMednafen
GNU General Public License v2.0
34 stars 11 forks source link

Stability issues with 0.3-SNAPSHOT builds #69

Closed raz0red closed 4 years ago

raz0red commented 4 years ago

I have experienced several stability issues (crashes) with snapshot builds of the 0.3 release (main branch).

Crashes I have experienced occurred when:

I am currently working to track down what is causing these issues.

Please respond to this issue with any other stability problems that you experience when testing 0.3-SNAPSHOT builds.

Thanks!

raz0red commented 4 years ago

These issues appear to always occur after running a CD-based game (PC-FX or PC-Engine).

I was also able to capture the stack trace on a recent crash. It doesn't tell a whole lot, but it is occurring during a heap free operation. Therefore, it appears that it may be a memory-related issue in the CD emulation portion of WiiMednafen. (That is just a guess, but definitely worth investigating)

(gdb) info line *0x802b7ac8
Line 135 of "/home/davem/projects/devkitpro/pacman-packages/libogc/src/libogc/lwp_heap.c" starts at address 0x802b7ac0 <__lwp_heap_free+264>
   and ends at 0x802b7acc <__lwp_heap_free+276>.
(gdb) info line *0x802a830c
Line 62 of "/home/davem/projects/devkitpro/pacman-packages/libogc/src/wiiuse/io.c" starts at address 0x802a830c <wiiuse_handshake+280>
   and ends at 0x802a832c <wiiuse_handshake+312>.
(gdb) info line *0x802a8a20
Line 73 of "/home/davem/projects/devkitpro/pacman-packages/libogc/src/wiiuse/io_wii.c" starts at address 0x802a8a20 <__wiiuse_receive+116>
   and ends at 0x802a8a2c <__wiiuse_receive+128>.
(gdb) info line *0x802ac4b4
Line 321 of "/home/davem/projects/devkitpro/pacman-packages/libogc/src/lwbt/bte.c" starts at address 0x802ac4a4 <bte_process_input+276>
   and ends at 0x802ac4c4 <bte_process_input+308>.
(gdb) info line *0x802b25d8
Line 886 of "/home/davem/projects/devkitpro/pacman-packages/libogc/src/lwbt/l2cap.c" starts at address 0x802b25b4 <l2cap_input+496>
   and ends at 0x802b25dc <l2cap_input+536>.
(gdb) info line *0x802b0560
Line 1765 of "/home/davem/projects/devkitpro/pacman-packages/libogc/src/lwbt/hci.c" starts at address 0x802b0554 <hci_acldata_handler+228>
   and ends at 0x802b0580 <hci_acldata_handler+272>.
(gdb) info line *0x80004f6c   
No line number information available for address
  0x80004f6c <SYS_SwitchFiber+28>   
(gdb) info line *0x802b403c
Line 89 of "/home/davem/projects/devkitpro/pacman-packages/libogc/src/lwbt/physbusif.c" starts at address 0x802b403c <__readbulkdataCB+256>
   and ends at 0x802b4058 <__readbulkdataCB+284>.
(gdb) info line *0x802cb400
Line 255 of "/home/davem/projects/devkitpro/pacman-packages/libogc/src/libogc/usb.c" starts at address 0x802cb3e8 <__usbv0_messageCB+24>
   and ends at 0x802cb420 <__usbv0_messageCB+80>.
raz0red commented 4 years ago

Also, I wanted to mention that I set up a continuous integration (build) loop. For any commits made, there is a build available here:

https://github.com/raz0red/wii-mednafen/actions

If you click on an individual build, you will see the status of the build. If the build was successful you will see an "Artifacts" portion in the upper-right. If you download the artifact named "dist", you will find the distribution .zip file within it.

raz0red commented 4 years ago

Tentatively closing based on fix in PR #70 (the stack size appears to have been exceeding and was overwriting the bluetooth-related code).

Refer to the latest builds for testing in the following location:

https://github.com/raz0red/wii-mednafen/actions

If you click on an individual build, you will see the status of the build. If the build was successful you will see an "Artifacts" portion in the upper-right. If you download the artifact named "dist", you will find the distribution .zip file within it.

raz0red commented 4 years ago

Tentatively closing based on fix in PR #70 (the stack size appears to have been exceeding and was overwriting the bluetooth-related code).

Refer to the latest builds for testing in the following location:

https://github.com/raz0red/wii-mednafen/actions

If you click on an individual build, you will see the status of the build. If the build was successful you will see an "Artifacts" portion in the upper-right. If you download the artifact named "dist", you will find the distribution .zip file within it.

I just noticed that the "artifacts" tab is not available on GitHub unless you are logged in. However, if you look at the "Commit History" you will see a green check mark or red x depending on whether the build passed or failed. If you click on the check mark or x, it will allow you to click on "details", which will take you to the automated build. From there, you can download the artifact in the upper right corner (if it was a passing build).

saulfabregwiivc commented 3 years ago

please reupload that latest build, it says that is expired :(

raz0red commented 3 years ago

Just kicked off a new build. Please let me know if that works for you.

https://github.com/raz0red/wii-mednafen/suites/3684255049/artifacts/89758496

Thanks, Chris

saulfabregwiivc commented 3 years ago

Just kicked off a new build. Please let me know if that works for you.

https://github.com/raz0red/wii-mednafen/suites/3684255049/artifacts/89758496

Thanks, Chris

Thanks @raz0red for this, i truely need that, now let's enjoy WiiMednafen with my brother and my emulated Wii :D EDIT: Tried it and works perfect, now i can play Virtual Boy Wario Land in it ;)