Function Local Variable in Out Pin Same name = Crash

If you create a local variable in a function and plug that variable in out pin with same name then compile, engine crashes.

Hi Mortusnyte,

I tested this in 4.7.2 and got a compile error, but I did not crash. I created a new function in a new Actor Blueprint, and gave it a local variable NewLocalVar_0. I then gave function an output with same name, NewLocalVar_0, and plugged local variable into output in return node. This doesn’t compile (which I may need to enter a bug report for in itself), but it didn’t crash.

Are you using a different version of engine? Can you and attach project log after this crash occurs? Thanks!

Hi Mortusnyte,

We haven’t heard back from you in a while, so I’m resolving this post for tracking purposes. If you’re still experiencing a crash by plugging a local variable into an out pin with same name, please let us know which version of engine you’re using, and and attach project log after crash occurs. Thanks!

I am able to reproduce this issue in my project, which is currently using engine version 4.7.3

I would be happy to provide a project log, but I am a new user to engine and don’t know how to do so. If you can advise on best way to do that, I’ll send it over.

Hi sirrus233,

You can find logs we need in your project folder in Saved folder. Grab log immediately after it crashes, it and attach it here. If you could also provide steps you took to get crash with as many details as possible, that may help us reproduce it internally. Thanks!

Ok sorry for long delay, I’ve been working a lot lately. I’ve tried to re-create this again in 4.7.5 Here are results.

It seems that In Pin functions as it should by disallowing duplicate naming. But Out Pin does not have that safety. I have not tried with other variables
Log Files - Sorry it did not allow for .rar
link text

I wanted to note that on my first attempt to recreate this crash. engine had crashed during naming process, But I was not able to recreate that specifically.

Thanks for additional information! I still haven’t been able to reproduce crash, however I still get compile error when attempting to rename a function Output to same name as a local variable. As you noticed, Input already disallows this action, so it seems an oversight that Output does not. I’ve created a bug report for issue (UE-13855), and I included your crash report in case it’s further reaching. I suspect that simply making Output renaming perform same check as Input will resolve issue, though.

Thanks for your report! I’ll let you know when I see an update on it.

I can reproduce this bug with following steps:

  1. create a function
  2. add an output param to output node
  3. do not connect input to output (disconnect if already connected)
  4. add a variable with name X. You can use it on input node’s side of chain.
  5. compiling and saving works, as long as you do not connect to output node
  6. connect input chain to output node.
  7. if your editor is still running, try to compile/save

blueprint is broken afterwards. editor will crash as soon as you open blueprint. You cannot do anything but delete it

Thanks for additional repro steps, but this has already been fixed internally. In 4.8, it will no longer be possible to give a function output and a variable same name. You should be able to check this in our master branch from GitHub, if you’d like, and I believe preview for 4.8 should be coming soon. Let us know if you still have this issue after 4.8 release. Thanks!