Can you explain the async network init bug in HBC?
Thx.
This is from DacoTaco's blog.
CODEIts been some time since i removed Priiloader 0.5 from my webserver and google code and i still haven’t written why i did it (shame on me :-P ).
i removed the installer deu to a bug. At the time of removal there had been a few bricks (and thankfully 99% had bootmii @ boot2 >_> ) deu to the bug.
what was the bug all about?
easy
there were no internet settings set. that’s right, that’s how you trigger the bug.
At first i was surprised : how could something like that screw up the installer completely ?! at first i thought i had a memory corruption. so after a complete installer cleanup of memory blocks, memory alignment and arrays i could scrap that idea of the list.
maybe there was a bug in my code? only one way to find out. i ran a completely basic hallo world which only inits video & GC Pad (so i could exit) . and bam, crash. that left me to believe it was either HBC or libogc (at this point i was almost sure it was HBC cause of how AHBPROT is passed on to the loaded application).
so i we (lukegb & myself) ran some tests and tried several basic stuff to help dhewg identify the problem. as time passed i got no response from him so i thought i could try the second option : inform the libogc team about the bug and hope they will help more.
and so they did.
shagkur deleted his internet settings and ran his demo app. no dice; it ran fine. weirdly enough, the basic hallo world did crash and so he started looking at the source.
after a while he discovered that why it crashes is cause of an IPC reply it didn’t expect and therefor refers to its registered callback (registered from HBC).where is the callback? at 0x813a2028
that address could only mean one thing : its a ipc reply from something HBC asked for and never shut down. Tantric & shagkur both believe that the Async network init from HBC is the source. they believe that the async is never canceled/de-init and therefor the ipc reply comes when the app is loaded; causing the nice crash.
so yes, the crash is related to HBC and as long as its not fixed im not releasing another Priiloader version, no discussion about it.
if TT wanted to give us AHBPROT they should have checked if everything was de-init perfectly (because without AHBPROT HBC reloads the ios, loosing the rights and resetting everything from ipc…therefor no unwanted ipc reply in the app ) or if anything none-evil could happen. this is what i do most of my time working on priiloader (i have so many potential holes in my source;_; )
Daco Over and out
PS : about the user agent strings of priiloader. would anyone who creates mods please update the HTTP parser? that way i can see pretty fast if a mod is doing the insane amount of connections or you guys are just paranoid. thanks