Fatal error: Secure1 KeyX and Secure2 KeyX missing (Tomodachi Life)

Issue:
After loading shaders and attempting to load into the game, the game shows a fatal error (linked below) and when attempting to continue, it continuously gives more fatal errors (all of them seemed to be the same).

I also just updated Citra, but don’t know if it was broken earlier as I didn’t play it before.

Also, it still didn’t work when using a different rom (it did work with other games, though).

This may not mean anything, but I also just realized when screenshotting that it said there were 0/0 shaders loaded, even though it prepared 17.5k just before.

System Information

  • Operating System: Windows 10
  • CPU: Ryzen 5 2600
  • GPU: EVGA RTX 2060
  • Citra Version (found in title bar): Nightly 1952 (latest)
  • Game: Tomodachi Life (Europe/Australia)
  • Screenshot of Issue (include the full Citra window including titlebar):

Diagnostic Log
(it was really large due to a lot of memory failures)

In order for us to provide better support, we need to see the log generated by citra. This guide will walk you through how you can obtain the log file: How to Upload the Log File

The log is uploaded, btw. The bot just doesn’t see Google Drive, I guess.

Please upload a public link to the log file, it’s currently private. That, or upload the log file directly to your forum text box.

Sorry i thought it was. This should work, though: citra_log.txt - Google Drive

The last memory block seems to be referencing the same two things repeatedly, which is weird, but probably doesnt matter as much as the first part. Just thought that looked weird when scrolling through some more.

Go to Emulation>Configure>General and set your Region back to Auto-select. There is no reason to change this, and you shouldn’t be touching this unless you know what you’re doing.

Okay that did fix it. Maybe add a warning though? When I’m going through settings (as someone who works with and understands computers very well) even I don’t think of that as a problem. I’m going to assume that’s because the European version is not compatible with an American system, but that is very unclear. I don’t know if you’re a dev, but PLEASE tell them to add something to warn people about that.

I’d argue that, as someone who works with and understands computers very well, you should already know not to mess with settings when you have no idea what they do, and as such a person, you should’ve noticed the Reset All Settings button on the exact same page and thought “Hmmm, I’m having issues with this program after I modified its settings in the past, maybe I should reset them to default to see if I caused the issue somehow”. This would’ve also solved your issue.

We’ve tried adding warnings to settings before, the vast majority ignores them. We have a lot of settings that users shouldn’t touch if they don’t know what those do, but we trust them to use their common sense to not play with what they don’t understand. Or at the very least, to ask someone who knows what they do beforehand.

Edit: sorry for the rant lol

Not to turn this into an argument, but I REALLY don’t think that settings “I shouldn’t be messing with” should be a GENERAL option. Put it in the advanced menu if I shouldn’t be touching it. At least then I know it’s my fault for touching it and I’ll admit that’s my mistake.

General options are there to be messed with. Advanced are not.

That’s just called bad organization and anti-user-friendliness. I know emulators aren’t meant to be user-friendly, but it’s never a bad idea to simplify something for the user.

And the fact that a small-looking setting that seems like no big deal breaks something just seems like a problem to me. The name is so inviting to change (region is like date/time; people will change it to their specific region), and even if it were just called something like “internal region”, it would be SO much better.

Oftentimes, things like regions are “auto-detected” incorrectly. If I can input the EXACT value that I want (which I will probably never have to change), I will. Because I assume that LESS will break that way.

I’m not a developer on the Citra team. I don’t know the ins and outs, so how do you expect me to think that this unassuming value that is BEGGING to be changed is going to cause such volatility?

And on the reset button. Just because something is there that helps fix a problem, doesn’t mean that’s the first thing that will come to mind for anyone trying to solve an issue. You need to realize that almost EVERY settings menu nowadays has a reset button, and almost never does it get pressed.

And as the user of a product, if there is a support team, I will most certainly go to support before resetting ALL of my settings that I have meticulously set to NOT break my games over the course of however long I’ve been using the software.

Citra is buggy. I don’t want to break everything else just to figure out how to fix a singular game if I don’t have to.

As for warnings, I get that. But at that point, it’s the user’s fault for not listening to them. At least in that scenario, you have reason to put blame on the user and call it user error.

And no. I’m not going to ask someone on the internet a thousand times what each individual setting does. Responses can take a long time and there’s a lot of settings. Neither the user nor the individual helping them is going to sit through all of that.

And I am a programmer myself. I deal with complex settings all of the time. But “region” has NEVER been a “complex setting” in ANY program I have EVER used.

And I can assure you that I know what the word “region” means. I can assure you that almost anyone able to figure out how to get Citra to work in the first place does too. As users, if we feel as though we understand what the setting does, we will change it to our liking. That’s what a setting is for. I used my common sense, but obviously the UI designers didn’t.

If any of my suggestions sound even remotely easy, though, I don’t see the problem in changing it. Software is for the user. If the majority of users can’t instantly understand something that sounds as simple as that, I’d fix it. And seeing as it causes fatal errors and draws people away from using it, it would be high on my priority list. But that’s just me.

And I get that I probably sound like an annoying asswipe saying it like this (and I don’t mean it that way, especially towards you since you might not even be a dev), but this is a very frustrating solution for something that never should have happened and I don’t feel is my (or any user’s) fault.

That being said, I would appreciate a change, but feel free to ignore this. You are a part of the support team and almost definitely are in contact with the devs. You have the option to suggest (or even mention) any of these ideas to the team, so feel free to do whatever you like. I don’t have any power here, and I’m not going to act like I do.

Again, please don’t take this the wrong way. It’s just frustrating on my end that this is even an issue in the first place.

This isn’t even about emulators specifically. In general, PC users, such as yourself, are given a lot of options that you can freely configure that can completely mess up the user experience if you don’t know what you’re doing. That goes for the OS, and the programs you use, especially open source ones which tend to have feature creep infested settings. On emulators, that is even more so the case, since we’re emulating an entire system. There are lots of nuanced settings that users may need to access for emulating different parts of the 3DS/games.

You didn’t understand what the setting did, and assumed it wasn’t a problem to mess with it. That notion itself is strange to me, since the options for Region were clearly limited to specific Nintendo regions. You know that Nintendo 3DS games have always been region-locked (at least you should if you even owned a 3DS/2DS, and that should be the case if you’re emulating legally), so all users should know, that region settings shouldn’t mismatch with their game dumps. And even if they don’t know this, I would expect users to know what region their games are from, since they either live there, or they specifically imported a game from another region (which is expensive to the degree that you would only ever do this, if you were already aware of the region-lock on the games). So at least for this specific setting, I can’t agree with you.

Refer to what I said above. This would not have been an issue had you used the correct region for your game, which you should’ve already known. Regardless, assuming that an implementation is bugged (auto-select) before you’ve even experienced said bug with the program… I don’t get that, especially since this isn’t bugged in Citra, and I don’t think we’ve ever had a single bug with it. You say later on that you’re a programmer yourself, would you intentionally use a bugged setting as the default, and expect users to know about said “probable” bug with your auto-detect feature in advance? You think, we do that? I don’t see any other way to take that statement… If something is known to be buggy, we’re obviously not going to use it as the default…

Given what I’ve said about this setting earlier, I can only read this “BEGGING to be changed” as “If I see a big red button, I’m going to press it, regardless of whether I know about what it’s going to do.”

That doesn’t appear to be the case from my experience. From what I’ve seen, people do that a lot. There are plenty of support requests we get where users say that they’ve deleted the qt-config file (reset the settings manually), or used our button for it, but couldn’t fix the problem. So they asked us for more help.

“As someone who works with and understands computers very well”, I would expect you to be capable of backing up your Citra’s config (qt-config.ini) file before wiping your settings, not like Citra doesn’t have wikis explaining where to find said config file on our GitHub repo for advanced users such as yourself.

If you encounter any bugs, feel free to report them to us on our GitHub issues page: Issues · citra-emu/citra · GitHub

Fair point, but as I’ve said previously, we have a lot of settings which can mess up one’s experience if a user plays with them. If we have to add warnings to all of those settings, our entire UI would become a huge clutter-fest of warnings. Which isn’t ideal either. Also, we used to have a CPU Clock Speed slider in the System settings, where it belonged. It had a huge warning under this, saying not to touch this if you don’t know what you’re doing, and that underclocking or overclocking could lead to freezes. People ignored the warning and played with it constantly, to the point where we just moved the whole slider, including the warning, to the Debug tab. Now, we have barely anyone who still messes with it. We went from at least 12 a week, to a couple per month.

Fair point. I should get around to making a big forum post with all the settings and an explanation for them at some point. I’ll try to get to it within the next week :+1:

We assumed that you’d know about the 3DS’ region lock. Since you should be the owner of one. Refer to what I wrote earlier.

This would only happen if you manually configure it to a region that doesn’t match your game’s, which is incredibly unlikely unless you just accidentally clicked the wrong region and missed the misconfiguration. As for whether it’s easy to change or not, refer to what I said earlier about cluttering the UI.

I disagree. Refer to what I said previously as to why I think so.

Even if I may disagree with who, or what, was at fault for this misconfiguration, the rest of team may not necessarily agree with my disagreement. So, as with the bug report I mentioned earlier, feel free to open up a Feature Request on the GitHub issues page to give a suggestion to your liking. Or, you can open up a Pull Request to change this yourself, as you mentioned you are a programmer earlier.
I think a good compromise here, would be to move the Region selector to the System settings. It wouldn’t be out of place there per-say, and it may prevent users such as yourself from dismissing its importance to the emulation.

As a closing statement:
I’m in no way saying that you, as a competent PC user, shouldn’t ask for support with your issue first. That is absolutely fine, even if you caused it yourself. We’re here to help, after all. However, you seem adamant on pushing the narrative that, “if only Citra had hidden away this very specific setting, or added warnings for me, I wouldn’t have made this mistake, and thus all of this was Citra’s fault.” That rubs me the wrong way. Especially since this issue is very rare. Only a handful of users come to us with a region mismatch fatal error each year, and 90% of the time, it’s because they downloaded some dumbass youtuber’s config file who had their region set to something other than what the user’s dumps are. You’re part of only several users who actually accidentally set their region to something other than their game’s region. So your portrayal of this issue as something that naturally must happen commonly, isn’t correct. At least, not from what I’ve encountered while doing support for the past 3 years. I’m not a fan of cluttering the UI with warnings, or moving settings around, to benefit an incredibly tiny amount of the user-base into not making a mistake that can be very easily rectified, either by resetting their settings, or by asking us for support. That being said, we can agree to disagree. You’re still free to open up a feature request for this, or a PR to change it to what you think is better. That’s the beauty of open source.

All fair points. However, I do have my reasons for the mismatch and yet I still do own Tomodachi Life and a (somehow still functioning) 3DS.

I will say that it was an oversight on my part to expect that version to work with my current region, but that was still no where near being on my mind when I first had the issue. Probably because I have only played roms that have my current region on Citra. I had no reason to suspect that the region was the issue as I most likely changed that setting when I first got Citra a long time ago due to my “habit” of pressing big red buttons.

I do agree on the settings all having warnings being overkill, but I still think it would be nice to have some implementation of them. It feels more like my fault if there is an obvious reason for it. Also, it can prevent me from doing what I did and changing a setting forever ago and coming back confused later as I can simply look through my settings and see a setting that has a warning on it is currently turned on and mess with that to see if it will work. When I was troubleshooting, I saw nothing like that. Just an inconspicuous dropdown menu (or at least it looks like that to me).

Although you did say yourself that moving a setting to a different tab fixed one of your issues, so why is this any different? At least with this one, the advanced tab usually includes settings that could fit in the general tab that the average user shouldn’t be touching.

Also, I didn’t mean that I thought the auto-detect was bugged. It’s just that in a lot of programs, auto-detect features don’t work for certain systems. Sure, it’s the default and should be trusted more than the others, but then again many other options in Citra are the same way but still didn’t work for me, personally. It just seemed like a safer bet to explicitly state the one I wanted rather than have it figure it out on it’s own.

But I will say I am a person who changes settings pre-emptively, and maybe it’s not always good to do that. However, it rarely has such a huge effect as this, and is usually more helpful than not, from what I can tell. Because of that, I also probably had a lot of bias on that one claim of people changing it just in case because I’m the sort of person that does that. I felt like that was a normal thing to do, but then again I’m not a very “normal” person so I don’t know why I thought that way lol.

And on top of that, am I weird for not paying as much attention to software I use for entertainment purposes? If anything, I’m probably going to use the easy way out in most scenarios because I just sat down wanting to play some video games and to get away from the constant troubleshooting of working with something like Unity C#.

And I didn’t even know there was a wiki if I’m being honest (although it would probably be apparent if I ever had to do deeper research for Citra, but usually just messing with stuff or scrolling through year old Reddit posts works eventually). Maybe then I would know where your config files are and then I could back them up, but just because I’m experienced with computers doesn’t mean that I’m used to backing up config files. If I’m being honest, I’ve never even done that before and would be cautious even thinking about doing that since there might be bugs whenever I try to manually revert. If I knew that it was okay to do and were thinking about config files, I might have done that.

But that being said, you’re entitled to your opinion. I believe otherwise and have my reasons, but so do you.

And sorry if these sound like excuses, most likely because they probably are. I don’t know how to sugarcoat that, if I’m being honest. Like I said, when I’m playing games, I’m not here to spend hours on troubleshooting. I just want to play.

But thank you for being reasonable. I’d being lying if I said that I was expecting you to be, because most people I come across aren’t.

And one last question: is the forum post thing sarcasm? I legitimately can’t tell lol

In general, an emulator is an advanced program. You want your settings to be in the correct tab for them. Taking the CPU Clock Speed slider from System, where it obviously belongs as it’s a fundamental system setting, to the Debug settings, is a bad thing to do from a clarity perspective. It’s not a Debug setting at all. In fact, not changing it from default is how you should be troubleshooting any issue, since it’s more likely to cause issues than not. We simply had to move it there because way too many people kept playing with it (setting it to 400% and such…). We were forced to by the amount of support requests. As I said in my previous post, that isn’t he case with the Region setting. Barely any users have issues with it, and for the majority that do, it wouldn’t help them to do this (if they replaced their config file with someone else’s, they’re not manually changing the settings anyways).

You mentioned having a buggy experience twice now. Are you referring to anything specific?

Not really, but this isn’t too dissimilar from misconfiguring a game’s graphical settings, making it unplayable. The only difference is that an emulator is a lot more complicated than normal games, so not every setting’s purpose is clear to the user. I never claimed that your issue wasn’t understandable, more so that the cause of the mistake wasn’t entirely on Citra’s end, as you appeared to imply.

Just File>Open Citra Folder → config folder, if you’re interested :slight_smile:

It’s fine. I had no need to respond to every bit, or any bit, of your “rant” either. I simply felt like doing so, so there’s no need for you to apologize :stuck_out_tongue:

I’m as reasonable as my mood allows me to be…is what the truth actually is. Though I’m sure the correct answer is “I always try to be reasonable”. I’m sure you know what I mean xD
I try not to respond at all if I’m in a bitchy mood, since I’ll end up regretting the tone I took later on.

I don’t blame you, I was being sassy in some of the responses, since I was typing on autopilot. Sorry if it came across as mockery :sweat_smile:

I don’t blame you for saying it how you did lol. I did the same thing for my first one because I was just a little annoyed. Luckily I love to look over everything I say like twenty times, so you got a calmer version lmao

As for bugs, I don’t remember any specific ones, but I know I’ve had at least like five pretty tough bug fixes when using Citra, which I’m fairly certain were mainly due to settings. My computer seems to love to break at any slight problem, including constant crashing and BSODs, and I’m assuming something is just wrong with my computer. So I can’t even say for certain that they were “Citra problems”, but I can say that oftentimes messing with Citra and roms in general is a messy experience, sometimes even after you get it all set up.

But yeah, as much fun as I’ve had typing essays to you, I think we probably should both stop lol.

Although really, was that sarcasm or no?

Emulators run in strange ways, and do many weird things, since they’re pretending to be an entirely different system. So it often hits edge cases. We’ve had a lot of people over the years with unstable or half-broken Windows installations complain that Citra broke their PC, when in actuality, Citra exposed the faults that were already there. It happens. Though, if you encounter another bug that appears from Citra’s end, feel free to let us know.

I guess we’ll never know :stuck_out_tongue: