Announcement

Collapse
No announcement yet.

The Emitter Linux crashes

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

    The Emitter Linux crashes

    I posted here a while ago about the UObject::GetPathName garbage collection crashes that can occur on round changes and level switches on Linux servers, and nobody seemed to have any idea what was causing them.

    It turns out that they are caused primarily by Emitters. A bit of research revealed that Slainchild and Soma, to name two mappers, had this problem with their maps and were able to fix it. In one thread, someone said it was the result of using the Emitter Editor to make Emitters.

    My question is, what exactly is it in the Emitter that causes the crash? A hell of a lot of maps have this issue on Linux, including the Bonus Pack 2 maps BP2-SubRosa, BP2-Acatana and BP2-Outback and the UCMP2 and 3 maps Cruciatus and IslandStrike, as do some weapons, such as the Ripjack. It would be nice to know once and for all how to fix these maps without blithely deleting all the Emitters and reconstructing each one from scratch, which isn't feasible in the case of the Ripjack. There must be something concrete doing it.

    #2
    Indeed, it's very odd since the game should be able to handle it the exact same way on both platforms. It just doesn't make sense...

    Comment


      #3
      Have you considered doing some testing within UnrealEd to see which emitters cause the problem?

      Basically try and narrow it down. If you decompile the Ripjack code and look at it, it probably only has 3-4 different emitters total, which would mean it'd be simple to look at it and see which one of those is actually causing a problem on Linux.

      (if you don't want to do that, then you can try doing some map-specific testing. Most maps probably don't use that many emitters so it should be feasible to go in and try selectively deleting some until you find which one it is.)

      Comment


        #4
        I did try before, but with the maps I tested, there were crashes up until the very last Emitter was removed. Due to the relocation of the Linux PC I used as a server to test this on, I'm pretty stuck at the moment.

        By the way, this issue occurs without fail in any map that utilises certain subclasses of Emitter such as weapon effects and smoke emitters.

        Comment


          #5
          It seems the problem is caused by improper cleanup of emitters (not only them) having no remote role on dedicated server and both bNoDelete and bNotOnDedServer set to true as we just observerd on LDG Ballistic Weapons server.

          I've created a simple serverside mutator which is going to unset bNotOnDedServer for everything having bNoDelete. This will however produce some mess (because emitters now live on the dedicated server for example) but since the affected classes have no remote role then it won't affect networking.

          DL: http://rapidshare.com/files/45349873...DedServFix.zip

          Comment


            #6
            I would have guessed something with remote_role myself and I'm not so good at this stuff. Maybe they need to be set to simulated proxy or some junk....pun intended.

            Comment


              #7
              Remote Role is none which we want to keep. Just the garbage collection is sort of buggy.

              Comment


                #8
                Does anyone still have this file somewhere?

                Comment


                  #9
                  http://www.mediafire.com/download/jx...nxDedServFix.u

                  Comment

                  Working...
                  X