x

Search in
Sort by:

Question Status:

Search help

  • Simple searches use one or more words. Separate the words with spaces (cat dog) to search cat,dog or both. Separate the words with plus signs (cat +dog) to search for items that may contain cat but must contain dog.
  • You can further refine your search on the search results page, where you can search by keywords, author, topic. These can be combined with each other. Examples
    • cat dog --matches anything with cat,dog or both
    • cat +dog --searches for cat +dog where dog is a mandatory term
    • cat -dog -- searches for cat excluding any result containing dog
    • [cats] —will restrict your search to results with topic named "cats"
    • [cats] [dogs] —will restrict your search to results with both topics, "cats", and "dogs"

Why does my editor crash a lot when looking at my custom interactable object?

Hello All,

So, my team and I have been working on our latest project for a couple of weeks now, and we have a player character in the game that can interact with objects in the game world by walking up to the items and pressing the left face button ("X" on my xbox controller) detection of whether the player is looking at the interactable actor is based on a line trace that detects both a) whether the player is facing the object, and b) how far away the player is (based on the length of the line trace).

This is implemented with an Interactable Objects class blueprint called BP_InteractableActor. We have since created several blueprints derived (childed to, or extended) from this BP_InteractableActor Class all of which appear to work correctly. I implemented a new one of these children last night, which is a BP_PowderKeg, but I'm having a critical issue. I implemented the blueprint and it appears to work properly in the game world, but every couple of tests, the editor crashes when I am looking at the PowderKeg Actor. This crash appears to only be occuring when I look at this actor, but it doesn't occur all the time. I am pretty certain that this must be some kind of bug.

I have attached a link to the crash report summary here.

I've been trying to debug this on my own, but to no avail. Any help is greatly appreciated.

EDIT: Figured a snapshot of the line trace implementation would be helpful. This SightLineTrace function is called by a looped timer delegate node OnBegin Play of the Player Character blueprint and occurs roughly every 1/100th of a second.alt text

Edit: Reuploaded blueprint image. Also attached a zip file containing the blueprints as COPY files a copy of the image, and my full crash log folder from the project.

link text

Product Version: UE 4.9
Tags:
more ▼

asked Nov 05 '15 at 04:25 AM in Bug Reports

avatar image

The7thCrest
120 13 20 22

avatar image Ben Halliday STAFF Nov 05 '15 at 03:30 PM

Hi bls,

The image you attached isn't showing up for me. Can you try attaching that again?

Please copy the information in that window, including the Machine ID, and paste it here. If you hit Send, that will help us look it up in our system. It would also be helpful to see the logs from the project's \Saved\Logs folder.

Does the same problem occur if you move that Blueprint to a new project? It might be helpful to get a look at the .uasset for that BP, if you don't mind zipping it up and attaching it here as well.

Thanks!

avatar image The7thCrest Nov 05 '15 at 07:53 PM

For some reason, the website is having a hard time whenever I try to update my original post, so I'm just posting here:

Hello Ben, thanks for the help. I've attached a .zip of my entire crash log (the crash summary can be viewed here), a copy of the png image in this post, and the Unreal object text files (.COPY) for each of the three blueprints that I believe are involved in this issue.

Hopefully that helps,link text

debug.zip (306.9 kB)
avatar image Ben Halliday STAFF Nov 05 '15 at 08:06 PM

Thanks. Is this occurring in a packaged game, or while playing in the editor? I don't see any logs in there, just the .dmp and .runtime-xml, usually there should be a .log in there (unless it's from a game's Logs folder and the game was packaged for Shipping).

Just glancing at the BP image, I'm guessing it has to do with the Trace Complex setting interacting with something in the BP you're doing a trace to. I'll investigate further. It might be worth disabling that and seeing if the same crash occurs.

What kind of template did this project start as? I'd like to drop these assets into a project with similar settings.

avatar image The7thCrest Nov 05 '15 at 08:30 PM

This is occurring while playing in editor, With regards to a template, I'm fairly sure we didn't use one (started with a blank project), but if we did use one, we started with default 1st person. (Sorry I don't know for sure. My brother set up the initial implementation.)

Also, I'll take a look into the Trace Complex checkbox. We kinda need the trace complex check for a very specific system in our game. I need to figure out what is causing it because it may be something I can fix by tweaking my mesh.

Also, I did move this stuff into a new project. Currently I've been unable to cause it to break in the new project.

EDIT: Also, if it may have something to do with a mesh interaction, I can provide the mesh if it will help. Also in the process of finding that log file

Edit: Also, just FYI The logs folder that I sent you with the XML and DMP. I copied the folder directly, and there was no .log file in it. Based on what you said, I'm assuming on is supposed to be generated with the dump and Xml?

avatar image Ben Halliday STAFF Nov 05 '15 at 09:50 PM

I would actually want to look at the .uasset files and all their associated assets, including the mesh in question. But since they're not causing a problem when used in a new project, it might not help me anyway. If you don't mind, it might be helpful to see the whole project.

Are you using the binary version of 4.9.2, or have you build from source? Is the project a code project, and are these BPs based on custom C++ classes, or is this a purely BP project?

avatar image The7thCrest Nov 05 '15 at 10:11 PM

Sorry I've been really bad with the information in all of this... We are using a "custom" version of the engine built from source. What I mean by "custom" is this:

We forked the latest Allegorithmic Substance build of the engine in github, and then merged the 4.9.2 changes into the Allegorithmic Plugin Build (based on 4.9.0). Each member of the team then cloned this "Hybrid" build and built it from source.

The project we are working in is a C++ project that consists mostly of blueprints. Currently we only have two classes written in C++, but the hope is that once our prototype flushed out that we will move everything to C++.

I'd definitely like to share the whole project, and help you guys find this issue any way I can. However, I'd prefer not to post the full project in the AnswerHub, is there another good way for me to get you all of the project files?

EDIT: Also, A question for future reference, can I provide compressed files in 7zip format?

avatar image Ben Halliday STAFF Nov 05 '15 at 10:17 PM

Hm, it's going to be difficult to tell without the engine you're using, but we'll try it in 4.9.2 and go from there. If you want to send it privately, the best way is to upload it someplace like Google Drive or Dropbox, and then send me a PM on the forums. Mine is here:

https://forums.unrealengine.com/member.php?32-Ben-Halliday

Unfortunately I'll be out of the office tomorrow and won't be back until Monday morning. If you'd like, you can also send it to my colleague Adam Davis:

https://forums.unrealengine.com/member.php?49-Adam-Davis

I'll send him an email giving him the heads up, and he can do some of our initial testing in advance until I get back. If he has any questions for you, he'll ask them here.

avatar image The7thCrest Nov 05 '15 at 10:32 PM

That will be awesome. I'll talk to our more senior guy and figure out if there is a way to get you guys our source version of the engine, but in theory it should be identical to 4.9.2 with the Substance Plugin. I'll PM a Dropbox link to both of you guys. And await further response. I'm mostly working on assets for the project now, but If I I'm messing around in the project and I find information that I think might be helpful I'll post it here. Thanks a ton.

avatar image Adam Davis STAFF Nov 10 '15 at 08:19 PM

Hi bls61793,

I apologize for the delayed response. I am attempting to reproduce your error on my end but thus far have been unsuccessful. Can you post what steps I can take to recreate this on my end with the project you sent?

avatar image The7thCrest Nov 10 '15 at 09:17 PM
  1. Place the BP_PowderKeg blueprint in the DevLevel map.

  2. Drive the character around the level and look at the BP_PowderKegActor (look all over the surface, and orbit around the blueprint). (Try starting PIE and moving straight toward the PowderKeg while looking at it).

  3. Move close to the actor. For some reason this issue only seems to occur for me when I am up close to the actor (at least within the interaction range of most games

  4. You may want to turn trace debugging on in the player controller to see the line traces, but basically the idea is that the crash is triggered when looking at (tracing across) a specific point on the BP_PowderKegActor, although given the symmetric nature of the mesh and its texture, it's been difficult to pinpoint where the trouble spot is.

From past testing it appears that the trouble spot is somewhere on the top of the mesh near the "RIm" of the barrel shape.

  1. Sometimes it doesn't crash no matter how hard I try to make it. When I end PIE and restart PIE, I often am able to make it crash by repeating the process. I've never been able to repeat the process more than 3 times without forcing it to crash at least once.

I hope that helps. I'm sorry that it's not the best in the "reproducibility" department.

I had just blueprinted the code for the object and I was running up to the object to test it when my editor crashed the first time. It happens most of the time that I get into interact range and start scanning the trace over the actor.

I hope that helps.

Thanks again so much for looking into this for us.

(comments are locked)
10|2000 characters needed characters left

1 answer: sort voted first

Hi bls1793,

I was able to reproduce this error and have discovered the root cause. Within your custom function "Sword Interact", you are calling a Set Timer by Function Name node. Time specific functionality should be contained solely to the event graph. It appears that calling timers should not be allowed in this instance and is the source of your crash. I have entered a bug report, UE-23227, to be assessed by the development staff.

As a workaround, move any delay/timer functionality you want to run to a custom event within the main event graph. For this particular case, I would call a delay instead of a timer in a custom event and then call the explode function.

more ▼

answered Nov 11 '15 at 06:50 PM

avatar image The7thCrest Nov 13 '15 at 02:03 AM

Awesome, I'll be linking my team's JIRA to this page. Thanks so much.

You guys rock!

avatar image DesertEagle_PWN Nov 14 '15 at 06:58 AM

This is an update on this issue. I am working on the same project team as the original poster. I implemented the suggested workaround; however, the issue still persists.

I browsed through the code pointed at by the stack trace and it appears as though there is some kind of null reference being made inside unrealengine\engine\source\runtime\engine\private\collision\collisionconversions.cpp that reads as follows:

 //
             if (bReturnPhysMat)
             {
                 // This function returns the single material in all cases other than trimesh or heightfield
                 if(PxMaterial* PxMat = PShape->getMaterialFromInternalFaceIndex(FaceIndex))
                 {
                     OutResult.PhysMaterial = FPhysxUserData::Get<UPhysicalMaterial>(PxMat->userData); //[1]
                 }
             }
 
     //[1] Error thrown here; in the static mesh editor for the keg mesh Physics asset is set  to None.


We are doing a trace to our keg, and when it hits, this section is run it tries to access something that is null. Not entirely sure what kind of work around to look into at the moment, but It'll be thought about more tomorrow.

Note: I have tried several different collision settings on the keg mesh and even tried creating and adding a physics material to it to see if the problem was resolved. Unfortunately, it appears that either I haven't fully understood what is going on in this code as my hunches for finding a workaround have mostly failed me at this point.

Thank you very much for your time. If a solution or workaround is found, we would greatly appreciate knowing about it.

avatar image Adam Davis STAFF Nov 16 '15 at 04:45 PM

Hi DesertEagle_PWN,

Thank you for this information, I have updated the bug report to reflect this update.

(comments are locked)
10|2000 characters needed characters left
Your answer
toggle preview:

Up to 5 attachments (including images) can be used with a maximum of 5.2 MB each and 5.2 MB total.

Follow this question

Once you sign in you will be able to subscribe for any updates here

Answers to this question