ChanSec / mupen64plus

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

MISCHIEF MAKERS doesn't accept key input anymore #564

Open GoogleCodeExporter opened 9 years ago

GoogleCodeExporter commented 9 years ago
Describe your system:
 - Operating System (be specific): Debian sid amd64
 - Machine type (32-bit or 64-bit): 64 bit
 - Mupen64Plus version: 2.0-rc*
- Plugins used:
UI-console: using Video plugin: 'Mupen64Plus OpenGL Video Plugin by Rice' 
v1.99.5
UI-console: using Audio plugin: 'Mupen64Plus SDL Audio Plugin' v1.99.5
UI-console: using Input plugin: 'Mupen64Plus SDL Input Plugin' v1.99.5
UI-console: using RSP plugin: 'Hacktarux/Azimer High-Level Emulation RSP 
Plugin' v1.99.5

Mischief Maker doesn't accept controller input anymore. This worked fine in 
1.99.5 but broke somewhere after. I didn't bisect the versions yet. But it most 
likely broke during casualjames core refactoring.

Original issue reported on code.google.com by s...@narfation.org on 1 Jul 2013 at 9:24

GoogleCodeExporter commented 9 years ago
This regression was introduced before 2013-02-17

Original comment by s...@narfation.org on 1 Jul 2013 at 9:26

GoogleCodeExporter commented 9 years ago
[deleted comment]
GoogleCodeExporter commented 9 years ago
Yes, it is in the big mess started after "Enable experimental support for 
link-time optimization" and ended before "Don't free random memory on config 
option type change". So it is in the range which cannot be bisected very well 
because it either doesn't compile or it crashes. I will still try to do my best

Original comment by s...@narfation.org on 1 Jul 2013 at 10:13

GoogleCodeExporter commented 9 years ago
This part of the history is so messy (68 untestable or uncompilable commits) 
that bisecting makes nearly no sense. But here slightly reduced range.

* last known good commit: 560ea0cc70aa2d181811834de4887a90f8ec9d2e 
("Compilation fix.")
* earliest known good commit (because it doesn't crash and doesn't crash 
immediatelly): 19dbd07fb342f4d56493ce3cd9e9514284da3779 ("Don't free random 
memory on config option type change")

here just my help script for detecting possible candidates for testing (used 
with my git conversion because hg seems to have bugs in its bisecter):

autoskip=139
while [ "${autoskip}" = 139 ]; do
    git clean -dfx
    rm -rf ~/.config/mupen64plus/
    make -C projects/unix V=1 UNAME='linux' HOST_CPU='x86_64' APIDIR=/usr/include/mupen64plus/ DEBUG=1 DEBUGGER=0 PREFIX=/usr/ LIBDIR="/usr/lib/x86_64-linux-gnu" PIC=1 OPTFLAGS="-DNDEBUG" SHAREDIR="/usr/share/games/mupen64plus/" all NO_ASM=1 -j9
    if [ "$?" != 0 ]; then
        git bisect skip
        continue
    fi

    mupen64plus --emumode 0 --corelib projects/unix/libmupen64plus.so.2 ~/tmp/mischief
    autoskip=$?
    if [ "${autoskip}" = 139 ]; then
        git bisect skip
    fi
done

Original comment by s...@narfation.org on 1 Jul 2013 at 10:35

GoogleCodeExporter commented 9 years ago
This regression was introduced in commit 
734b67b8ff647cc355b5f6b781799c42e75e81ea ("Implement SI register DMA busy bit. 
Fixes some message spamming (multiple SI DMA interrupts in queue") on diddy 
kong racing.") of mupen64plus-core

I've used a modified version of the script to fix the most annoying bug in 
casualjames config refactoring:

autoskip=139
while [ "${autoskip}" = 139 ]; do
    git clean -dfx
    rm -rf ~/.config/mupen64plus/
    git show d2f23bae6b5075dd0cda40888601c0f4ba40c87f:src/api/config.c > src/api/config.c
    make -C projects/unix V=1 UNAME='linux' HOST_CPU='x86_64' APIDIR=/usr/include/mupen64plus/ DEBUG=1 DEBUGGER=0 PREFIX=/usr/ LIBDIR="/usr/lib/x86_64-linux-gnu" PIC=1 OPTFLAGS="-DNDEBUG" SHAREDIR="/usr/share/games/mupen64plus/" all NO_ASM=1 -j9
    if [ "$?" != 0 ]; then
        git bisect skip
        continue
    fi
    git checkout -f src/api/config.c

    mupen64plus --emumode 0 --corelib projects/unix/libmupen64plus.so.2 ~/tmp/mischief
    autoskip=$?
    if [ "${autoskip}" = 139 ]; then
        git bisect skip
    fi
done

Original comment by s...@narfation.org on 1 Jul 2013 at 10:57

GoogleCodeExporter commented 9 years ago
A commit 4788b92175c50714fcbf91c899c248aedb9d022b ("Revert: Implement SI 
register DMA busy bit") was proposed as quick workaround for the release 2.0. 
The actual cause of this problem has still to be analyzed

Original comment by s...@narfation.org on 1 Jul 2013 at 4:26