Open Tekaoh opened 5 years ago
It seems like sometimes only some clothing items are missing. Also, if a toon is created but missing (for example) a shirt, but then I equip a shirt before restarting the server, the shirt I was supposed to get will generate an error just like the other ones posted above.
Since I began running the server on bare metal, I haven't seen this happen again. My virtualized environment was pretty under-powered... (2 cpu cores and typically 8GB ram. Only running one or two zones at a time, but still.) My best guess is that a less-than-ideal amount of cpu power may have been responsible for something funny happening during character creation. It's still strange to me that I never had this happen on older VMs (like circa 2017 Erusman VMs) on the same hardware, but then had it happen so consistently more recently on VMs that are really not that different. Maybe my cpu is slowing losing performance with age or something... In any case, the workaround was to use better hardware lol. I'm closing this issue because it's probably not worth investigating to learn exactly what was happening.
This issue has reappeared for some others in Discord. It might still be worth looking into after all.
Here's another sample of console output from someone encountering this issue while making a character. https://pastebin.com/DNLqWCJt
something is telling me it might client side cause I never did a server restart. I only closed out the client and logged back in and when I logged back into the station, my toon had her hair and clothes on
From my troubleshooting, it looks like this is more or less what's happening: When a character is created, the extra objects are created along with it BUT NOT ATTACHED to the character. They're stuck in limbo. That includes tangible objects like clothes and hair, but it also includes nontangible objects like bank, inventory, default_weapon (i.e. your ability to punch something), mission_bag, appearance_inventory, and datapad. When the character lands in the world, the server throws a fit about the missing NONTANGIBLE objects, creates new ones, and attaches them to the character. That's the "Player has lost their datapad" etc errors. When you either relog or reboot the server, the items in limbo from before try to then get attached to the character. In the case of the NONTANGIBLE objects, you get console errors saying that they could not depersist into the container. The reason is that those slots are already occupied by the second set of objects that the server made to allow you to enter the world. You can see this by digging into the database and seeing two of each of those objects now apparently contained by your character. In the case of clothes, they appear on your toon because those spots are available. IF YOU HAD PUT ON OTHER CLOTHES before these items tried to depersist, you would get console errors about those items too for the same reason, i.e., those slots are already occupied by the other clothes you put on. The same is actually true if you had an image designer give you new hair before your starter hair tried to depersist. The bug is actually this: Why are these additional objects not ending up in the container in which they are supposed to exist when they are created?
Just to add to this... we saw this happen with the 2.1 VM when the C++ libraries were out of sync. I think it's possible that the system you see this on is related to your environment rather than the code directly. Having out of date libraries caused some of the code to not function properly based on how it's currently written. For example, "collection->erase()" caused issues with the std::set library. When I dug into it, I found this was an issue with an older version of std::set that has since been resolved. I'm sure that what caused the issue you're seeing here is very much related. The only thing that is "practical" here is to update your libraries on your VM or your bare metal to a set that is known to work. This would be a good test to determine if they work. Another way to test if you have a good set of libs is to attempt to do some of the assassinate missions in space which are also known to cause the issue.
I spun up a fresh v2.2 VM today just to test it out and I made just one toon and it seems to have worked fine, so that's good.
I last saw this bug on SWG Source v1.2 and v1.2.1 (I don't think I ever tried v1.0 or v1.1) and possibly also some Erusman VMs. I unpacked a fresh v1.2.1 VM today to test it again, and the first toon I made had only some clothes on while other clothes were missing.
For what it's worth, I've never once had this bug on my physical Ubuntu server. That includes before and after the Java 11 update, which probably doesn't matter anyways. That server was built using these dependencies as my guide, which are presumably the same ones used to build the Erusman and SWG Source 1.x series VMs: https://github.com/SWG-Source/swg-main/blob/master/utils/init/debian.sh#L23-L29
I'll just close this up again since it doesn't seem to affect the vast majority of users.
Months later, I spun up a new VM on my laptop and had the same issue again. Interestingly, I scrapped it and built a new one with less RAM for the VM and for the Oracle Database, and that seems to have resolved my issue! Maybe it was my host and my client that were being starved for resources?
it croped up again on the 3.0 irish build vm with latest pull on all master repo code
i created a new char it was nude so i checked the output on the treminal to find the following
https://cdn.discordapp.com/attachments/449692955524071434/797126104510365707/unknown.png
i rebooted the server to get this apon the new char login
https://cdn.discordapp.com/attachments/449692955524071434/797130286806204426/unknown.png
I am wondering if this may be another symptom of the issue patrick-SEWOI pointed out related to the ORA PGA/SGA size defaults.
Honestly, by what he was explaining, I could see that being a thing.
I've seen this issue quite a few times. I thought it was just me, but @AlecH92 mentioned that he saw it too.
Sometimes, when creating a new character, the toon will spawn in Mos Eisley with no clothes or hair. When that happens, the following also shows up on the server's console: (where Player 13021818 is the one I just made)
If I then immediately shut down the server and restart it and log in again, my clothes and hair appear, but now the following is in the console:
These errors will appear every time I start the server and then log in.
In SQL Developer, I can see that those 5 objects got created twice. They are my datapad, bank, mission_bag, appearance_inventory, and default_weapon.
Also sometimes starting items like Jabba's Comlink are missing.