Registration Event SIGSEGV

Although this is continuation of…65#post1637065, but the discussion deserves a separate thread of its own. The relevant code is in…yncLoading.cpp

        if (!ExistingState)
            if (NotifyRegistrationPhase != ENotifyRegistrationPhase::NRP_Added)
                UE_LOG(LogStreaming, Fatal, TEXT("Attempt to process %s before it has been added."), *LongFName.ToString());
            FEDLBootObjectState NewState;
            NewState.LastNotifyRegistrationPhase = NotifyRegistrationPhase;
            NewState.NotifyRegistrationType = NotifyRegistrationType;
            NewState.Register = InRegister;
            NewState.bDynamic = InbDynamic;
            PathToState.Add(LongFName, NewState);

            if (!ExistingPackageState)
                NewState.NotifyRegistrationType = ENotifyRegistrationType::NRT_Package;
                PathToState.Add(PackageFName, NewState);

The fault is due to the Fatal log. Now if ExistingState is nullptr, then that could be due to PathToState being empty (and that is what I found while using GDB debugger!). But next lines do seem to recognize NewState and add that to PathToState. My contention is that after the recognition, the function should be reiterated and Fatal should be changed to Warning for all iterations.

If that is right, then I might open another pull request. Epic did register my last pull request :smiley:

I am cooking with the new Engine code and it seems to work so far.