Using Classic Controller with Wiimote 2 causes Code Dump

Issue #143 resolved
Former user created an issue

Original [issue 143](https://code.google.com/p/genplus-gx/issues/detail?id=143) created by amzoschke on 2010-12-10T15:26:59.000Z:

What steps will reproduce the problem? 1.Start genplusgx 2.Plug-in a classic controller 3.Program immediately code dumps

What is the expected output? What do you see instead?

What version of the emulator are you using (official, SVN revision,...)? 1.4.1 downloaded from Homebrew Browser

Please provide any additional information below (Video settings, Console region,...)

If I delete the history.ini and the config.ini and then start the program with the classic controller connected it will work. However, if I quit and then start the program again with the classic controller, it will code dump. I am almost positive it did not do this in 1.4.0.

Comments (19)

  1. Former user Account Deleted

    Comment # 1 originally posted by ekeeke31 on 2010-12-10T17:50:42.000Z:

    The problem has nothing to do with the classic controller or the .ini files, I cannot reproduce that issue and there is nothing in the code that could cause such crash so I'm pretty confident it's because of the bug in HBC.

    See the FAQ: either make sure Wifi is connected in HBC before launching the emulator or remove the <no\_ios\_reload> line in the meta.xml file.

  2. Former user Account Deleted

    Comment # 2 originally posted by amzoschke on 2010-12-10T19:32:56.000Z:

    Well, if you can't reproduce it, I guess there's not much you can do. But, I don't think it is the HBC bug. First, the wifi is always connected on my wii. Second, the bug occurs when I run it from a forwarder channel as well as from HBC. Third, I can literally play a game flawlessly as long as I want with a Wii remote only and the second I plug in a classic controller it crashes.

    The ONLY way I can play with a classic controller is if I delete the history.ini and config.ini (probably just one of them but I haven't tried them individually) every time before I launch the program. I thought maybe it could have something to do with this change:

    "added the possibility for any wiimotes to be used as input device, regardless of the connected expansion controller"

    Anyways, I know you can't reproduce it and I hate bugging developers so I'll just leave it at that unless you ask for a response, I just wanted to say that I don't think it's the HBC code (although obviously you know way more about it than me.) Thank you for always taking the time to respond, you're one of the few homebrew developers that regularly responds to people without bashing them.

  3. Former user Account Deleted
    • changed status to new

    Comment # 3 originally posted by ekeeke31 on 2010-12-11T00:05:57.000Z:

    Ok, i might have been too quick at closing this issue then. However i don't see any reason why a crash would occur when connecting a classic controller, the change you are mentionning is safe and only means you can still select wiimote as input when cc is connected, it is only used in the controller menu.

    The fact that deleting config.ini is somehow fixing the issue would indicate it's a problem with key mapping configuration but again, this is only used in-game, never while in the menus so this crash makes no sense to me.

    Please give me the exact procedure and when it crashes, what is your current input configuration (controller settings), and also copy the stack dump here (the address path with 0x -> 0x -> etc is what i need to trace where the exception occured in the code)

  4. Former user Account Deleted

    Comment # 4 originally posted by amzoschke on 2010-12-11T23:48:39.000Z:

    Ok, I did more fiddling today and discovered some new things. The only regular crash I ca reproduce is when you start genplusgx while wiimote 2 unsynced. Then if you sync wiimote 2 after the program is open, and then plug in the classic controller, it will crash. However, there have been times for me when it will crash even if remote 2 is synced in the wii menu. This seems to be irregular.

    I've attached two pictures of the code dump. The first one (100\_0846.jpg) is what usually pops up when I have this issue. The second one (100\_0847) is a different code and occured once when genplusgx randomly crashed seconds after I started it, so I don't know that one is useful to you.

  5. Former user Account Deleted

    Comment # 5 originally posted by amzoschke on 2010-12-11T23:52:38.000Z:

    oh, and I think config.ini has nothing to do with it now (like you said). I tried deleting it once and the crash occurred again, so I think I was mistaken on that point.

  6. Former user Account Deleted

    Comment # 7 originally posted by ekeeke31 on 2010-12-12T01:42:52.000Z:

    OK, I know what it is, it's indeed a bug in libogc/wiiuse when using more than one wiimote (which I could not have noticed since I only have one).

    Here the crash path for both dumps:

    (1)\_\_lwp\_queue\_get -> wiiuse\_write\_data -> \_\_wiiuse\_receive

    (2)\_\_lwp\_queue\_get -> wiiuse\_sendcmd -> parse\_event -> \_\_wiiuse\_receive

    It seems it has been fixed in libogc SVN as explained here: http://devkitpro.svn.sourceforge.net/viewvc/devkitpro/trunk/libogc/wiiuse/io\_wii.c?sortby=date&view=log

    I don't know if it was introduced in 1.8.5 or if I was just using an intermediate svn to compile genplus, but I have now updated libogc and here's a recompiled version, please tell me if it fixes your controller issues.

  7. Former user Account Deleted

    Comment # 8 originally posted by amzoschke on 2010-12-15T17:15:34.000Z:

    Haven't had much time to test this, but I still get the code dump (the first one) with the new .dol. Same procedure: sync wiimote 2 in genplusgx, plug in cc, code dump.

  8. Former user Account Deleted

    Comment # 9 originally posted by ekeeke31 on 2010-12-15T17:43:50.000Z:

    Sorry, that's definitively a bug in libogc, not much I can do about it and as I have only one wiimote, I can't do any test.

    It's strange though since the SVN patch should have fixed that and at least explain, the issue you are having (when you connect a controller to a wiimote other than comment 1\., wiiuse library try to access the command queue without initializing it first, resulting in a crash).

    Are you sure this is exactly the same dump (same addresses in the stack dump) ?

    Also, are you sure you tested with the new dol ? If you are using HBC, it should obviously be renamed as boot.dol and replace the old one on SD card. Then checks the file date on your SD card to be sure it's more recent. You can also try the dol that was posted here: http://code.google.com/p/genplus-gx/issues/detail?id=143 Maybe I uploaded the wrong one, i don't know.

  9. Former user Account Deleted

    Comment # 11 originally posted by ekeeke31 on 2010-12-15T17:49:47.000Z:

    Other questions:

    (1) Do you confirm crash only occurs when using classic controller with Wiimote comment 2\. ? (2) Have you tried with Wiimote comment 1\. only ? (3) Are you using official Wiimote & Classic Controllers or 3rd-party ones ?

  10. Former user Account Deleted

    Comment # 13 originally posted by amzoschke on 2010-12-23T04:32:39.000Z:

    Sorry for the delay, Christmas time and all that.

    The crash is fixed in the latest dol above. The wiimote comment 2\. still doesn't show up in the controller options if you sync it after genplusgx is running, but it doesn't give a code dump. Just make sure to have all wiimotes synced in the wii menu before playing.

    Thanks for fixing this, ekeeke, awesome work on this emulator all the way around.

  11. Former user Account Deleted

    Comment # 16 originally posted by ekeeke31 on 2011-01-07T23:09:03.000Z:

    issue \#148 has been merged into this issue.

  12. Former user Account Deleted

    Comment # 18 originally posted by atheren on 2011-03-05T05:01:01.000Z:

    I gust built genplus r558 using libogc 1.8.6, and that seems to fix the problem.

    I previously had a crash when starting genplus with two wiimotes attached.

  13. Former user Account Deleted

    Comment # 19 originally posted by ekeeke31 on 2011-03-09T18:37:17.000Z:

    issue \#155 has been merged into this issue.

  14. Log in to comment