Erroneous SVN checkout spam on blueprint compile

Been using SVN with VisualSVN server/Tortoise on windows as a local repository successfully with no issues on 4.7.6.

Now with 4.8, every time I compile a blueprint, any related blueprint files get tagged as requiring checkout (even if they have been checked out). My screen fills up with “Files need check-out!” notices.

Editor output log is filled with:

LogSourceControl: Attempting "svn status --show-updates --verbose --xml (then file location and SVN settings/credentials)

Clicking the Warning Notice to checkout the file doesn’t do anything, and clicking the Source Control menu, then “Checkout Modified Files” doesn’t show any of the files mentioned in the editor output log.

Hi ,

Is this an issue that is only occurring with one project? If so, was this project converted from 4.7.6? Can you try making a fresh project in 4.8 and seeing if the issue also occurs in that instance?

Hey. I tried making a fresh project in 4.7.6, converted to 4.8, and could not immediately reproduce the issue. Also tried a fresh project in 4.8.0 with no luck.

I tried reconverting my original project, disconnecting it from Source Control, recompiled all blueprints (to fix non-terminating pins) so it wouldn’t give any errors, saved, then resubmitted to source (via Tortoise SVN), then reconnected the project in UE4 to Source Control and still had the Checkout Warning spam problem.

I also tried moving the converted 4.8 blueprint-recompile/saved project to a new, empty repository and still had the same problem.

Hi ,

It seems that this issue has already been fixed in our master branch but the fix itself hasn’t been integrated into the releases (4.8) branch yet. If you’re using a source code version of the engine as opposed to binary, you can find the fix here and integrate it into your engine if you wish:

.com/EpicGames/UnrealEngine/commit/ca159a7f6e93097bfc4a853d377efd527bbe1982

If you get a 404 error, be sure that you’re signed into GitHub and try again.

If you are using binary and do not wish to use source code however, the fix will be coming in an upcoming version.

Have a nice day,

Got it. Thanks!

I compiled 4.8 from source with the linked commit and unfortunately still have the same problem with checkout notice spam.

It looks like every time I click compile, it pings any referenced blueprints and also wants them checked out.

Bizarrely, in one instance when I click compile, I get 14 checkout warnings.
If I immediately compile the same blueprint, it will then next only give 4 checkout warnings, then alternate between the two for subsequent compiles.

If it’s helpful, I can strip most of my project down to just the blueprints if someone would like to take a look. It will have a bunch of load errors for missing stuff (model/texture/sounds etc), but still exhibit the checkout problem when you try to compile a highly referenced blueprint.

What versions are you using for your client and server when it comes to the SVN? It’s possible that some conflicts could be happening due to version as I believe our SVN binary has been updated with 4.8.

VisualSVN 3.3.1 (Apache Subversion 1.8.13)

TortoiseSVN 1.8.11 (Apache Subversion 1.8.13)

Edit:
Okay, I think I figured it out. I’ve been able to re-create it in a fresh 4.8, empty project.

Created a Parent base blueprint, with a cube mesh component, an arbitrary function, and some float/int variables (with an arbitrary default value).

Created 2 child blueprints, made sure they were not data only, added more variables and functions, made sure those functions or variables were called OnEventPlay.

Duplicated the 2 child blueprints 4 times so you basically had a hierarchy of:
Parent
Child1
Child2
Child1_1 to Child1_4
Child2_1 to Child2_4

For a total of 9 blueprints.

Next, restart UE4 and make sure in the process you are square with SVN.

Now, when you open Parent, and compile, it works fine. However, if you merely view any other files (not compile or save), and try to compile Parent again, those files, and on occasion other files that you didn’t open, will be tagged for requiring checkout and show up in the log with checkout spam notices.

If you compile parent again, it will try with another set of files that need checkout, and alternate between the two sets on any subsequent compiles.

In my UE4 Project specifically, it is perpetually in the checkout spam state immediately after conversion to 4.8.

Hi ,

Just wanted to let you know, I’m still looking into this issue and I’ll get back to you as soon as I find out anything. Thank you for your patience thus far.

So I made myself familiar with Tortoise SVN and tried recreating your issue. I can get the spam to come up once per compile if I don’t have the blueprints checked out, but I don’t get the issue if they are checked out. If this is only happening when the blueprints aren’t checked out, it makes sense as any changes to the Base class are going to affect the children of that class.

Hey thanks for taking a look.

I had suspected the same thing, though it doesn’t seem to be entirely restricted to just parent-child relationships. Compiling another class, that spawns actors from the family of BP’s also causes the problem.

I haven’t tried this yet in a fresh 4.8 project, but in my converted project, compiling the character blueprint (which can spawn a family of projectile blueprints) will trigger the problem.

That being said, in my project on 4.7.6, if I compile a blueprint it only ever tags that specific blueprint as needing checkout, even if it is a parent blueprint, or referred by another blueprint.

I can only get that problem to happen if I try to compile the projectile itself without having the character checked out. Are you saying that if you have different projectiles that can be spawned (with one base projectile and then others based off that) by a character, then when you try to compile the character without the projectiles being checked out, you can’t?

The compile is successful, but you are hit with all the checkout warning boxes like in the screenshot.

So, for example in the case of my converted project, when I compile Projectile Parent, I get the 14 warnings boxes for “Files Need Checkout!”

The output log seems to be pinging these files for Source Control. which correlates to the checkout warning boxes:

Compile 1

  • Character Blueprint
  • Projectile Child 1
  • Projectile Child 2
  • Unrelated Class that checks for overlaps involving Projectiles
  • Projectile Child 3
  • Projectile Child 4
  • Projectile Child 5
  • Projectile Child 6
  • Another Unrelated Class that checks for overlaps involving Projectiles

If I don’t do anything, and compile again, I get this set of files and checkout warnings:

  • Character Blueprint
  • Character Blueprint
  • Character Blueprint
  • Projectile Child 4
  • Projectile Child 5

And again not doing anything, with another compile:

  • Projectile Child 1
  • Projectile Child 2
  • Unrelated Class involving Projectiles
  • Projectile Child 3
  • Projectile Child 4
  • Projectile Child 5
  • Character Blueprint
  • Character Blueprint
  • Character Blueprint
  • Projectile Child 6

If I click Save, it brings up a box telling me to Check Out files, it only indicates the specific file I am working on requires checkout (Projectile Base).

From the viewport, if you click Source Control, the option to “Check out modified files” is disabled, despite everything above.

Finally, if I manually check out all the files mentioned in the log, I do not get the checkout spam problem (manually by right clicking the asset in UE4, Source Control, then Checkout)

Though, in the output log, it is still cycling through all those files for source control.

This was not the behavior in 4.7.6 in the same situation. Doing something to Projectile Base, like compiling or adding a new function, would not tag anything else as requiring checkout.

Hi ,

I’ve placed a bug into our database with very detailed reproduction steps. Thank you for being very thorough and helping me reproduce this so that I could do so. For your reference, the bug number is UE-17164. I can’t guarantee how this bug will go about being fixed as it could be the fact that the errors themselves are false positives or it may be changed in a way so that the “Check Out Modified Files” will be usable for the items that come up in the error messages. Unfortunately, for the moment I don’t have anything I could offer as a workaround.

Have a nice day,

I just recently converted my 4.7.6 project. (converted with 4.8.1 binary) Using Perforce, I am experiencing issues exactly as above and reproducible in the same manner.

Hi ,

I attempted to see if this issue would occur in the most recent internal build with Perforce but I don’t see the issue on my end. It is possible that it could have been inadvertently fixed. If the issue does still occur for perforce after the Tortoise SVN issue has been resolved, I’ll be sure to pursue it further. Thank you for reporting this.

Hey Matt. I just checked up on this problem with the recent updates to UE4.

The problem still exists in 4.8.3, but seems to be gone in 4.9p1.

Unfortunately, I’m getting a new problem where when trying to submit to source (from UE4’s source control menu), the editor will crash to desktop with a slew of errors in the log.

Here is an example of the errors:

[2015.07.30-21.19.09:016][179]LogPackageName:Error: Illegal call to DoesPackageExist: '../../../../../../UE4 Projects/projectname/Content/_ParticleTutorial/_ParticleTutorial/Sprite_GPU/P_GPUSparks.uasset' is not a standard unreal filename or a long path name. Reason: Path should be no less than 4 characters long.

The crash reporter submitted the diag files, let me know if you need anything further from my end.

Hey ,

I’m glad the original problem is gone but it’s unfortunate to see this new problem crop up. Is it possible for you to reproduce this in a fresh project? It may require some sort of very long file directory as the one you’re currently using but I’ve yet to have success testing it that way. I’ll be dedicating some time to trying to repro it myself but any extra details would be helpful.

I have a drive dedicated to UE4 stuff, and a “UE4 Projects” folder at the root. So it’s just:

F:\UE4 Projects\Project1

So in this specific case, the project is called “Test5”, which exhibits the crash.

However, in making a new project, called “Test6”, it didn’t cause the problem.

When attempting to migrate an asset that caused the crash (_ParticleTutorial) from Test5 into Test6, it caused a crash with no dump info.

Then, I manually copied that folder directly into the Test6 content folder, and was able to submit to source with no problems.

Edit:

Noticing some file load errors also that don’t consistently show up during project load. Going to try to rule out any hardware issues with the disk just in case.

Edit 2:

No Disk Errors, did a reboot. No longer crashing on submit to source, so I can’t explain or immediately reproduce the error anymore at all. Crazy, right? The only thing I did was clear out the /project/saved folder to get some fresh logs/crash dumps. The only other thing I noticed was a lot of starter content logpack debug notices.

Will try a fresh attempt at converting my original 4.7 project and see where it goes this time.

Can you try migrating this asset without source control enabled? Also, would it be possible to get a copy of this project where the crash occurs? If not, it’s alright and I’ll continue working on trying to nail down the reproduction for the issue.