What causes "Document::recompute(): Wall007 still touched after recompute"

Post here for help on using FreeCAD's graphical user interface (GUI).
Forum rules
and Helpful information
IMPORTANT: Please click here and read this first, before asking for help

Also, be nice to others! Read the FreeCAD code of conduct!
elsordo
Posts: 70
Joined: Sat Jan 30, 2016 6:34 am

What causes "Document::recompute(): Wall007 still touched after recompute"

Post by elsordo »

In the report view, I am seeing the following error.

Document::recompute(): Wall007 still touched after recompute

What does it mean?

I searched the forums and could not find any explanation.

-David
chrisb
Veteran
Posts: 54197
Joined: Tue Mar 17, 2015 9:14 am

Re: What causes "Document::recompute(): Wall007 still touched after recompute"

Post by chrisb »

It means that something went wrong when recomputing. Please verify that you have checked all boxes in Preferences->General->OutputWindow. Do you see any other hint? If not please upload the file for further inspection.
A Sketcher Lecture with in-depth information is available in English, auf Deutsch, en français, en español.
User avatar
furti
Posts: 344
Joined: Mon Nov 27, 2017 5:27 pm

Re: What causes "Document::recompute(): Wall007 still touched after recompute"

Post by furti »

What version of FreeCAD are you using?
With some (now pretty old) 0.18 dev Vetsions of FreeCAD this happened when you had cloned windows inside a wall. But this problem should be fixed already. But maybe it is still a problem in 0.17.

Or do you have TechDraw pages with Arch section views in your document? I had this also when the TechDraw Pages where recomputed. But a second recompute of the whole document fixed the problem every time it occured.
Forgot to report this and had no time yet to look into this any further.
User avatar
wandererfan
Veteran
Posts: 6315
Joined: Tue Nov 06, 2012 5:42 pm
Contact:

Re: What causes "Document::recompute(): Wall007 still touched after recompute"

Post by wandererfan »

elsordo wrote: Sat Apr 20, 2019 7:58 pm Document::recompute(): Wall007 still touched after recompute

What does it mean?
The state "touched" means (roughly) that a DocumentObject has been changed and needs to be "recomputed". This is the "feature recompute".

When DocumentObject A is changed, that change cascades through the chain of DocumentObjects that are linked in some way to Document A. The cascade of changes (feature recomputes) is the "document recompute".

At the end of the document recompute, all of the DocumentObjects should be "untouched" - ie no pending changes. It can happen that something is changed during the cascade that leaves a DocumentObject in the "touched" state.

The message means that at the end of the cascade Wall007 is still touched, so the model has not changed as much as it should have.

This is a programming issue. Sometimes you can get around it by manually forcing another document recompute.
vocx
Veteran
Posts: 5197
Joined: Thu Oct 18, 2018 9:18 pm

Re: What causes "Document::recompute(): Wall007 still touched after recompute"

Post by vocx »

elsordo wrote: Sat Apr 20, 2019 7:58 pm In the report view, I am seeing the following error.
...
Read the answer from wandererfan, I think it's the best one.

Also, this isn't an "error"; as far as I can tell, it's a "warning", meaning it's not a critical issue. I've had this message appear many times with Arch Windows and other objects, but really, I don't notice a problem at all; in most cases the only thing you need to do is to recompute the document, and everything will be fine.
Always add the important information to your posts if you need help. Also see Tutorials and Video tutorials.
To support the documentation effort, and code development, your donation is appreciated: liberapay.com/FreeCAD.
elsordo
Posts: 70
Joined: Sat Jan 30, 2016 6:34 am

Re: What causes "Document::recompute(): Wall007 still touched after recompute"

Post by elsordo »

Thanks for the responses.
wmayer
Founder
Posts: 20307
Joined: Thu Feb 19, 2009 10:32 am
Contact:

Re: What causes "Document::recompute(): Wall007 still touched after recompute"

Post by wmayer »

When running the unit tests then sometimes you can see this warning too when doing the Spreadsheet tests. I have analysed the concrete test that causes the warning:
The test testPrecedence() creates three objects: a spreadsheet, a cylinder and a pipe. The spreadsheet contains some expressions using the cylinder and pipe.

Now before the first recompute none of the objects has any connections to the other objects so the order of recompute is totally random. So, it can happen that the spreadsheet is recomputed as very first.

Now when the spreadsheet is being executed it runs the expressions and this way it adds a reference to the other objects to itself and the spreadsheet will be added to the in-list of the other two objects.

After the recompute of the cylinder and pipe they touch the objects of their in-list -- the spreadsheet.

For any subsequent recompute the warning won't appear any more because due to the dependency the spreadsheet will be computed as very last.
deffo
Posts: 14
Joined: Wed Jan 19, 2022 11:16 pm

Re: What causes "Document::recompute(): Wall007 still touched after recompute"

Post by deffo »

Same problem as the original post has. Cant figure out why it comes up. Tried to recompute objects but no help.
Attachments
Capture warning.PNG
Capture warning.PNG (97.63 KiB) Viewed 3289 times
paullee
Veteran
Posts: 5118
Joined: Wed May 04, 2016 3:58 pm

Re: What causes "Document::recompute(): Wall007 still touched after recompute"

Post by paullee »

Maybe you post the model file and give more information about the step to reproduce so people can have a better look :)

Look luck.
deffo
Posts: 14
Joined: Wed Jan 19, 2022 11:16 pm

Re: What causes "Document::recompute(): Wall007 still touched after recompute"

Post by deffo »

paullee wrote: Fri Jan 21, 2022 6:23 pm Maybe you post the model file and give more information about the step to reproduce so people can have a better look :)

Look luck.
For some reason it didnt let me to upload file, maybe it was too large. But I can explain what happened. I tried to make panels on large door. I messed something up and my door moved out from the wall and panels shoot other way. then somehow I had made like 5 copies of the large door. Then this error occured. Tried to recompute all objects but didnt work. Finally I deleted door object and kept only sketch of the door. Then I got rid of the error.
I think when I managed to move the door out of its original place then this error occured.
Post Reply