O-n-y / oxy.mods

Oxy.BugTracker
17 stars 2 forks source link

[NoDrop 1.1.0.15] NullReferenceException since the last update (VANILLA) 455509 #45

Closed michaelvolz closed 3 years ago

michaelvolz commented 3 years ago

supportedContent: VANILLA_ID lastWorkingBuild: 455509

NullReferenceException

UnityEngine.GameObject.GetComponent[T] () (at <b8388ffefd6046f8a7b4080349da72eb>:0)
Ony.OxygenNotIncluded.NoDrop.CarriedItemsComponent.FixedUpdate () (at <bac14f8a09924b34a319e61f4e76b512>:0)

Happens after some time, only sporadically.

Great Mod, keep up the good work please!

O-n-y commented 3 years ago

Make a proper issue request, provide mod version you have installed. HowTo: https://github.com/O-n-y/oxy.mods

O-n-y commented 3 years ago

Re-open, once provided more details

jpetays commented 3 years ago

I got this same exception second time. First time I let it go (about a month ago or so).

Build: CS-460672 and not other DLC installed.

My Workshop page says: No Drop // by @Ony 👾 Oxygen Not Included Subscribed on 3 Jan @ 7:19pm Last Updated 22 Apr @ 12:12pm

ModManager says that this mod appears to be up to date with same date as above.

CarriedItemsComponent FixedUpdate() method should not be so hard to double check what is causing this? I have currently 49 mods installed and none of the others had caused any problems this year so far.

NullReferenceException

UnityEngine.GameObject.GetComponent[T] () (at <b8388ffefd6046f8a7b4080349da72eb>:0)
Ony.OxygenNotIncluded.NoDrop.CarriedItemsComponent.FixedUpdate () (at <bac14f8a09924b34a319e61f4e76b512>:0)
O-n-y commented 3 years ago

There is still no information about which exact version of the mod you have. You can check it in the file itself or using Mod Manager.

O-n-y commented 3 years ago

Please do read carefully how to report issue: HowTo: https://github.com/O-n-y/oxy.mods

jpetays commented 3 years ago

How to report bug: Go to: https://github.com/O-n-y/oxy.mods/issues -> I am following instructions provided on the above mentioned page best I can

Create new issue with mod label Write full description of issue and the way to reproduce it -> the issue is that Ony.OxygenNotIncluded.NoDrop.CarriedItemsComponent throws NRE unexpectedly while playing the game. For me this has happened twice since I installed the mod on 3 Jan @ 7:19pm. AFAIK both happened during last month or so.

Provide mod version you have (you can see it by using my mod "Mod Manager" https://steamcommunity.com/sharedfiles/filedetails/?id=1843965353) -> Screenshot attached, need more instructions to provide more details if this is not what you want.

Attach game save file (game should be started with any other mod enabled, to be sure issue not caused by some other mod) -> Two save files attached, one after when the NRE has happened and one after it has not happened yet (and some other mods unused removed).

If I could find the file for the code (either .cs or binary MSIL) I could see it for myself to try to find all components in FixedUpdate() that are accessed without checking if they can be null.

mod_manager_issue_45

Cesspool.zip

O-n-y commented 3 years ago

Your screenshot not done with Mod Manager (this is some other mod), please provide mod version you are using.

jpetays commented 3 years ago

Now I got the correct mod manager - this is great!

Release_DLC1.Mod.NoDrop.dll version is 1.1.0.15 (on my mod folder).

I checked out CarriedItemsComponent FixedUpdate() and it seems that GetComponent is called three times in logging statements using input.GetComponent. If I understand it correctly, input is checked against NULL in foreach (GameObject input in this.GetItems()) but not in for loop that comes later: for (int index = 0; index < items.Count; ++index). Of course DropManager.Drop can return false if input is NULL so last logging statement is guarded against null as well?

The call stack is so short that I assume that NRE comes in FixedUpdate() itself but that may not be the case?

oni_mods_by_oby

O-n-y commented 3 years ago

thank you for the provided information will be checking it out!

O-n-y commented 3 years ago

Running your save file, not yet able to reproduce, how often do this happen? Could you maybe provide save file, when it should happen in a bit? (i.e. game was saves and then it happen) So it would be more easy to reproduce.

O-n-y commented 3 years ago

I managed to reproduce, fix should be in next release build

O-n-y commented 3 years ago

Fixed in 1.1.1.16