Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Logo causing console to crash when launching from the home menu #146

Closed
Jesse-Fan opened this issue Apr 6, 2018 · 58 comments
Closed

Logo causing console to crash when launching from the home menu #146

Jesse-Fan opened this issue Apr 6, 2018 · 58 comments

Comments

@Jesse-Fan
Copy link

Jesse-Fan commented Apr 6, 2018

My deivece is Old 3DS with B9S (ver1.3) Luma (ver 9.0) FBI(ver 2.5.0)
i downloaded your latest Anemone3DS but its not working
img_6779 2

@Helloman892
Copy link
Collaborator

Hi there, thanks for the report - have you tried reinstalling Anemone?

@Helloman892 Helloman892 changed the title run error Home Menu writing to NULL on start Apr 6, 2018
@Jesse-Fan
Copy link
Author

@Helloman892 yes, i have tried installing it.
1.fbi titleDb
2.offline cia
but it is not working.

@Helloman892
Copy link
Collaborator

Helloman892 commented Apr 6, 2018

Hmm, this is odd. I've spoken with one of the other developers, and he doesn't seem to know what's going on either - we also can't reproduce this with any of our testers. If we manage to find someone else suffering this issue, we'll let you know. Thanks for the report!

Well that shows me.

@astronautlevel2 astronautlevel2 changed the title Home Menu writing to NULL on start Banner causing console to crash when launching from the home menu Apr 6, 2018
@astronautlevel2
Copy link
Owner

astronautlevel2 commented Apr 6, 2018

I've seen this problem a few times, it seems to be that the new logo causes a dabort in the home menu on occasion for unknown reasons. When I've experienced this problem, it only happens once and a reboot solves it - however, given that I have been unable to reliably reproduce it, I have had a hard time trying to solve it (and would not be surprised if there was some condition which causes it to be permanent rather than temporary!)

Could you provide some additional information about your console? What region it is, if you've region changed, and what locale you use would all be very much appreciated.

In the meantime, I'll try to get a build to you that uses the old logo and we can see if that solves it. However, I'm out for the rest of the evening and most of tomorrow, so it may be a bit (if any of the other developers want to step up and do this that would be very much appreciated 💜)

Thank you for reporting this bug and sorry that I can't be of more help right now.

@astronautlevel2 astronautlevel2 changed the title Banner causing console to crash when launching from the home menu Logo causing console to crash when launching from the home menu Apr 6, 2018
@Jesse-Fan
Copy link
Author

@astronautlevel2 well,my old 3ds region is TWN and use traditional Chinese language. I have not change my region . But I don't know if the process of cracking has changed my locale.
maybe is setup_ctrnand_luma3ds.gm9? i run this script in GodMode9 when i update my B9S to 1.3
that's all
thx
img_4857

@LiquidFenrir
Copy link
Contributor

LiquidFenrir commented Apr 7, 2018

TWN ? interesting, that's pretty rare.
You know you won't be able to use themes, right? TWN doesnt have some stuff necessary to use them. You can stil use the splashes though.
Here's a special version of anemone, scan it with FBI. it should work for you and put you straight to the splashes:

And here is the same version, but with the new logo (should crash), please test it as well

@Jesse-Fan
Copy link
Author

@LiquidFenrir yep,
i test it but its not work for me....
Can only run this homemade software with QR scan download, but can not be installed and also throw errors
i have found TWN devices castrates theme functionality!!!!
so,i think that i cannot use those homebrew change Theme ......
THX

@LiquidFenrir
Copy link
Contributor

So the first QR code didnt work, and the second QR code didn't work either? that's weird. Can you describe FBI's error message? Or take a photo

@imbicile
Copy link

imbicile commented Apr 11, 2018

data abort
Translation - Section

At me too sometimes (if to launch the second - the third time successively) the console
new nintendo 3ds xl
Luma/FBI/Homebrew Menu latest versions
Yesterday I updated everything

@LiquidFenrir
Copy link
Contributor

@imbicile Please answer these questions:

  1. What region is your console?
  2. Can you upload the crash dump file, or a photo of the top screen when it happens? Or tell us the LR and PC line on the top screen
  3. Make sure you are using v2.0.0a and not v1.3.0

@imbicile
Copy link

I'll upload all the information later. At the moment, the console at home

@imbicile
Copy link

@LiquidFenrir
Yes, I had version 1.3.0
I put the last 2.0.0a. But the error was again received with the 2nd time. but. After the reboot, it no longer appeared. I think that the problem is solved. Thank you
Just in case I send a dump
https://yadi.sk/d/VwUx5ba83UKrkt

@LiquidFenrir
Copy link
Contributor

Thank you, good to know! Is that dump from 1.3.0 or 2.0.0a ?

@imbicile
Copy link

@LiquidFenrir 2.0.0a
Steps:

  1. Removed 1.3.0
  2. Install 2.0.0a
  3. I started 2 times and got this dump
  4. After reboot, everything works stably

@TurdPooCharger
Copy link
Contributor

TurdPooCharger commented Apr 13, 2018

How many themes are in the Themes folder? * Try a litmus test of one theme.

@TurdPooCharger
Copy link
Contributor

TurdPooCharger commented Apr 13, 2018

Hmm, very strange. I installed .cia Anemone3DS v2.0.0a to check what this ARM11 crash dealio is. If you launch Anemone, exit out of it with HOME Menu button, launch Activity Log, exit out of that, launch Anemone again, you get that crash.

Edit 1 - What the heck did you guys do? I don't see Anemone3DS logo recorded in the Activity Log? Did you guys try to hide the icon.bin or something?

Edit 2 - Here it is again for Friend List play status. I'm guessing someone had the idea of avoiding Nintendo detection by obscuring icon. My best bet is this is the root cause of the instability.

anm3ds_v2 0 0a friend list

Repository owner deleted a comment from noirscape Apr 14, 2018
@Helloman892
Copy link
Collaborator

Hi @TurdPooCharger, a couple answers:

First of all, yes, you're right - that does indeed cause a crash. As far as I can tell, however, the LR and PC of your new crash isn't the same as OP's - to that end, could you a) confirm that they are the same on your end or b) create a new issue describing this?

Secondly, we didn't 'hide the icon.bin' to 'avoid detection' or any such shenanigans - the reason it doesn't show up in Activity Log or on the Friends List is because of a flag not being set by us in the Makefile. It's an oversight, certainly, but nothing severe (unless, of course, this does cause the crash, in which case - thanks!).

@TurdPooCharger
Copy link
Contributor

Hello there @Helloman892. I'll try to do my best in bug hunting the bug @Jesse-Fan reported, and if mine I found is different than his, report that one too in a separate issue.

Your instant delete of @ev1l0rd's post was scary quick. Makes me considerate in not posting things nonchalantly. shivers

I'll try to cross compare v1.3.0 and v2.0.0a .cia and .3dsx on my 4 GB SD build card (formatted with 32 KB cluster size, of course lol). Mess around with themes, title launches, etc. Try to find a behavior pattern. If required, I know a bit of hex edit viewing decrypted CIA files if need be.

I'll gather all that I can find before posting. :)

@astronautlevel2
Copy link
Owner

The recordusage flag is entirely unrelated to the crash - we never used the recordusage flag, yet this crash has only been occuring since we used the new logo.

I'm not sure if your activity log crash is the same crash - could you post a picture of the exception screen?

@TurdPooCharger
Copy link
Contributor

TurdPooCharger commented Apr 14, 2018

@astronautlevel2, I am utterly confused as I can no longer reproduce the Activity Log crash.

Sorry if this seems too detailed or redundant. I want you guys to be sure what steps I took.

N3DSXL (USA region), Luma3DS v9.0, original 4 GB Lexar micro SD card (FAT32 and 32 KB cluster)

  • I used injected H&S FBI to Delete Title and Ticket of Anemone3DS_v2.0.0.a (CRC32 hash = 55773581).
  • Then I exited back to HOME Menu and waited until Anemone HOME Menu icon disappeared.
  • Launched .3dsx Cthulhu_v1.3.3: Activity Log > cleared play, step, and software. Cleared shared icon cache. Clear HOME Menu icon cache.
  • Pressed (Start) button to exit back onto homebrew launcher. Turned off 3DS with (Power) button.
  • Turned on 3DS and waited until HOME Menu icon cache rebuilt itself.
  • Launched injected FBI again to install Anemone3DS_v1.3.0 (CRC32 hash = 09C00711)
  • Exited back to HOME Menu with HM button.
  • Launched Anemone3DS (I have a single theme in the Theme folder).
  • Exited back to HOME Menu with HM button.
  • Launched Activity Log to check my HB_Launcher injected in AR Games got recorded. Noticed Titles Played states three (3), the hidden one is probably Anemone. The other one is H&S injected FBI.
  • Exited back to HOME Menu with HM button.
  • Launched injected FBI again to install Anemone3DS_v2.0.0a, without uninstalling v1.3.0.
  • Exited back to HOME Menu with HM button.
  • Launched Anemone again. Exited out again with HM button.
  • Launched Activity Log. Exited out.
  • Launched Anemone. No ARM11 crash.

I'm going to start from scratch removing v1.3.0, use Cthulhu to wipe everything, and then try installing v2.0.0a if that crash happens again. Camera on the ready for log dump picture.

Actually, would you guys like the log dump file itself? Might have been easier.

Edit 1 - I just did a v2.0.0a fresh install (with no prior v1.3.0) as noted in the reworked procedure and got the ARM11 crash again.

Here's the log dump file of that crash from luma folder:
crash_dump_00000063.zip

Here's the picture:
20180413_212802

Edit 2 - I reordered putting the log dump file before picture in case you guys might miss seeing it. Should I still open a separate issue? Maybe edit my posts over to the new issue if that's still required?

@TurdPooCharger
Copy link
Contributor

TurdPooCharger commented Apr 15, 2018

@FrozenChen, can you provide details for each of the three cia files? What was changed from the v2.0.0a stable release? Other than commits not related to logo, are all three different varieties of reworked logo?

Edit - I was looking into recreating your logo. Having a really hard time reconverting a .bclim back to the logo file. Every File Explorer got the extraction part down, but reimporting it requires SDK or ctr-logobuilder.

@FrozenChen
Copy link
Contributor

FrozenChen commented Apr 15, 2018

oh sorry, all those are latest commit Anemone with different logos, so more and less 2.0.0a with a few neww commits, than shouldnt cause any issue

@TurdPooCharger
Copy link
Contributor

Sure thing. I'm going to be on a dinner break. You'll probably hear back later in a few hours. Do you guys get bombarded with too many e-mail notifications? I don't mean to spam post if it's annoying.

@TurdPooCharger
Copy link
Contributor

TurdPooCharger commented Apr 15, 2018

Test Case # 1 - NG67G (FAILED - Card Removed) 👎
Was this done on purpose to keep me on my toes?
20180414_230206

Test Case # 2 - imoAx (PASSED - homebrew logo) 👍
Kinda boring, but it does the job.
imoax

Test Case # 3 - RhX3G (PASSED - PKSM Bernardo Giordano logo) 👍
Gotta catch 'em all. Gotta save 'em all too.
rhx3g

While testing those last three CIAs, I tried recreating your new logo with Every File Explorer, png2bclim, darctool3ds, and ctr-logobuilder with linux. 3DS homebrew is kinda weak on this front and linux terminal bash command can go in the trash heaps. I couldn't manage to get any of them to work with injection but did notice a huge red flag with the logo's file archive.

Click to expand You guys are missing hblogo_bottom.bclim in the timg directory.

@FrozenChen
Copy link
Contributor

FrozenChen commented Apr 15, 2018

Test this one, same as last commit.
https://transfer.sh/125SMg/Anemone3DS.cia
But this one has a placeholder hblogo_bottom bclim, which is just a black square.

Btw the card removed error was caused by a logo that was not 8kb (bigger in this case, just to test if the error was similar in any way), anything smaller or bigger causes a crash so logos are padded to 8kb.

@TurdPooCharger
Copy link
Contributor

TurdPooCharger commented Apr 15, 2018

Test Case # 4 - 125SMg (FAILED) 👎
Crashed at its 4th launch after seeing Activity Log for the 2nd time.

Can you build one with hblogo_bottom.bclim out of an 320x240 black/blank png?
Edit 1 - Was teh blank square matched with compatible NintendoLogo_D_00.bclyt ?
Edit 2 - Saw the last logo. Definitely try syncing with the Logo_D layer. I have a good feeling this is it.

@FrozenChen
Copy link
Contributor

FrozenChen commented Apr 15, 2018

We have been going in circles, so instead of changing the logo we are changing the app. (to see if this goes over with the logo)
Please test this build of checkpoint, last commit but using the anemone logo i just made for the last cia i send you. https://transfer.sh/4g4JR/Checkpoint.cia

@TurdPooCharger
Copy link
Contributor

You did read the part where the crash happens with new Anemone logo on hacky v.1.2.2, right? It's definitely the logo, but if you need more confirmation that it'll cause crashes on other homebrew titles, alright then.

@TurdPooCharger
Copy link
Contributor

TurdPooCharger commented Apr 15, 2018

Test Case # 5 - 4g4JR (FAILED) 👎
Mode of failure exactly as Test Case # 4.

@FrozenChen, do you handle developing the logo? I don't know if you caught my last edit in the post with Test Case # 4, but I mentioned if you can try matching hblogo_bottom.bclim to NintendoLogo_D_00.bclyt where all 320x240 black png is viewable. If you can see the bottom .bclim within the D_00.bclyt on Every File Explorer, I think that'll fix the bug.

@FrozenChen
Copy link
Contributor

FrozenChen commented Apr 15, 2018

I already tested it, still causes the crash, cant reproduce the crash with checkpoint tho, have been going checkpoint->activity log->checkpoint at least 10 times.
EDIT: it seems i can no longer trigger the crash sadly, so disregard what i said about checkpoint not crashing

@TurdPooCharger
Copy link
Contributor

TurdPooCharger commented Apr 15, 2018

  1. Use FBI to delete Title and Ticket for Checkpoint.
  2. Exit out with HOME button. Go to Cthulhu to clear every cache (Activity Log, shared, and HOME Menu).
  3. Press (Power) button to turn off the 3DS. Remove and reinsert the battery.
  4. Turn on the 3DS. Wait for the HOME Menu icon cache to rebuild.
  5. Turn off the WiFi using Nintendo's Wireless Communication / NFC.
  6. Launch FBI to install Checkpoint with Anemone logo. Press (Home) button to return. Do not use (Start) button.
  7. Find Checkpoint. Drag and drop it close to Activity Log.
  8. Unwrap and launch Checkpoint. It's probably better to have little to no games installed on the system for this.
  9. Press (Home) button to return HOME Menu. Launch Activity Log. Press Next and OK. Press (Home) button to return home.
  10. Launch Checkpoint again. Return back to HOME Menu again. Turn off 3DS with (Power) button.
  11. Turn on 3DS. Launch Checkpoint. Go back to HOME. Launch Activity Log. Go back to HOME.
  12. Launch Checkpoint. You should now ARM11 crash.
    13 (cont). If you don't crash then as this does happen sometimes. Go back to HOME. Launch FBI. Go back to HOME. Launch Checkpoint. Crash.

Any time you transition from title to another, never use the (Start) or (Power) button. This is reset whatever that causes the crash.

Edit - If you do not follow procedures as described, you make the title stable for that current 3DS run session and will not be able to reproduce it until the next or 2nd next time you turn the 3DS on.

@FrozenChen
Copy link
Contributor

Well anyway, here is what you asked https://transfer.sh/uv3W0/Anemone3DS.cia bottom is 320x240

@TurdPooCharger
Copy link
Contributor

TurdPooCharger commented Apr 15, 2018

Test Case # 6 - uv3W0 (FAILED) 👎
Crashes at first launch.
Bangs head on table. Ugghh...

I don't get how this is suppose to cause crashes unless information about the logo's 8 KB compressed limit is flat out wrong. If that's the reason why, that means Anemone's logo file was marginally stable when it's total uncompressed size sits a teensy bit too big. Adding the fully blacked out bottom picture pushed it over the edge.

This is my last idea. I can't tell you if it'll work or not. This is a cropped and trimmed version of the top image to be as bare minimum as possible. Having transparency enabled cause the file size to grow bigger. Perhaps you try recreating this very same image to see if you can get it to be smaller. Try centering it while maintaining the resolution.

hblogo_top

For the bottom image, have one black pixel place at one of the corners. Crossing my fingers on this one.

Edit - You might be able to get away with transparency after all for the two black corners. This might reduce memory resources for the 3DS as that's one less color or fewer pixels to draw. It'll depend what the final .bclim total comes out to be.

hblogo_top

@FrozenChen
Copy link
Contributor

FrozenChen commented Apr 15, 2018

It crashed because while the compressed logo was smaller than 8kb, its uncompressed form was too big, the full black bottom screen uses 128kb while the top screen is 512kb(? On mobile rn). The uncompressed limt is around ~600kb.
Also what exception did you get from that? Similar to the other ones?

@TurdPooCharger
Copy link
Contributor

TurdPooCharger commented Apr 15, 2018

Edit - I'm at my limits of staying awaken. The latest crash readout seem like the same as others, but that might be due to lack of sleep kicking in. If you make another Anemone with cropped and compacted logo, i'll test it out when after I finish crashing myself.

uv3W0 crash dump:

crash_dump_00000134.zip

uv3w0_crash_dump

@astronautlevel2
Copy link
Owner

astronautlevel2 commented Apr 15, 2018

Reviewing the code, Anemone should exit pretty much the exact same way through either the start or the home button. The fact that this seems to cause variance which leads to the crash makes me think that the home menu isn't properly deallocating something which leads to the logo causing some edge case crash.

I'll try finding a (clean) way to lock down the home button as a solution in the meantime.

@TurdPooCharger
Copy link
Contributor

TurdPooCharger commented Apr 15, 2018

@astronautlevel2 and @FrozenChen , I would like to test one with the top image having the black space cropped out and the bottom image with a single pixel placed where its most convenient (corner or center 0,0,0). Other homebrew logo's has theirs with smaller images. The blue wavy homebrew launcher-inspired one does image stretching to maximize size efficiency.

I can't help recreate the logo from my end due to desktop linux being uncooperative and unsure how to go about calculating and adding the missing .darc footer CMAC SHA-256 found at the way end of a decompressed logo. DarcTool3DS doesn't add this back into a rebuilt logo when recompiling it.

Edit - Some more info. Gotta save this beautiful logo.
https://gbatemp.net/threads/tutorial-create-your-own-app-logo-logo-bin.433006/
Quoted by PabloMK7

I recommend using files not bigger than 256x256 pixels

Current Anemone top logo (400x240):
hblogo_top

@FrozenChen
Copy link
Contributor

FrozenChen commented Apr 15, 2018

The wave homebrew logo works because it was made with sdk tools that let you optimize better. My guess is that the umcompressed size of the logo is the problem, something not being freed correctly by home menu(?).
Anyway i will post 2 builds, their may look the same but their inner workings are different.
I will make other builds with a smaller resolution after this.

1st (256kb uncompressed size)
https://transfer.sh/11GDE2/Anemone3DS.cia

2nd (132kb uncompressed size)
https://transfer.sh/NVxMo/Anemone3DS.cia

@TurdPooCharger
Copy link
Contributor

TurdPooCharger commented Apr 15, 2018

Test Case # 7 - 11GDE2 (PASSED - stability-wise) 👍
YES!!!
logo contains both top and bottom hblogo .bclim files.

old_vs_new_logo

(FAILED - image quality suffered) 👎
I see you tried using a different png to .bclim converter. If this was done through Every File Explorer, that CTR Layout Images option degrades with noticeable artifacts. That's okay, baby steps!


Test Case # 8 - NVxMo (PASSED - stability) 👍 , (FAILED - quality) 👎
logo contains only the top hblogo .bclim
Alright, that throws out the idea you need the bottom one.

Are you using the ctr-logobuilder making the logo? Actually, don't answer that question.

IF you're using ctr-logobuilder, see if you can input bash build with one or both of these cropped out top logo.

hblogo_top2

hblogo_top

./buildlogo.sh [output name] [logo extracted folder] "0,0,0,0,0" "242,116,0,0,0" [HMAC key]

If you intend to use the new method of bclim conversion, let me know so I can skip grading for image quality. The intention is to see if the top logo screen estate can be reduced and not fill the entire 400x240.

If this is possible without stretching the blue Anemone name section, you should in theory be able to use your original bclim converter to maintain quality while reducing the logo's total uncompressed size.

@TurdPooCharger
Copy link
Contributor

TurdPooCharger commented Apr 15, 2018

@FrozenChen, i'm posting again in case you miss my last edit.

The cropped out top logo images are 242 x 116. Double check to verify this is correct before building.
I made a earlier mistaken in getting the dimensions wrong. *

@FrozenChen
Copy link
Contributor

@TurdPooCharger so my guess is was right, the uncompressed filesize of the logo is causing the crashes, those build were made just to find out in a fast way if it was the uncompressed file size so dont worry about the quality. I made this one for both quality and reduced size.

https://transfer.sh/3uYGM/Anemone3DS.cia

@TurdPooCharger
Copy link
Contributor

TurdPooCharger commented Apr 16, 2018

Test Case # 9 - 3uYGM (PASSED WITH FLYING COLORS!!! WE HAVE A WINNAR!!!) 🥇

screenshot_3uygm

  • I like the nice added touch you did for the bottom screen. Seems appropriate to include from a user's standpoint with the upside of not completely ruling out the missing bottom half could contribute to instability.
  • Unless my eyes are deceiving me, the black area has a noticeably darker contrast.
  • The edges along the Anemone blue rectangle seem sharper, too.

Well, time to pack it up, boys and girls. Again, sorry if there has been any trouble on my part, especially for the multiple back-to-back posts and my several presented theories that ended up being wrong. I specialize in basic GM9 scripting and not actual homebrew title development, so you'll have to forgive me for my gaps in this 3DS aspect.

Hope this leads to providing a happier Anemone user experience and glad to be of service for this issue. :)

@astronautlevel2
Copy link
Owner

Awesome, as soon as I merge in the new logo I'll close this issue.

@Bongopepe
Copy link

Hey, I'm having this same exact issue, anyone has any active links to the fixed version available?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

8 participants