Blender crashes when appending large files, possible causes? workarounds?

I have a problem with appending, blender crashes when I append a group of objects from one certain large file to another certain large file.

I’ve got two files and need to append some objects from one to the other. Both files are pretty huge and full of rigged and otherwise related (such as one being the mapping origin for a texture applied to another) objects, so I don’t THINK that I can append a few objects at a time otherwise the riggin would probably break.

As things stand I’ve been trying to append the whole of one file into the other (excepting a few lights and a camera that don’t need to be copied across), I’ve tried it both ways round, small into large and large into small. But every time I have had a crash, the crash which occured when I tried to append the small file to the large one resulted in blender just closing without even a warning message. The crash which occured when I tried to append the bigger more complex of the files into the smaller one gave a “blender has stopped responding” windows error message as blender closed.

My CPU MIGHT be a bit low powered (intel i3 processor circa 2015), or my RAM a little low so this might be the cause of my issues if the appending operation requires a huge amount of memeory for a brief moment.

I’ve tried “copy and paste” as well as append by using “ctrl+c” in the first file and “ctrl+v” in the second, the same kind of crashes still happen.

One of my files (the smaller of the two) contains a rig for which I have to tick “trusted source”, I don’t know whether this might be causing issues. The file in question is one for which I know it to be trustworthy.

Please can you suggest whether there are any other ways to handle this, to get a complex rig and associated objects from one file to another without a crash? Or ways to perform the normal appending operation without a crash? I’ve been doing this with no programs open except blender but might shutting off all background processes (which are few and don’t use much resources between them) for a while be of any help? Blender can append smaller numbers of simpler objects without issue for me, but I don’t think I can use that method of going one thing at a time here because of all the rigging. I’m using blender 2.78c, 64 bit, on windows 8.1.

Yours appreciatively
Jackson

You might want to try linking some objects rather than copying them, and control their actions from the linked file. I don’t know if this will work for rigs, but it works for actions of ordinary objects.

Don’t give up trying to copy just because Blender crashes. It sometimes takes a few tries.

Also, make sure that all orphaned data is actually removed from the files before attempting a copy, since that will give you a little more memory room.

Can you just list off the key ways to remove orphaned data, I think I’ve got rid of a lot but there might be other junk remaining. Also I came across an article https://blender.stackexchange.com/questions/81599/why-does-blender-crash-when-i-append-this-group/81613 which says that this kind of behaviour can occur if things are invalid or otherwise dodgy in a file, any idea how I might check for such things?

I just ran a test on an older ( 2.65 ) blender version, and the append works. Unfortunately my rig uses a feature (bendy bones) which doesn’t exist in pre ( 2.78c ) versions, so I can’t go back to earlier versions to do the appending as the rig would break. I’ll try downloading a later version, if a post 2.78c one exists yet. But I’d really like to check for dodgy bits in the file, is there any way to do this? Where should I be looking? That article (stack exchange, previous post) mentions some use of the command-line/terminal, any idea how I replicate that to check for dodgy things in the file?

C:\Program Files (x86)\Blender Foundation\Blender>blender.exe
Read new prefs: C:\Users[username]\AppData\Roaming\Blender Foundation\Blender\2.78\config\userpref.blend
found bundled python: C:\Program Files (x86)\Blender Foundation\Blender\2.78\python
read blend: D:\Users[username]\Downloads[folder2][folder1]\fileLarge.blend
ID user decrement error: ACPoseLib (from ‘D:\Users[username]\Downloads[folder2][folder1]\fileSmall.blend’): 0 <= 0
ID user decrement error: MEshape.IK.Pole.Arm.L (from ‘D:\Users[username]\Downloads[folder2][folder1]\fileSmall.blend’): 0 <= 0
Error: EXCEPTION_ACCESS_VIOLATION

Found a way to do it via command line, can anyone suggest what that error might mean? I think it means there is something wrong with my rig in the smaller file but I can’t tell what. I’d rather not upload either file to the internet for now as I prefer to keep some pieces of my work private until I’ve finished it, so any tips on where to usually search?
Thanks

Quick tips:

  1. Hide both Tools and Properties panel, for me it was caused because of an addon once.
  2. Make smaller groups (start to half the objects until you find the problematic one.

Can you further explain how tip 1 would work? I don’t have any addons in use though.

As for tip 2, what do you mean by that? Do you mean break up geometry into multiple objects? Or try to remove parenting chains? Either way I can only do this for finding the problem in testing, when I append for real I need to keep the groups/objects/constraints/… all together as they are otherwise the rig breaks.

I’ve looked through the file and can’t find any objects/vertex groups/rig bones specifically with names “ACPoseLib” or “MEshape.IK.Pole.Arm.L”, so tracking the poblem is proving tricky. However PoseLib migh indicate the pose library being at fault? I’ll try an append with that deleted from a test copy of the small file.

I’ve tried tests of importing a few pieces at a time (the rig ofcourse doesn’t work when I do this so it can’t be use for actually doing the necessary appending, but doing it in testing might let me isolate the proble), and it seems that any single object imports fine, but when I try them all together a crash occurs. Specifically it seems that if I try multiple piecs of geometry or geometry pieces plus the main rig then there is a crash. Th situation seems complex enough that one specific object doesn’t appear to be clearly to blame.

I’ve also done some tests of other types of appending, the large file can’t be appended into the smaller one but that seems to be a file size issue relating to my hardware’s capabilities rather than a bug in a file. As things stand knowing that there is a bug in the small file I’ve got to fix this anyway rather than try appending the ether way round. I’ve also tested trying to append the small file into a blank blender file, the same sort of crash happens as if I try to append it into the large file. Definitely there is an issue in the small file.

I also tried an import with an older copy of the small file, and that worked ok, but I’ve done a huge amount of work on the small fiole since that older version so I can’t exactly go back to there and do everything again.

Is there any standard checklist of stps to solve these kind of bugs?

Yours appreciatively

Ok, I’ve just tried appending the stuff but with the tools and properties panels of the small file not showing, I also deleted the pose library entries from the small file. I still get exactly the same error, even the mention of “acposelib” in it.

EDIT: tried again with the whole pose libraray deleted, not merely al the entires gone. This time I no longer got the ACPoseLib error, just the MEshape.IK.Pole.Arm.L one. Any thoughts on how to track this down? What could “MEshape.IK.Pole.Arm.L” mean?

You’re problem appears to be in the rig’s left arm pole IK control bone, as the error message indicates. That would be the one named MEshape.IK.Pole.Arm.L, which will be listed with all your other objects in the file that you’re trying to append from.

Have you tried linking the rig instead, as I suggested?

P.S. Blender doesn’t always remove orphaned data cleanly. You have to delete the unwanted stuff and then save the file and reload, then check to see if everything was removed. If not, then repeat the delete, save, reload until it is. It sometimes takes a few tries.

I don’t think linking would be appropriate, I do want to be able to edit the rig at later times once it is in the larger file.

I’ve looked at the rig and can’t fin an object with that name, although the name indicates it being in the left arm I can’t find anything of that name in my rig or anywhere in the file (unless I search the file in notepad as if it were a text file, in which case there is one result either side of which are spaces and garbled characters). I’ll try removing some left arm related stuff from the file and do a test to see if that appends properly, but I can’t find an object or rig element of that exact name.

As for orphaned data I’ve removed all the un-necessary materials and textures that I can, what else may need getting rid of? and where would I find such things in the file?

You might have a confusion in object names due to a corrupted data block. Try renaming the possible offenders in the source file to something else and see what the error message says when it gets a new object name. That should at least identify the problem object.

As I can’t find the objects with those exact names in blender should I try opening the blend file with a text editor an renaming the bits by using find and replace? If It’s a corrupted data block would I see the error being thrown for the new name instead of for the old one or for something totally different?

I have also done a test now with everything left arm related deleted but then I got errors about “MECube002”.

I also tested with the latest blender build from the buildbot, and I got the append to work without errors. But I can’t tell whether that means it was just a one off bug with blender 2.78c randomly hating my file or whether this problem is indeed due to corruption or other problems inside the file which blender 2.78c (release)notices but blender 2.78(latest as of 19/07/2017) does not. As this file is an early part of a much larger project I need to make sure it is bug free so that I don’t get bugs from here coming back to haunt me months down the line.

Yours appreciatively

P.S. I’ve found some orphaned data but have no clue how to remove it. I have a rig built with metarig in the small file, and while the small files doesn’t show any objects named “WGT…” when I append the small file into other files a load of WGT… widget objects appear in the active layer (even though “active layer” is unticked in my append options), I had deleted them from the original small file but they still appear as objects in the append list, and they get appended even when I don’t select them. Any idea how to unlink as well as delete them? So they won’t be listed as appendable and won’t get appended? I tried the method at https://blender.stackexchange.com/questions/69725/rigify-and-wgt-bones but the script didn’t work.

Ok, so I tried deleting the pose library from the rig, and renaming the vertex group (or it might be a mesh geometry piece) called “shape.IK.Pole.Arm.L”, the errors continued but now with the name in the error being the name which the vertex group had been renamed to. I also tried deleting the object containing the problem vertex group/mesh geometry but when I did this I still have the crash upon attempting to append only it chooses a different thing on which to place the blame, often “MECube.002”.

Any ideas what might be wrong?

I wouldn’t try editing the blend file with a text editor, since it will probably corrupt it if it isn’t already.

Have you tried to append the problem object(s) from the source file into a new file by themselves to see what happens? Or are they already in their own files?

I didn’t do anything with a text editor in the end. I have tried the problem objects alone and nothing bad occurs, the issue only happens when I try to append multiple objects at once, it seem to happen whenever I try to append the rig object as well as some of the geometric ones, but it isn’t easy to work out these things. There are more than 50 objects in the file so I can’t test every combination. I’ve tested many of the objects alone and they all go fine, but that’s no good to me as all the rigging and parenting gets messed up. Are there any guides for tracking these kind of problems to their exact source, because I don’t think the problem actually lies in the object mentioned when the error is thrown (otherwise I’d surely get the same crash and error when appending only the single object).

The only thing I can think of at this point is to ask in the technical forum. In my own case, I usually end up starting the whole project over, but then my projects are probably much smaller than yours.