Closed 777Raim closed 1 month ago
Hello, Could you please provide the file(s) you import to get the material that leads to the bug? I need to reproduce on my own system in order to help you... Thanks!
Hello! Thanks for reply
Interesting thing: when I use this materials at single object at project (like box from Part WB), all works. But if project has several parts (connected with a2plus WB + Fasteners) an error occurs
While Rendering at Log has this:
09:36:51 [Render][Objstrings] /!\ OBJECTS EXPORT ERROR /!\
09:36:51 Traceback (most recent call last):
09:36:51 File "/home/raim/.var/app/org.freecadweb.FreeCAD/data/FreeCAD/Mod/Render/./Render/project.py", line 929, in _get_objstrings_worker
objstrings = list(
^^^^^
09:36:51 File "/home/raim/.var/app/org.freecadweb.FreeCAD/data/FreeCAD/Mod/Render/./Render/project.py", line 930, in <genexpr>
it.chain.from_iterable(f.result() for f in futures)
^^^^^^^^^^
09:36:51 File "/usr/lib/python3.11/concurrent/futures/_base.py", line 449, in result
return self.__get_result()
^^^^^^^^^^^^^^^^^^^
09:36:51 File "/usr/lib/python3.11/concurrent/futures/_base.py", line 401, in __get_result
raise self._exception
09:36:51 File "/usr/lib/python3.11/concurrent/futures/thread.py", line 58, in run
result = self.fn(*self.args, **self.kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
09:36:51 File "/home/raim/.var/app/org.freecadweb.FreeCAD/data/FreeCAD/Mod/Render/./Render/project.py", line 922, in worker
return [get_rdr_string(v) for v in chunk if v is not None]
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
09:36:51 File "/home/raim/.var/app/org.freecadweb.FreeCAD/data/FreeCAD/Mod/Render/./Render/project.py", line 922, in <listcomp>
return [get_rdr_string(v) for v in chunk if v is not None]
^^^^^^^^^^^^^^^^^
09:36:51 File "/home/raim/.var/app/org.freecadweb.FreeCAD/data/FreeCAD/Mod/Render/./Render/rdrhandler.py", line 370, in get_rendering_string
return RendererHandler._render_object(self, name, view)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
09:36:51 File "/home/raim/.var/app/org.freecadweb.FreeCAD/data/FreeCAD/Mod/Render/./Render/rdrhandler.py", line 499, in _render_object
rends = renderables.get_renderables(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
09:36:51 File "/home/raim/.var/app/org.freecadweb.FreeCAD/data/FreeCAD/Mod/Render/./Render/renderables.py", line 158, in get_renderables
renderables = _get_rends_from_a2plus(obj, name, mat, mesher, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
09:36:51 File "/home/raim/.var/app/org.freecadweb.FreeCAD/data/FreeCAD/Mod/Render/./Render/renderables.py", line 381, in _get_rends_from_a2plus
shutil.copyfile(org_path, dst_path)
09:36:51 File "/usr/lib/python3.11/shutil.py", line 256, in copyfile
with open(src, 'rb') as fsrc:
^^^^^^^^^^^^^^^
09:36:51 FileNotFoundError: [Errno 2] No such file or directory: '/home/raim/.var/app/org.freecadweb.FreeCAD/cache/FreeCAD/Cache/FreeCAD_Doc_a5cfb244-8178-4020-a387-bfc88aa722ef_406293_11132/Aluminum_Seamless_LIGHT.jpg'
Here the Test Project with textures (main file is assemble.FCStd
)
Yes, you're right, there was a bug in my code with A2Plus. It should be fixed now (eb89b797da09ad1e591acd51e0a1aa68cd38fbd4), can you confirm?
Thanks a bunch! All works like a charm!
Now there’s another problem: in projects with a lot of details, when Rendering starts, the FreeCAD freezes (and it doesn’t matter on Linux (Flatpak) or Windows)
How long does it remain frozen? Aren't there any messages printed in the report view?
About 2 hours.
Log:
[Render][Objstrings] STARTING OBJECTS EXPORT
[Render][Objstrings] 35 chunks: 0 heavy - 35 light (size: 1)
[Render][Objstrings] 'assemble#b_part_1_001_': Exporting
[Render][Objstrings] 'assemble#b_part_2_001_': Exporting
[Render][Objstrings] 'assemble#Screw': Exporting
Document with the UUID 'a04561f2-bc2b-4bec-8862-06c47dd88e54' already exists, change to 'a080c3c9-147a-4212-a4b9-bf162a582f32'
[Render][Objstrings] 'assemble#b_part_3_001_': Exporting
[Render][Objstrings] 'assemble#Screw001': Exporting
[Render][Objstrings] 'assemble#Screw002': Exporting
Document with the UUID '337f1ee7-9e45-4577-9a50-ceae7a155f65' already exists, change to '78df6a53-799f-43dd-bd28-fe71ed17a3f9'
[Render][Objstrings] 'assemble#Screw003': Exporting
[Render][Object] 'assemble#b_part_1_001_': A2P - Opening '/home/raim/Documents/FreeCAD RENDER TEST/2/part_1.FCStd'
[Render][Objstrings] 'assemble#Screw004': Exporting
[Render][Objstrings] 'assemble#Screw005': Exporting
[Render][Objstrings] 'assemble#Screw006': Exporting
[Render][Objstrings] 'assemble#Screw007': Exporting
[Render][Objstrings] 'assemble#Screw008': Exporting
[Render][Objstrings] 'assemble#Screw009': Exporting
[Render][Objstrings] 'assemble#Screw010': Exporting
[Render][Objstrings] 'assemble#Screw011': Exporting
[Render][Objstrings] 'assemble#Screw012': Exporting
[Render][Objstrings] 'assemble#Screw013': Exporting
[Render][Objstrings] 'assemble#Screw014': Exporting
[Render][Objstrings] 'assemble#Screw015': Exporting
[Render][Objstrings] 'assemble#Screw016': Exporting
[Render][Objstrings] 'assemble#Screw017': Exporting
[Render][Objstrings] 'assemble#Screw018': Exporting
[Render][Objstrings] 'assemble#Screw019': Exporting
[Render][Objstrings] 'assemble#Screw020': Exporting
[Render][Objstrings] 'assemble#Screw021': Exporting
[Render][Objstrings] 'assemble#Screw022': Exporting
[Render][Objstrings] 'assemble#Screw023': Exporting
[Render][Objstrings] 'assemble#Screw024': Exporting
[Render][Objstrings] 'assemble#Screw025': Exporting
[Render][Objstrings] 'assemble#Screw026': Exporting
[Render][Objstrings] 'assemble#Screw027': Exporting
[Render][Objstrings] 'assemble#Screw028': Exporting
Every time stuck at random part:
[Render][Objstrings] STARTING OBJECTS EXPORT
[Render][Objstrings] 35 chunks: 0 heavy - 35 light (size: 1)
[Render][Objstrings] 'assemble#b_part_1_001_': Exporting
[Render][Objstrings] 'assemble#b_part_2_001_': Exporting
[Render][Objstrings] 'assemble#Screw': Exporting
Document with the UUID 'a04561f2-bc2b-4bec-8862-06c47dd88e54' already exists, change to '37e27a5a-5a2b-4904-b6c4-5aec55a4ae7d'
[Render][Objstrings] 'assemble#b_part_3_001_': Exporting
[Render][Objstrings] 'assemble#Screw001': Exporting
[Render][Objstrings] 'assemble#Screw002': Exporting
[Render][Objstrings] 'assemble#Screw003': Exporting
[Render][Object] 'assemble#b_part_1_001_': A2P - Opening '/home/raim/Documents/FreeCAD RENDER TEST/2/part_1.FCStd'
Document with the UUID '337f1ee7-9e45-4577-9a50-ceae7a155f65' already exists, change to '4f3b6b67-ffd1-4e0e-ab63-d3a26eca9b08'
[Render][Objstrings] 'assemble#Screw004': Exporting
[Render][Objstrings] 'assemble#Screw005': Exporting
[Render][Objstrings] 'assemble#Screw006': Exporting
[Render][Objstrings] 'assemble#Screw007': Exporting
[Render][Objstrings] 'assemble#Screw008': Exporting
[Render][Objstrings] 'assemble#Screw009': Exporting
[Render][Objstrings] 'assemble#Screw010': Exporting
[Render][Objstrings] 'assemble#Screw011': Exporting
[Render][Objstrings] 'assemble#Screw012': Exporting
[Render][Objstrings] 'assemble#Screw013': Exporting
[Render][Objstrings] 'assemble#Screw014': Exporting
[Render][Objstrings] 'assemble#Screw015': Exporting
[Render][Objstrings] 'assemble#Screw016': Exporting
[Render][Objstrings] 'assemble#Screw017': Exporting
[Render][Objstrings] 'assemble#Screw018': Exporting
[Render][Objstrings] 'assemble#Screw019': Exporting
[Render][Objstrings] 'assemble#Screw020': Exporting
[Render][Objstrings] 'assemble#Screw021': Exporting
[Render][Objstrings] 'assemble#Screw022': Exporting
[Render][Objstrings] 'assemble#Screw023': Exporting
[Render][Objstrings] 'assemble#Screw024': Exporting
[Render][Objstrings] 'assemble#Screw025': Exporting
[Render][Objstrings] 'assemble#Screw026': Exporting
[Render][Objstrings] 'assemble#Screw027': Exporting
[Render][Objstrings] 'assemble#Screw028': Exporting
[Render][Objstrings] 'assemble#Screw029': Exporting
[Render][Objstrings] 'assemble#Screw030': Exporting
[Render][Objstrings] 'assemble#Camera': Exporting
[Render][Object] 'assemble#b_part_2_001_': A2P - Opening '/home/raim/Documents/FreeCAD RENDER TEST/2/part_2.FCStd'
Document with the UUID '37ae00d8-4009-4358-9832-07ff0e636a9c' already exists, change to 'f3a74d64-61bd-42c6-8fab-e8bc6312a67c'
Updated Project here.
Hello,
I tried several times but I did not manage to reproduce your issue. I get a result in a few seconds/minutes with no abnormal hang:
Would it be a memory problem?
Hello!
Tried on Windows 10 with last FreeCAD release:
OS: Windows 10 build 19044
Word size of FreeCAD: 64-bit
Version: 0.21.2.33771 (Git)
Build type: Release
Branch: releases/FreeCAD-0-21
Hash: b9bfa5c5507506e4515816414cd27f4851d00489
Python 3.8.10, Qt 5.15.2, Coin 4.0.1, Vtk 8.2.0, OCC 7.6.3
Locale: Russian/Russia (ru_RU)
Installed mods:
* A2plus
* Bit
* fasteners
* Library
* Render 2024.8.4
* Shape
Same behavior - process doesn't respond. What version do you have?
Would it be a memory problem?
I have 32Gb of RAM on Linux and 24Gb on Windows PC. I have no problem with RAM overhead while running Render at FreeCAD.
Sometimes Render works fine - all objects are exported and Render works. But if I closed Project and opened it again or create new Render schema at opened Project - I have no guarantees that all be work correct
Hello, Very puzzling... Are there any other symptoms, like CPU increase?
Maybe another way: could you please find 'Enable Numpy if available (experimental)' in Render Preferences, check the box and try again to make FreeCAD hang?
Hello!
Enabling Numpy
helps. Many thanks to You!
But now at log I have this:
......
12:20:25 [Render][Objstrings] 'assemble#Camera': Exporting
12:20:25 [Render][Objstrings] 'assemble#PointLight': Exporting
12:20:30 [Render][Objstrings] /!\ OBJECTS EXPORT ERROR /!\
12:20:30 Traceback (most recent call last):
12:20:30 File "/home/raim/.var/app/org.freecadweb.FreeCAD/data/FreeCAD/Mod/Render/./Render/project.py", line 930, in _get_objstrings_worker
objstrings = list(
^^^^^
12:20:30 File "/home/raim/.var/app/org.freecadweb.FreeCAD/data/FreeCAD/Mod/Render/./Render/project.py", line 931, in <genexpr>
it.chain.from_iterable(f.result() for f in futures)
^^^^^^^^^^
12:20:30 File "/usr/lib/python3.11/concurrent/futures/_base.py", line 449, in result
return self.__get_result()
^^^^^^^^^^^^^^^^^^^
12:20:30 File "/usr/lib/python3.11/concurrent/futures/_base.py", line 401, in __get_result
raise self._exception
12:20:30 File "/usr/lib/python3.11/concurrent/futures/thread.py", line 58, in run
result = self.fn(*self.args, **self.kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
12:20:30 File "/home/raim/.var/app/org.freecadweb.FreeCAD/data/FreeCAD/Mod/Render/./Render/project.py", line 923, in worker
return [get_rdr_string(v) for v in chunk if v is not None]
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
12:20:30 File "/home/raim/.var/app/org.freecadweb.FreeCAD/data/FreeCAD/Mod/Render/./Render/project.py", line 923, in <listcomp>
return [get_rdr_string(v) for v in chunk if v is not None]
^^^^^^^^^^^^^^^^^
12:20:30 File "/home/raim/.var/app/org.freecadweb.FreeCAD/data/FreeCAD/Mod/Render/./Render/rdrhandler.py", line 370, in get_rendering_string
return RendererHandler._render_object(self, name, view)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
12:20:30 File "/home/raim/.var/app/org.freecadweb.FreeCAD/data/FreeCAD/Mod/Render/./Render/rdrhandler.py", line 526, in _render_object
material = get_mat(
^^^^^^^^
12:20:30 File "/home/raim/.var/app/org.freecadweb.FreeCAD/data/FreeCAD/Mod/Render/./Render/rendermaterial.py", line 234, in get_rendering_material
res = RenderMaterial.build_standard(shadertype, values, doc)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
12:20:30 File "/home/raim/.var/app/org.freecadweb.FreeCAD/data/FreeCAD/Mod/Render/./Render/rendermaterial.py", line 305, in build_standard
value = cast_function(val, doc, objcol)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
12:20:30 File "/home/raim/.var/app/org.freecadweb.FreeCAD/data/FreeCAD/Mod/Render/./Render/rendermaterial.py", line 955, in _casttexscalar
return _make_rendertexture(imageid, doc, scalar)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
12:20:30 File "/home/raim/.var/app/org.freecadweb.FreeCAD/data/FreeCAD/Mod/Render/./Render/rendermaterial.py", line 900, in _make_rendertexture
file = texobject.getPropertyByName(imageid.image)
^^^^^^^^^^^^^^^^^^^^^^^^^^^
12:20:30 AttributeError: 'NoneType' object has no attribute 'getPropertyByName'
12:20:30 Starting rendering...
"/home/raim/Downloads/appleseed-2.0.0-beta-0-g5cff7b96b-linux64-gcc48/appleseed/bin/appleseed.cli" --output "/home/raim/.var/app/org.freecadweb.FreeCAD/cache/FreeCAD/Cache/FreeCAD_Doc_5c61dfa4-1910-4e71-95f6-3b91610c0a54_406293_2/Project_output.png" "/home/raim/.var/app/org.freecadweb.FreeCAD/cache/FreeCAD/Cache/FreeCAD_Doc_5c61dfa4-1910-4e71-95f6-3b91610c0a54_406293_2/Project.appleseed"
.........
12:20:31 2024-09-04T09:20:31.827310Z <001> 182 MB info | rendering finished in 1.073 second.
12:20:31 libpng warning: zstream not in use (internal error)
12:20:31 libpng error: stream error
12:20:31 2024-09-04T09:20:31.865933Z <001> 190 MB error | failed to write image file /home/raim/.var/app/org.freecadweb.FreeCAD/cache/FreeCAD/Cache/FreeCAD_Doc_5c61dfa4-1910-4e71-95f6-3b91610c0a54_406293_2/Project_output.png: PNG library error.
12:20:31 2024-09-04T09:20:31.866109Z <001> 190 MB info | deleting assembly tree...
12:20:31 Exiting rendering - Return code: 1
Enabling Numpy helps. Many thanks to You!
I really should enable it by default, actually.
But now at log I have this:
Yes, there is a flaw in your file:
Right-click on RenderIron material and select Edit Render Settings
Scroll down to Normal
section: you have activated Use texture
but you haven't selected any texture - that can't do. Either provide a texture or select Don't use
.
(Well, I admit the error message is neither explicit nor user friendly).
Yes, you're right. But now everything works! I'm glad! p.s. It would be very helpful to add an Error message dialog to prevent the same issues in a future.
Hello, Thank you! I've added a warning when there is an error in material definition and Numpy is now enabled by default (on dev branch at the moment...)
Hello everyone!
An error occurs when trying to re-render or save project with textures after first render:
First image disappeared.
At Cache folder my textures is disappeared all time which leads to errors. And not all textures disappear, only some.
It doesn't depend on the render engine.