- changed status to invalid
Using Classic Controller with Wiimote 2 causes Code Dump
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)
-
Account Deleted -
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.
-
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)
-
Account Deleted - attached 100_0847.JPG
- attached 100_0846.JPG
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.
-
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.
-
Account Deleted - attached genplus_wii.dol
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.
-
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.
-
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.
-
Account Deleted Comment # 10 originally posted by ekeeke31 on 2010-12-15T17:45:22.000Z:
-
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 ?
-
Account Deleted Comment # 12 originally posted by ekeeke31 on 2010-12-15T17:51:20.000Z:
Correction. Link for most recent test dol is here: http://code.google.com/p/genplus-gx/issues/detail?id=144
-
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.
-
Account Deleted - changed status to open
Comment # 14 originally posted by ekeeke31 on 2010-12-29T11:56:39.000Z:
-
Account Deleted - changed status to resolved
Comment # 15 originally posted by ekeeke31 on 2010-12-29T11:57:18.000Z:
-
Account Deleted Comment # 16 originally posted by ekeeke31 on 2011-01-07T23:09:03.000Z:
issue \
#148has been merged into this issue. -
Account Deleted - changed status to open
Comment # 17 originally posted by ekeeke31 on 2011-01-07T23:10:02.000Z:
-
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.
-
Account Deleted Comment # 19 originally posted by ekeeke31 on 2011-03-09T18:37:17.000Z:
issue \
#155has been merged into this issue. -
Account Deleted - changed status to resolved
Comment # 20 originally posted by ekeeke31 on 2011-03-31T22:44:57.000Z:
Fixed in 1.5.0
- Log in to comment
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.