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

atmosphere creating thousands of files in erpt_reports even when no crashes are happening #1987

Closed
NekoNoor opened this issue Nov 9, 2022 · 76 comments

Comments

@NekoNoor
Copy link

NekoNoor commented Nov 9, 2022

What's the issue you encountered?

when booted into atmosphere a lot of files are created in the erpt_reports folder even when i am not doing anything

How can the issue be reproduced?

launch atmosphere and wait for a couple minutes and check the sd card erpt_reports folder, there will be a lot of files causing it to hit the FAT limit of 16383 files in that folder and making the switch completely unusable (games load noticably slow and homebrew works extremely badly)

Crash Report

N/A

System Firmware Version

15.0.1

Environment?

  • hekate (launching atmosphere using fusee.bin)
  • Official release version 1.4.0
  • Do you have additional kips or sysmodules you're loading: N/A
  • Homebrew software installed: N/A
  • SysNAND

Additional context?

N/A

@NekoNoor NekoNoor changed the title atmosphere creating files in erpt_reports even when no crashes are happening atmosphere creating thousands of files in erpt_reports even when no crashes are happening Nov 9, 2022
@Masamune3210
Copy link

Post a couple of the reports, we can't know what is going on if we don't have examples

@NekoNoor
Copy link
Author

NekoNoor commented Nov 9, 2022

erpt_reports.zip

@Masamune3210
Copy link

Do you have a account linked to a Ninty ID by chance?

@NekoNoor
Copy link
Author

NekoNoor commented Nov 9, 2022

yes my main account is linked to a nintendo ID

@Masamune3210
Copy link

The error code that appears in the logs, 2234-4508, is account has been banned from using online services

@NekoNoor
Copy link
Author

NekoNoor commented Nov 9, 2022

i unlinked the account from nintendo and it seems to have fixed it, not sure why it would generate an error every few seconds if it's banned though, i've had my account linked since 2018 and i never had an issue with it generating error reports

@NekoNoor
Copy link
Author

NekoNoor commented Nov 9, 2022

some game require having an nnid linked, how would i play those if i cant have one linked (becouse it would fill the sd card with errors)

@Masamune3210
Copy link

No clue, never had to deal with it myself so I'm not entirely sure of how a banned switch normally behaves

@Masamune3210
Copy link

Might leave this open so someone can look more into it just in case atmosphere is behaving incorrectly

@masagrator
Copy link

First of all erpt is not a sign of crash. Crash generates crash report, not error report.

@Masamune3210
Copy link

Yeah it's not crashing, but it's definitely not happy either

@NekoNoor
Copy link
Author

After I unlinked my account it's no longer making all those error files, but now I can't play certain games that require a linked account.

My switch has been banned since 2018 so I'm not sure what changed that it started making all those errors. If I link my account using Linkalho the same thing happens as when it was linked to a real account like it has been since I got my switch.

@loganm911
Copy link

ive been having this happen as well, also linked with linkalho. although for me it started right as the system started to nag about an available update. so it also happened on 15.0.0.

@Ammako
Copy link

Ammako commented Nov 12, 2022

I assume you're connected to the internet? If you disconnect/enable airplane mode, does it still create all those files?

@NekoNoor
Copy link
Author

It doesn't seem like it, I left it for a while and hasn't made any new files.

@Ammako
Copy link

Ammako commented Nov 12, 2022

If you need internet connectivity for something, I'd suggest enabling prodinfo blanking with exosphere.ini (or cal0blank=1 in hekate_ipl.ini if booting with hekate using package3)

Then you can be online for homebrew stuff or lan play, but since prodinfo is blanked, it can't connect to Nintendo, which will hopefully prevent it from generating errors like this.

@NekoNoor
Copy link
Author

I enabled prodinfo blanking (again) and it still makes the files, the only way to stop it is to unlink the accounts. But I had it linked for several years while being banned and never encountered this

@Masamune3210
Copy link

are you sure its enabled? exosphere's config is the weird one, it goes on the root of the drive instead of the config folder

@Masamune3210
Copy link

Check in Settings if your Serial Number for the console is different, that's the easiest way to see if its working or not

@NekoNoor
Copy link
Author

are you sure its enabled? exosphere's config is the weird one, it goes on the root of the drive instead of the config folder

I checked and it shows the serial number as all zeroes

@Masamune3210
Copy link

Can you upload a log from after you enabled blanking? Make sure its one of the new ones, easiest way would be to clear out the folder and then grab one

@Ammako
Copy link

Ammako commented Nov 12, 2022

With prodinfo blanking a new error report gets generated every few seconds; this time it's for 2123-0011 which I guess is to be expected.

@NekoNoor
Copy link
Author

erpt_reports.zip

@Masamune3210
Copy link

2123-0011 is Ninty servers refusing the connection because your switch cant prove its a legitimate console due to the blocked PRODINFO. Something is causing the system to repeatedly try to connect to Nintendo's servers. Maybe latest update changed the behavior of something like cloud saves?

@NekoNoor Error code is now 2155-8007 which is interesting, most of what I can find is saying that its relating to a secondary console trying to contact Nintendo to verify account details and licenses

@Masamune3210
Copy link

Does putting the console into Airplane Mode stop the error spam?

@NekoNoor
Copy link
Author

Does putting the console into Airplane Mode stop the error spam?

Yes

@Masamune3210
Copy link

Did you happen to have another console set as primary?

@NekoNoor
Copy link
Author

Did you happen to have another console set as primary?

Nope

@Masamune3210
Copy link

Well, unless one of the actual devs wants to jump in, I am out of ideas other than taking a nand backup and then resetting your switch so it no longer has the legit account connected. Since the account is banned, you wouldnt be losing much from not having it connected anyway

@DraconicNEO
Copy link

Honestly, I don't think there's a way to fix it short of setting up a whole server infrastructure that replaces Nintendo's servers entirely (similar to Wiimmfi) and DNS rerouting all of the Switch's server requests to that. Which we'll probably all agree isn't something we can reasonably expect to be done within a few weeks. Even if the community felt comfortable setting up custom servers, it would take years of work.

There's a simpler solution, allow people to disable erpt report logging entirely. See you're focusing too much on what the erpt reporting software is reporting but that's not actually the problem that's being caused here. The real problem is that Games and Software spam Nintendo servers when they can't connect and Atmosphere writes the error logs to the SD card eventually hitting the file limit and crashing Horizon, not to mention slowly killing the SD card due to write cycles.

I would love to have custom servers on the Switch as much as anyone but not be forced to use them as a band-aid fix for a problem which atmosphere created in the first place by forcing users to save logs even if they don't care about them. The solution to this problem is to allow users to opt out of erpt logging and just send them to /dev/null or the horizon OS equivalent.

@Masamune3210
Copy link

They are focusing on the error because that is the correct thing to focus on lol. Erpts are written to the SD card for a reason, they are useful to fix errors. Disabling them entirely just because of one type of error is imo kind of overboard.

@DraconicNEO
Copy link

They are focusing on the error because that is the correct thing to focus on lol. Erpts are written to the SD card for a reason, they are useful to fix errors. Disabling them entirely just because of one type of error is imo kind of overboard.

I didn't say remove them from Atmosphere I said let the user disable them via config. If a user has no intention of reporting errors to GitHub or is using atmosphere in a way that is unsupported this feature is useless to them and only causes unnecessary wear and tear on their SD card.

@Ammako
Copy link

Ammako commented Jul 31, 2023

It would make more sense to have a mechanism to mute/suppress repeat errors instead of disabling error reports entirely

@SciresM
Copy link
Collaborator

SciresM commented Jul 31, 2023

So, to be explicit:

I do not want to add a mechanism that a user can toggle that allows disabling error reporting. I am flatly not willing to do this.

The inevitable result of doing this will be that people who make "packs"/distribute atmosphere alongside homebrew will disable error logging, and then people will reach out for support, and they won't have logs. That's clearly unacceptable to me.

Also, to be clear, consoles should not be logging thousands of errors, and I would also like to note that if atmosphere was not writing to them to the SD card, the official nintendo software would be writing them to the internal emmc, which seems even worse from a wear/tear perspective to me?

I would maybe be willing to consider not saving further reports if the user has a stupidly large amount present. Maybe...5000? I could see an argument for not writing reports to the SD card if there are a stupidly large number already present. This would, I guess, require the automatic cleanup stuff to be off to work.

@SciresM
Copy link
Collaborator

SciresM commented Jul 31, 2023

I didn't say remove them from Atmosphere I said let the user disable them via config. If a user has no intention of reporting errors to GitHub or is using atmosphere in a way that is unsupported this feature is useless to them and only causes unnecessary wear and tear on their SD card.

I would also like to note: "If a user has no intention of reporting errors to GitHub or is using atmosphere in a way that is unsupported"...if they are doing something unsupported, why would I provide support to them? And if they're behaving in a way that's supported but aren't willing to share error logs, why would I provide explicit support for users who are not willing to help me make atmosphere better?

@DraconicNEO
Copy link

I do not want to add a mechanism that a user can toggle that allows disabling error reporting. I am flatly not willing to do this.

The inevitable result of doing this will be that people who make "packs"/distribute atmosphere alongside homebrew will disable error logging, and then people will reach out for support, and they won't have logs. That's clearly unacceptable to me.

Not like they can't do it anyway, atmosphere is open source after all, I think there are a few that do it (no I won't link them here).

Also, to be clear, consoles should not be logging thousands of errors, and I would also like to note that if atmosphere was not writing to them to the SD card, the official nintendo software would be writing them to the internal emmc, which seems even worse from a wear/tear perspective to me?

I know it does, that's why I suggested something like destroying them entirely i.e. /dev/null (or a similar equivalent) approach where they aren't saved anywhere and are wiped from existence upon creation.

I would maybe be willing to consider not saving further reports if the user has a stupidly large amount present. Maybe...5000? I could see an argument for not writing reports to the SD card if there are a stupidly large number already present. This would, I guess, require the automatic cleanup stuff to be off to work.

That's a fair compromise if you don't want to disable it entirely. I mean the cleanup script doesn't really work if people don't reboot their consoles before hitting the driver limit most people keep their switches asleep and powered on because it's just more convenient with the tethered nature of the RCM exploit.

@SciresM
Copy link
Collaborator

SciresM commented Aug 1, 2023

Not like they can't do it anyway, atmosphere is open source after all, I think there are a few that do it (no I won't link them here).

Well, yes, part of being open source is that people can do whatever they want. That is their prerogative and I support people's right to do whatever they want. But if someone is using a pack, I can tell them "I don't provide support if you're using that", in a way that I can't if it's native to Atmosphere.

I mean the cleanup script doesn't really work if people don't reboot their consoles before hitting the driver limit most people keep their switches asleep and powered on because it's just more convenient with the tethered nature of the RCM exploit.

I would like to reiterate one more time that I think this whole problem is complete nonsense. But, yes, not writing if there are already thousands of files, or if we've written 1000 files since the last reboot, or some other insanity metric seems not unreasonable to me.

@SuperSpe
Copy link

SuperSpe commented Aug 7, 2023

Not like they can't do it anyway, atmosphere is open source after all, I think there are a few that do it (no I won't link them here).

Well, yes, part of being open source is that people can do whatever they want. That is their prerogative and I support people's right to do whatever they want. But if someone is using a pack, I can tell them "I don't provide support if you're using that", in a way that I can't if it's native to Atmosphere.

I mean the cleanup script doesn't really work if people don't reboot their consoles before hitting the driver limit most people keep their switches asleep and powered on because it's just more convenient with the tethered nature of the RCM exploit.

I would like to reiterate one more time that I think this whole problem is complete nonsense. But, yes, not writing if there are already thousands of files, or if we've written 1000 files since the last reboot, or some other insanity metric seems not unreasonable to me.

I have at least 16k files inside that folder and on the boot the switch becomes very slow.
I want to know in my case why these reports are made and correct the errors.
How can I view them? They are not plain text...

@DraconicNEO
Copy link

Not like they can't do it anyway, atmosphere is open source after all, I think there are a few that do it (no I won't link them here).

Well, yes, part of being open source is that people can do whatever they want. That is their prerogative and I support people's right to do whatever they want. But if someone is using a pack, I can tell them "I don't provide support if you're using that", in a way that I can't if it's native to Atmosphere.

I mean the cleanup script doesn't really work if people don't reboot their consoles before hitting the driver limit most people keep their switches asleep and powered on because it's just more convenient with the tethered nature of the RCM exploit.

I would like to reiterate one more time that I think this whole problem is complete nonsense. But, yes, not writing if there are already thousands of files, or if we've written 1000 files since the last reboot, or some other insanity metric seems not unreasonable to me.

I have at least 16k files inside that folder and on the boot the switch becomes very slow. I want to know in my case why these reports are made and correct the errors. How can I view them? They are not plain text...

Erpt reports are indeed plaintext and you can view them in a text viewer, that's how I figured out that they're all the same error related to Nintendo network.

@SuperSpe
Copy link

SuperSpe commented Aug 7, 2023

I have at least 16k files inside that folder and on the boot the switch becomes very slow. I want to know in my case why these reports are made and correct the errors. How can I view them? They are not plain text...

Erpt reports are indeed plaintext and you can view them in a text viewer, that's how I figured out that they're all the same error related to Nintendo network.

strange. I search for the errore inside the zip and did not find any of this errors on single file. what I am missing?

@DraconicNEO
Copy link

I have at least 16k files inside that folder and on the boot the switch becomes very slow. I want to know in my case why these reports are made and correct the errors. How can I view them? They are not plain text...

Erpt reports are indeed plaintext and you can view them in a text viewer, that's how I figured out that they're all the same error related to Nintendo network.

strange. I search for the errore inside the zip and did not find any of this errors on single file. what I am missing?

If you open one of the report files it'll have the error code in it somewhere in the text as a four digit number with a dash followed by another four digit number (xxxx-xxxx) i.e. 2155-8007 which is when Nintendo servers cannot be contacted, (happens usually when people block the servers).

@SuperSpe
Copy link

SuperSpe commented Aug 8, 2023

I've searched inside files with vscode...no matches

@ehx-v1
Copy link

ehx-v1 commented Aug 8, 2023

When I took a look at the errors in the ZIP above (since I deleted the reports that were on my own SD card), I saw a lot of binary symbols mixed into the file. Maybe the encoding is misrecognized?

@SciresM
Copy link
Collaborator

SciresM commented Aug 8, 2023

Error report files are messagepack format.

anyway, can we please not spam this issue with comments? I will lock it if this continues. This isn't the right place for questions about how to decode report files.

@filipegorges
Copy link

@SciresM could something kinda like a circular list be put in place, as in fill in up to 5k files and then overwrite from first position? maybe create the files ahead of time and use some modulus op to redirect the errors, thinking them being out of order can be sorted by writing some script to put them together and sort them when actually investigating the logs, just thinking out loud, I didn't read the code to see how this is working there now.

I get your frustration with people writing up crappy error reports, maybe the issue template could be updated to state that unless the user uploads a zip of the logs, the issue will be ignored or something

@jamjazz
Copy link

jamjazz commented Aug 26, 2023

If I can give my modest experience to you..
I have the same problem too.
I believe it started when I re-linked my user accounts with linkalho.
Maybe that's the problem...
If I unlink accounts, everything is back to normal.

@SuperSpe
Copy link

If I can give my modest experience to you.. I have the same problem too. I believe it started when I re-linked my user accounts with linkalho. Maybe that's the problem... If I unlink accounts, everything is back to normal.

I also had a suspicion it was really link halo, now I have the confirmation

@ehx-v1
Copy link

ehx-v1 commented Aug 28, 2023

So we're back to "Atmosphère is not responsible for this issue". I'd suggest reporting the problem to Linkhalo and then calling it a day.

@NekoNoor
Copy link
Author

it's also reproducible if you had an account linked without linkalho, so it isn't necessarily an issue with linkalho but an issue with having an account linked

@jamjazz
Copy link

jamjazz commented Aug 28, 2023

Yep.. same problem with Tinfoil fake-linked account pass.

@Ammako
Copy link

Ammako commented Sep 9, 2023

some game require having an nnid linked, how would i play those if i cant have one linked (becouse it would fill the sd card with errors)

sys-tweak can override this linked account requirement in theory, but in practice it's unclear if there are any games this would work for. Like Bloodstained RotN for instance has a seemingly unnecessary linked account requirement to run (even the physical cartridge!), but overriding the nacp to allow running the game without a linked account, it hangs early on in the initial loading screen and eventually crashes back to the home menu. Maybe the games you have which require a linked account could work perfectly fine with this, or maybe not. It might be worth a try.

@Ammako
Copy link

Ammako commented Sep 9, 2023

some game require having an nnid linked, how would i play those if i cant have one linked (becouse it would fill the sd card with errors)

sys-tweak can override this linked account requirement in theory, but in practice it's unclear if there are any games this would work for. Like Bloodstained RotN for instance has a seemingly unnecessary linked account requirement to run (even the physical cartridge!), but overriding the nacp to allow running the game without a linked account, it hangs early on in the initial loading screen and eventually crashes back to the home menu. Maybe the games you have which require a linked account could work perfectly fine with this, or maybe not. It might be worth a try.

Oh hey, what do you know, I was just doing it wrong. You don't set startup_user_account=0, you set startup_user_account=1. Now Bloodstained runs fine without crashing, with no linked Nintendo account.

So I suggest: get sys-tweak, make a folder in atmosphere/contents for each of your games that require a linked account to run, and make a config.ini like this in it:

[override_nacp]
startup_user_account=1

See if this works and if you're able to run all of your games with Nintendo account unlinked. This should hopefully avoid the issue of too many erpt reports being created, while still being able to play your games.

@NonaSuomy
Copy link

Had this issue as well when I linked the accounts with linkhalo It fiercely generated 10K erpt_reports in 1 night causing the system to slow to a crawl. Atmosphere should toss up a warning when this folder becomes polluted or fix why having a linked account causes this issue. Ideally, it doesn't seem like I needed a linked account for anything after unlinking them. It stopped generating the reports and everything worked fine again after purging the folder. The only reason I did it was I had a corrupted DLC that was tossing up Nintendo account-required message after reinstalling again without the DLC that message stopped as well.

@ehx-v1
Copy link

ehx-v1 commented Sep 11, 2023

fix why having a linked account causes this issue

That's the whole Nintendo Network problem, seems like it tries to look up the linked account and fails.

a corrupted DLC that was tossing up Nintendo account-required message

That kind of stuff can be forced to shut up with sys-tweak as described above, seems the much better option to me compared to setting up a linked account literally nothing for Singleplayer has any business needing.

@springroll-xx
Copy link

Had this issue as well when I linked the accounts with linkhalo It fiercely generated 10K erpt_reports in 1 night causing the system to slow to a crawl. Atmosphere should toss up a warning when this folder becomes polluted or fix why having a linked account causes this issue. Ideally, it doesn't seem like I needed a linked account for anything after unlinking them. It stopped generating the reports and everything worked fine again after purging the folder. The only reason I did it was I had a corrupted DLC that was tossing up Nintendo account-required message after reinstalling again without the DLC that message stopped as well.

How does one know which DLC is corrupted that would toss up account-required message?

@NonaSuomy
Copy link

NonaSuomy commented Sep 27, 2023

That kind of stuff can be forced to shut up with sys-tweak as described above, seems the much better option to me compared to setting up a linked account literally nothing for Singleplayer has any business needing.

So I just found one thing that now doesn't work without linked accounts is the online official emulators. After removing all the linked accounts they no longer work for me (They were working fine before but I linked the accounts I think with tinfoil). Do you know of a way to get these working without linked accounts? As when I try to link accounts in tinfoil now it tosses up an error and then crashes the system.

@NonaSuomy
Copy link

Had this issue as well when I linked the accounts with linkhalo It fiercely generated 10K erpt_reports in 1 night causing the system to slow to a crawl. Atmosphere should toss up a warning when this folder becomes polluted or fix why having a linked account causes this issue. Ideally, it doesn't seem like I needed a linked account for anything after unlinking them. It stopped generating the reports and everything worked fine again after purging the folder. The only reason I did it was I had a corrupted DLC that was tossing up Nintendo account-required message after reinstalling again without the DLC that message stopped as well.

How does one know which DLC is corrupted that would toss up account-required message?

It only tosses up that error when you open that game so I would say delete each update/dlc with tinfoil update remove options until the error goes away then download fresh/working ones then add them back and see what happens.

@lucasvm01
Copy link

Hello, I apologize if I should not ask about it here, and if not, please tell me where to.
I'm currently using FW 17.0.1 and AMS 1.6.2.

I was trying to play the Nintendo Switch Online games, which require a link to a Nintendo account, so I used Tinfoil to fake link an account and soon got this flood of errors on my atmosphere/content/erpt_reports folder.
I tried the sugestion from @Ammako:

So I suggest: get sys-tweak, make a folder in atmosphere/contents for each of your games that require a linked account to run, and make a config.ini like this in it:

[override_nacp]
startup_user_account=1

See if this works and if you're able to run all of your games with Nintendo account unlinked. This should hopefully avoid the issue of too many erpt reports being created, while still being able to play your games.

And it did not work on the Nintendo Switch Online games (all of them), so I tried it on the game they previously tried, Bloodstained: Ritual of the Night, and it did work.
So I'm guessing it doesn't work on the Nintendo Switch Online games specifically.

I would like to ask if anyone has found a solution for playing those games, without fake linking an account or downloading Retroarch or another third party emulator.

@Ammako
Copy link

Ammako commented Mar 30, 2024

You're better off playing the NSO emulators on OFW. If you don't actually have NSO or you're banned, this means you're pirating the NSO apps, which isn't supported here.

I don't know why some single-player games require a linked Nintendo account even for the physical copies, but sys-tweak can bypass that and let those games run at least. For digital copies of games, you can't do that, because HOS needs the account that purchased the game to be linked, or it will not launch the game. It might be possible to patch out that account check, which would allow you to unlink your account without breaking your games, but nobody's done that yet.

The alternative for digital games would require replacing the personalized ticket with an illegitimate common ticket, which would require signature patches to run, which is explicitly unsupported by Atmosphere (piracy.)

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

No branches or pull requests