Announcement

Collapse
No announcement yet.

Plugin Object Pool Component

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

  • replied
    Hey! Just wanted to say I tested the fix and it works fine now!

    Thank you for being so responsive and sorting it out so quickly

    Leave a comment:


  • replied
    Great!

    Thank you, I'll check that out once it goes live.

    In the mean time I don't know how to rebuild plugins. Editing the source is one thing but the dlls are what the engine/project is using so I'll have to take some time to work that out and see if I can check that fix for myself locally.
    Last edited by Sononeo; 08-10-2020, 08:34 AM.

    Leave a comment:


  • replied
    If you edit the source like above and make a build the crash will stop.
    That's a dumb typo (helped by code auto completion feature).

    I sent fix to Epic again few minutes ago btw.

    Leave a comment:


  • replied
    Yup, I am on Unreal 4.25.3.

    Leave a comment:


  • replied
    Sononeo Oh okay..
    On a new clean project I can get the crash.

    Change line 119 from this:
    Code:
    if ( (OwningPool && OwningPool->ReinitializeInstances ) || (SharedPool && OwningPool->ReinitializeInstances) ) {
    To this (stupid me):
    Code:
    if ( (OwningPool && OwningPool->ReinitializeInstances ) || (SharedPool && SharedPool->ReinitializeInstances) ) {
    I read through that line some 5 times and I didn't see that before..

    Leave a comment:


  • replied
    Are you on Unreal 4.25?

    * I will create a fresh new project to see if I can make the crash happen on me..
    Last edited by BrUnO XaVIeR; 08-09-2020, 05:45 PM.

    Leave a comment:


  • replied
    Oddly the update didn't seem to work I'm afraid

    The crash log is the same pointing to PooledActor.cpp 119. Which I don't understand as I can see the change you made :/

    This doesn't happen for you at all does it when using a shared pool?

    Could be the case that something unique is happening on my side probably.
    Attached Files

    Leave a comment:


  • replied
    Ahhhhhhhhhh ok. I did notice that there was no properties for the plugin in project settings anymore.

    And thanks! I will update and check it out now!

    Leave a comment:


  • replied
    This:
    https://forums.unrealengine.com/unre...09#post1785709


    Epic already published the fix to marketplace, new binaries can be downloaded.

    Leave a comment:


  • replied
    Changing settings from project settings to pool component??

    Leave a comment:


  • replied
    I actually didn't check pointer on line 119.
    This happened after changing settings from project settings to pool component.

    Leave a comment:


  • replied
    Hey that's great to hear!

    However I'm not accessing Owning pool in any of my code at the moment, Blueprint or C++.

    That exception is being triggered in PooledActor.cpp 119 where it's doing the following check:

    Code:
    if (OwningPool->ReinitializeInstances)
    Seems like there is an issue with the following logic which is supposed to prevent the function from performing the spawn at the beginning of the function.

    Code:
    if ((!OwningPool||!OwningPool->IsValidLowLevelFast())&&(!SharedPool||!SharedPool->IsValidLowLevelFast())) {
    UE_LOG(LogTemp,Warning,TEXT("{Pool}:: %s"),TEXT("Actor trying to spawn from Pool, but Owning Pool Component is invalid!"));
    return;}
    Because I don't see this warning message and breakpoints aren't reaching here either :/

    I think what you want to do is an OR if there is some logic that requires OwningPool to have a value? Or maybe a change so that OwningPool isn't used and shared pool is used instead if there is no owning pool, as it seems to not be set for an pooled actor in a shared pool.

    This is just from what I'm seeing. Sorry if overstepping any bounds or not understanding something.

    Leave a comment:


  • replied
    Problem fixed... Unfortunately it's weekend, we have to wait for epic review ^^

    Leave a comment:


  • replied
    Originally posted by Sononeo View Post
    I'm seeing this happen using C++ BeginDeferredSpawnFromPool and when using the spawn from shared pool node in Blueprints.
    Code:
    Exception thrown: read access violation.
    this->**OwningPool** was nullptr.
    Oh okay.
    When using a shared pool, the "outer" is:
    Code:
    yourPoolActor->OwningPool = nullptr;
    yourPoolActor->SharedPool = *this;
    OwningPool ptr should not be accessed from your code when outer is a SharedPool.
    Instead of using GetOwningPool() you should as well use GetSharedPool() in that case.

    ___

    * I will add a patch to prevent a null access violation there.
    Last edited by BrUnO XaVIeR; 08-08-2020, 07:29 PM.

    Leave a comment:


  • replied
    Interesting :/

    I'm seeing this happen using C++ BeginDeferredSpawnFromPool and when using the spawn from shared pool node in Blueprints.

    Attached is the full stack trace from UE4 crash log.

    And this is what Visual Studio output when I was debugging.

    Code:
    Exception thrown: read access violation.
    this->**OwningPool** was nullptr.
    Attached Files

    Leave a comment:

Working...
X