Announcement

Collapse
No announcement yet.

New compile error in the Editor

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

    New compile error in the Editor

    Howdy! I am facing a new error, now, spit by the unreal editor which looks like
    Code:
    LogBlueprint: Error: [Compiler GameSpeedMutatorMenu] In use pin  <Unnamed>  no longer exists on node  SaveConfig . Please refresh node or break links to remove pin.
    LogBlueprint: Error: [Compiler GameSpeedMutatorMenu] In use pin  <Unnamed>  no longer exists on node  SaveConfig . Please refresh node or break links to remove pin.
    LogBlueprint: Error: [Compiler GameSpeedMutatorMenu] In use pin  Obj  no longer exists on node  SaveConfig . Please refresh node or break links to remove pin.
    LogBlueprint: Error: [Compiler GameSpeedMutatorMenu] Could not find a function named "SaveConfig" in 'UTGameplayStatics'.
    Make sure 'UTGameplayStatics' has been compiled for  SaveConfig
    LogBlueprint: Warning: [Compiler GameSpeedMutatorMenu] [0032.82] Compile of GameSpeedMutatorMenu failed. 4 Fatal Issue(s) 0 Warning(s) [in 8 ms] (/Game/RestrictedAssets/Blueprints/GameSpeedMutatorMenu.GameSpeedMutatorMenu)
    LogBlueprint: Warning: [Compiler ArenaMutatorMenu] Input pin  SpawnEvenIfColliding  specifying non-default value no longer exists on node  SpawnActor UTMutator Weapon Arena . Please refresh node or reset pin to default value to remove pin.
    LogBlueprint: Error: [Compiler ArenaMutatorMenu] In use pin  <Unnamed>  no longer exists on node  SaveConfig . Please refresh node or break links to remove pin.
    LogBlueprint: Error: [Compiler ArenaMutatorMenu] In use pin  <Unnamed>  no longer exists on node  SaveConfig . Please refresh node or break links to remove pin.
    LogBlueprint: Error: [Compiler ArenaMutatorMenu] In use pin  Obj  no longer exists on node  SaveConfig . Please refresh node or break links to remove pin.
    LogBlueprint: Error: [Compiler ArenaMutatorMenu] Could not find a function named "SaveConfig" in 'UTGameplayStatics'.
    Make sure 'UTGameplayStatics' has been compiled for  SaveConfig
    while trying to package UT on Linux. Please note that I have already compiled the code using Qt Creator! I am assuming only editor can recognize the blueprint and related errors. Maybe I have to learn basic fundamentals of blueprint in order to move forward.
    Also I tried searching for the UTGameplayStatics blueprint in the Contents directory but without success

    Just for reference, I have compiled UT code https://github.com/EpicGames/UnrealTournament in Linux and loaded in the editor.

    The relevant snap is https://www.dropbox.com/s/hfcvf0fmwka7ahd/bp.png?dl=0
    Last edited by The-Cowboy; 06-28-2019, 12:49 AM.
    https://ravimohan.net/
    https://github.com/ravimohan1991

    #2
    Nevermind, a simple deletion and addition of SaveConfig node worked like a charm!
    https://ravimohan.net/
    https://github.com/ravimohan1991

    Comment


      #3
      Ok, new error of type
      Code:
      LogClass: Warning: FPlaylistItem::PlaylistId is not initialized properly
      LogClass: Warning: BoolProperty FPlaylistItem::bRanked is not initialized properly
      How am I supposed to get rid of this type of error spit by the editor (while packaging). The relevant struct is at https://github.com/EpicGames/UnrealT...lic/UTATypes.h
      https://ravimohan.net/
      https://github.com/ravimohan1991

      Comment


        #4
        You have to fix the struct constructor function.
        Instead of:
        Code:
        FPlaylistItem() {}
        Now you do this:
        Code:
        FPlaylistItem()
           : bRanked(false)
           ,  someValue(0.0f)
           ,  someString()
        {}
        | Savior | USQLite | FSM | Object Pool | Sound Occlusion | Property Transfer | Magic Nodes | MORE |

        Comment


          #5
          Bingo! That is it. However, I find the following definition of the constructor
          Code:
           FPlaylistItem() {     bRanked = false;     someValue = 0.0f;     someString = ""; }
          helpful for removing the warning. So the natural question is, what is the difference (me being new to native coding and all that)?
          Last edited by The-Cowboy; 06-28-2019, 09:34 PM.
          https://ravimohan.net/
          https://github.com/ravimohan1991

          Comment


            #6
            I think it's about language specification enforcement.
            There are several ways to write the same thing in C++, you can even write C and assembly code and make it work, so Epic is just trying to make sure everybody is on the same page of the book.
            | Savior | USQLite | FSM | Object Pool | Sound Occlusion | Property Transfer | Magic Nodes | MORE |

            Comment


              #7
              Cool!
              Fresh errors (as per IST )
              Code:
              UATHelper: Packaging (Linux):   LogMaterial: Display: Missing cached shader map for material DefaultSpriteMaterial, compiling.
              UATHelper: Packaging (Linux):   Fatal error: [File:/home/the_cowboy/unrealworks/UnrealEngine/Engine/Source/Runtime/CoreUObject/Private/Serialization/AsyncLoading.cpp] [Line: 754]
              UATHelper: Packaging (Linux):   Attempt to process /Script/BlueprintContext/BlueprintContextBase before it has been added.
              UATHelper: Packaging (Linux):   Signal 11 caught.
              UATHelper: Packaging (Linux):   Malloc Size=65538 LargeMemoryPoolOffset=65554
              UATHelper: Packaging (Linux):   Malloc Size=65535 LargeMemoryPoolOffset=131119
              UATHelper: Packaging (Linux):   Malloc Size=494160 LargeMemoryPoolOffset=625296
              UATHelper: Packaging (Linux):   LogMaterial: Display: Missing cached shader map for material DefaultSpriteMaterial, compiling.
              UATHelper: Packaging (Linux):   LogCore: Error: appError called: Assertion failed:  [File:/home/the_cowboy/unrealworks/UnrealEngine/Engine/Source/Runtime/CoreUObject/Private/Serialization/AsyncLoading.cpp] [Line: 754]
              UATHelper: Packaging (Linux):   Attempt to process /Script/BlueprintContext/BlueprintContextBase before it has been added.
              UATHelper: Packaging (Linux):  
              PackagingResults: Error: [File:/home/the_cowboy/unrealworks/UnrealEngine/Engine/Source/Runtime/CoreUObject/Private/Serialization/AsyncLoading.cpp] [Line: 754]
              PackagingResults: Error: appError called: Assertion failed:  [File:/home/the_cowboy/unrealworks/UnrealEngine/Engine/Source/Runtime/CoreUObject/Private/Serialization/AsyncLoading.cpp] [Line: 754]
              UATHelper: Packaging (Linux):   LogCore: Error: appError called: Assertion failed:  [File:/home/the_cowboy/unrealworks/UnrealEngine/Engine/Source/Runtime/CoreUObject/Private/Serialization/AsyncLoading.cpp] [Line: 754]
              UATHelper: Packaging (Linux):   Attempt to process /Script/BlueprintContext/BlueprintContextBase before it has been added.
              UATHelper: Packaging (Linux):  
              UATHelper: Packaging (Linux):   CommonUnixCrashHandler: Signal=11
              UATHelper: Packaging (Linux):   LogCore: === Critical error: ===
              UATHelper: Packaging (Linux):   Unhandled Exception: SIGSEGV: invalid attempt to read memory at address 0x0000000000003b85
              UATHelper: Packaging (Linux):  
              UATHelper: Packaging (Linux):   LogCore: Assertion failed:  [File:/home/the_cowboy/unrealworks/UnrealEngine/Engine/Source/Runtime/CoreUObject/Private/Serialization/AsyncLoading.cpp] [Line: 754]
              UATHelper: Packaging (Linux):   Attempt to process /Script/BlueprintContext/BlueprintContextBase before it has been added.
              Relevant files
              1. https://github.com/EpicGames/UnrealE...yncLoading.cpp
              2. https://github.com/EpicGames/UnrealT...tContextBase.h
              3. https://github.com/EpicGames/UnrealT...ontextBase.cpp

              I don't even know what it means.
              Last edited by The-Cowboy; 06-30-2019, 09:38 PM.
              https://ravimohan.net/
              https://github.com/ravimohan1991

              Comment


                #8
                I am beginning to understand the origin of the error. One of the reasons SIGSEGV can be caused by deferencing a NULL pointer. With this philosophy another look at the log reveals a relevant section
                Code:
                UATHelper: Packaging (Linux):   0x00007f4c891720dd libUE4Editor-Core.so!FUnixErrorOutputDevice::Serialize(char16_t const*, ELogVerbosity::Type, FName const&) [/home/the_cowboy/unrealworks/UnrealEngine/Engine/Source/Runtime/Core/Private/Unix/UnixErrorOutputDevice.cpp:70]
                UATHelper: Packaging (Linux):   0x00007f4c88f9c15b libUE4Editor-Core.so!FOutputDevice::LogfImpl(char16_t const*, ...) [/home/the_cowboy/unrealworks/UnrealEngine/Engine/Source/Runtime/Core/Private/Misc/OutputDevice.cpp:71]
                UATHelper: Packaging (Linux):   0x00007f4c88f2a039 libUE4Editor-Core.so!FDebug::AssertFailed(char const*, char const*, int, char16_t const*, ...) [/home/the_cowboy/unrealworks/UnrealEngine/Engine/Source/Runtime/Core/Private/Misc/AssertionMacros.cpp:440]
                UATHelper: Packaging (Linux):   0x00007f4c885d8fea libUE4Editor-CoreUObject.so!FEDLBootNotificationManager::NotifyRegistrationEvent(char16_t const*, char16_t const*, ENotifyRegistrationType, ENotifyRegistrationPhase, UObject* (*)(), bool) [/home/the_cowboy/unrealworks/UnrealEngine/Engine/Source/Runtime/CoreUObject/Private/Serialization/AsyncLoading.cpp:754]
                UATHelper: Packaging (Linux):   0x00007f4c885c84ec libUE4Editor-CoreUObject.so!NotifyRegistrationEvent(char16_t const*, char16_t const*, ENotifyRegistrationType, ENotifyRegistrationPhase, UObject* (*)(), bool) [/home/the_cowboy/unrealworks/UnrealEngine/Engine/Source/Runtime/CoreUObject/Private/Serialization/AsyncLoading.cpp:7466]
                UATHelper: Packaging (Linux):   0x00007f4c88621270 libUE4Editor-CoreUObject.so!InitializePrivateStaticClass(UClass*, UClass*, UClass*, char16_t const*, char16_t const*) [/home/the_cowboy/unrealworks/UnrealEngine/Engine/Source/Runtime/CoreUObject/Private/UObject/Class.cpp:82]
                UATHelper: Packaging (Linux):   0x00007f4c886235bc libUE4Editor-CoreUObject.so!GetPrivateStaticClassBody(char16_t const*, char16_t const*, UClass*&, void (*)(), unsigned int, EClassFlags, EClassCastFlags, char16_t const*, void (*)(FObjectInitializer const&), UObject* (*)(FVTableHelper&), void (*)(UObject*, FReferenceCollector&), UClass* (*)(), UClass* (*)(),
                 bool) [/home/the_cowboy/unrealworks/UnrealEngine/Engine/Source/Runtime/CoreUObject/Private/UObject/Class.cpp:4561]
                UATHelper: Packaging (Linux):   0x00007f4c3053a456 libUE4Editor-BlueprintContext.so!UBlueprintContextBase::StaticClass() [/home/the_cowboy/unrealworks/UnrealProjects/UnrealTournament/Source/BlueprintContext/Public/BlueprintContextBase.h:16]
                UATHelper: Packaging (Linux):   0x00007f4c8862359e libUE4Editor-CoreUObject.so!GetPrivateStaticClassBody(char16_t const*, char16_t const*, UClass*&, void (*)(), unsigned int, EClassFlags, EClassCastFlags, char16_t const*, void (*)(FObjectInitializer const&), UObject* (*)(FVTableHelper&), void (*)(UObject*, FReferenceCollector&), UClass* (*)(), UClass* (*)(),
                 bool) [/home/the_cowboy/unrealworks/UnrealEngine/Engine/Source/Runtime/CoreUObject/Private/UObject/Class.cpp:4562]
                UATHelper: Packaging (Linux):   0x00007f4c30539ca6 libUE4Editor-BlueprintContext.so!UMatchmakingContext::GetPrivateStaticClass() [/home/the_cowboy/unrealworks/UnrealProjects/UnrealTournament/Intermediate/Build/Linux/B4D820EA/UE4Editor/Inc/BlueprintContext/MatchmakingContext.gen.cpp:215]
                UATHelper: Packaging (Linux):   0x00007f4c30526399 libUE4Editor-BlueprintContext.so!<name omitted> [/home/the_cowboy/unrealworks/UnrealProjects/UnrealTournament/Intermediate/Build/Linux/B4D820EA/UE4Editor/Development/BlueprintContext/Module.BlueprintContext.cpp:0]
                UATHelper: Packaging (Linux):   0x00007f4c89ca26ca ld-linux-x86-64.so.2!UnknownFunction(0x106c9)
                UATHelper: Packaging (Linux):   0x00007f4c89ca27db ld-linux-x86-64.so.2!UnknownFunction(0x107da)
                UATHelper: Packaging (Linux):   0x00007f4c89ca78f2 ld-linux-x86-64.so.2!UnknownFunction(0x158f1)
                PackagingResults: Error: appError called: Assertion failed:  [File:/home/the_cowboy/unrealworks/UnrealEngine/Engine/Source/Runtime/CoreUObject/Private/Serialization/AsyncLoading.cpp] [Line: 754]
                PackagingResults: Error: ===
                UATHelper: Packaging (Linux):   0x00007f4c89ca2574 ld-linux-x86-64.so.2!UnknownFunction(0x10573)
                UATHelper: Packaging (Linux):   0x00007f4c89ca6db9 ld-linux-x86-64.so.2!UnknownFunction(0x14db8)
                UATHelper: Packaging (Linux):   0x00007f4c89871f09 libdl.so.2!UnknownFunction(0xf08)
                UATHelper: Packaging (Linux):   0x00007f4c89ca2574 ld-linux-x86-64.so.2!UnknownFunction(0x10573)
                UATHelper: Packaging (Linux):   0x00007f4c89872571 libdl.so.2!UnknownFunction(0x1570)
                UATHelper: Packaging (Linux):   0x00007f4c89871fa1 libdl.so.2!dlopen(+0x30)
                UATHelper: Packaging (Linux):   0x00007f4c891839aa libUE4Editor-Core.so!FUnixPlatformProcess::GetDllHandle(char16_t const*) [/home/the_cowboy/unrealworks/UnrealEngine/Engine/Source/Runtime/Core/Private/Unix/UnixPlatformProcess.cpp:53]
                UATHelper: Packaging (Linux):   0x00007f4c88fcfac8 libUE4Editor-Core.so!FModuleManager::LoadModuleWithFailureReason(FName, EModuleLoadResult&) [/home/the_cowboy/unrealworks/UnrealEngine/Engine/Source/Runtime/Core/Private/Modules/ModuleManager.cpp:511]
                UATHelper: Packaging (Linux):   0x00007f4c89d247b2 libUE4Editor-Projects.so!FModuleDescriptor::LoadModulesForPhase(ELoadingPhase::Type, TArray<FModuleDescriptor, FDefaultAllocator> const&, TMap<FName, EModuleLoadResult, FDefaultSetAllocator, TDefaultMapHashableKeyFuncs<FName, EModuleLoadResult, false> >&) [/home/the_cowboy/unrealworks/UnrealEngine/Engine/Sou
                rce/Runtime/Projects/Private/ModuleDescriptor.cpp:595]
                UATHelper: Packaging (Linux):   0x00007f4c89d3d214 libUE4Editor-Projects.so!FProjectManager::LoadModulesForProject(ELoadingPhase::Type) [/home/the_cowboy/unrealworks/UnrealEngine/Engine/Source/Runtime/Projects/Private/ProjectManager.cpp:61]
                UATHelper: Packaging (Linux):   0x00000000002508b1 UE4Editor!FEngineLoop::LoadStartupModules() [/home/the_cowboy/unrealworks/UnrealEngine/Engine/Source/Runtime/Launch/Private/LaunchEngineLoop.cpp:3135]
                UATHelper: Packaging (Linux):   0x00000000002359a9 UE4Editor!FEngineLoop::PreInit(char16_t const*) [/home/the_cowboy/unrealworks/UnrealEngine/Engine/Source/Runtime/Launch/Private/LaunchEngineLoop.cpp:2536]
                UATHelper: Packaging (Linux):   0x0000000000249ab2 UE4Editor!GuardedMain(char16_t const*) [/home/the_cowboy/unrealworks/UnrealEngine/Engine/Source/Runtime/Launch/Private/Launch.cpp:129]
                UATHelper: Packaging (Linux):   0x00007f4c7f2b7149 libUE4Editor-UnixCommonStartup.so!CommonUnixMain(int, char**, int (*)(char16_t const*)) [/home/the_cowboy/unrealworks/UnrealEngine/Engine/Source/Runtime/Unix/UnixCommonStartup/Private/UnixCommonStartup.cpp:243]
                UATHelper: Packaging (Linux):   0x00007f4c7e9f8830 libc.so.6!__libc_start_main(+0xef)
                UATHelper: Packaging (Linux):   0x0000000000231029 UE4Editor!_start()
                Right now I am trying to figure out what is
                Code:
                 libUE4Editor-BlueprintContext.so!<name omitted>
                and why is the name omitted.
                https://ravimohan.net/
                https://github.com/ravimohan1991

                Comment


                  #9
                  Ok, I commented all the member data and functions of class UMathcmakingContext and still getting the segmentation fault. The mysterious component is <name omitted>. Why is the name omitted?
                  https://ravimohan.net/
                  https://github.com/ravimohan1991

                  Comment


                    #10
                    Next try: Maybe the <name omitted> is due to some const delegates which appear in the .generated.h file as follows
                    Code:
                    static inline void FOnPartyTransitionCompleteDelegate_DelegateWrapper(const FMulticastScriptDelegate& OnPartyTransitionCompleteDelegate, EUTPartyTransition PartyTransition) \
                    { \
                        PartyContext_eventOnPartyTransitionCompleteDelegate_Parms Parms; \
                        Parms.PartyTransition=PartyTransition; \
                        OnPartyTransitionCompleteDelegate.ProcessMulticastDelegate<UObject>(&Parms); \
                    }
                    
                    
                    #define UnrealTournament_Source_BlueprintContext_Public_PartyContext_h_80_DELEGATE \
                    struct PartyContext_eventOnPartyTransitionStartedDelegate_Parms \
                    { \
                        EUTPartyTransition PartyTransition; \
                    }; \
                    static inline void FOnPartyTransitionStartedDelegate_DelegateWrapper(const FMulticastScriptDelegate& OnPartyTransitionStartedDelegate, EUTPartyTransition PartyTransition) \
                    { \
                        PartyContext_eventOnPartyTransitionStartedDelegate_Parms Parms; \
                        Parms.PartyTransition=PartyTransition; \
                        OnPartyTransitionStartedDelegate.ProcessMulticastDelegate<UObject>(&Parms); \
                    }
                    I don't know how they become static when the delegates are defined as
                    Code:
                        /** Called when a player starts joining or leaving a party */
                        UPROPERTY(BlueprintAssignable, Category=PartyContext)
                         FOnPartyTransitionStartedDelegate OnPartyTransitionStarted;
                        /** Called when a player has completed joining or leaving a party */
                        UPROPERTY(BlueprintAssignable, Category=PartyContext)
                         FOnPartyTransitionCompleteDelegate OnPartyTransitionCompleted;
                    Any views?

                    EDIT: ok that is not it
                    Last edited by The-Cowboy; 07-04-2019, 11:05 PM.
                    https://ravimohan.net/
                    https://github.com/ravimohan1991

                    Comment


                      #11
                      Bump Still dealing with this error.
                      https://ravimohan.net/
                      https://github.com/ravimohan1991

                      Comment


                        #12
                        Originally posted by The-Cowboy View Post
                        Bump Still dealing with this error.
                        The issue is you have some asset loading that requires the Blueprint Context but that hasn't been loaded yet. So it could be some module is setup with a loading phase that is too early. I'd capture whatever command the UATHelper is running and launch that command in a debugger with a breakpoint in the CommonUnixCrashHandler to catch the crash.

                        I know you're trying to continue development on UT, which is laudable, but you're going to have to get REAL familiar with the inner workings of the engine - especially if you're running on Linux. Get used to setting breakpoints and walking through things step by step.
                        Able Ability System - A high performance, robust ability system for UE4. Now Available!

                        Comment


                          #13
                          Thanks for the clue, appreciated!
                          https://ravimohan.net/
                          https://github.com/ravimohan1991

                          Comment


                            #14
                            I have been learning about debugging in Linux and it seems GDB is the best tool for the purpose. I now know how to use it for executables generated by gcc (with -g argument), when run over a .cpp file. But the cooking procedure of Engine (in Linux) uses the following code
                            Code:
                            mono AutomationTool.exe -ScriptsForProject=/home/the_cowboy/unrealworks/UnrealProjects/UnrealTournament/UnrealTournament.uproject BuildCookRun -nocompileeditor -nop4 -project=/home/the_cowboy/unrealworks/UnrealProjects/UnrealTournament/UnrealTournament.uproject -cook -skipstage -ue4exe=/home/the_cowboy/unrealworks/UnrealEngine/Engine/Binaries/Linux/UE4Editor -targetplatform=Linux -utf8output
                            So I looked up attaching GDB to running process (https://stackoverflow.com/questions/...unning-process) but did not succeed. My question is, in this example, which process am I supposed to attach GDB to. I have been trying to attach to UE4Editor (the process briefly shows up while running above command). Should it be attached to AutomationTool.exe or mono or something else?

                            Update 1:
                            Ok, I think I must attach it to pid corresponding to mono and as the root. Next is figuring how to make GDB realize the commandline parameters.

                            Update 2:
                            Goccha! The right GDB command is
                            Code:
                            gdb mono --args AutomationTool.exe -ScriptsForProject=/home/the_cowboy/unrealworks/UnrealProjects/UnrealTournament/UnrealTournament.uproject BuildCookRun -nocompileeditor -nop4 -project=/home/the_cowboy/unrealworks/UnrealProjects/UnrealTournament/UnrealTournament.uproject -cook -skipstage -ue4exe=/home/the_cowboy/unrealworks/UnrealEngine/Engine/Binaries/Linux/UE4Editor -targetplatform=Linux -utf8output
                            Last edited by The-Cowboy; 07-10-2019, 11:03 AM.
                            https://ravimohan.net/
                            https://github.com/ravimohan1991

                            Comment


                              #15
                              AutomationTool invokes platform.Automation (so LinuxPlatform.Automation in this case), which invokes UHT / UBT and finally UE4 (probably UE4Editor.exe) which is where CommonUnixCrashHandler is implemented.

                              There's a few tricks you can do in Windows to attach a debugger whenever a specific application launches, not sure how you would do that in Linux with GDB.
                              Able Ability System - A high performance, robust ability system for UE4. Now Available!

                              Comment

                              Working...
                              X