Re: Understanding VfS Error Log
The error log is a text document. Just copy and paste the contents rather than waste time uploading/downloading it. I would like everyone to be able to self-diagnose the issues, but we also understand that at the moment, there is no documentation about this stuff, so that will be kind of hard for you guys to do. So just post your error log, and let’s see what’s wrong. If you don’t mind 40th, I’m posting your error log, and breaking it down a bit as we go through it:
About to make our qapp
after make qapp
C:\ProgramData\ASGVIS\Python26\Lib\site-packages\Ft\Lib\__init__.py:47: DeprecationWarning: functions overriding warnings.showwarning() must support the ‘line’ argument
self.message = messages % msgargs
C:\ProgramData\ASGVIS\Python26\Lib\site-packages\Ft\Lib\__init__.py:47: DeprecationWarning: BaseException.message has been deprecated as of Python 2.6
self.message = messages % msgargs
C:\ProgramData\ASGVIS\Python26\Lib\site-packages\Ft\Lib\__init__.py:48: DeprecationWarning: functions overriding warnings.showwarning() must support the ‘line’ argument
Exception.__init__(self, self.message, args)
C:\ProgramData\ASGVIS\Python26\Lib\site-packages\Ft\Lib\__init__.py:48: DeprecationWarning: BaseException.message has been deprecated as of Python 2.6
Exception.__init__(self, self.message, args)
C:\ProgramData\ASGVIS\Python26\Lib\site-packages\Ft\Xml\Catalog.py:583: DeprecationWarning: functions overriding warnings.showwarning() must support the ‘line’ argument
e.message),
C:\ProgramData\ASGVIS\Python26\Lib\site-packages\Ft\Xml\Catalog.py:583: DeprecationWarning: BaseException.message has been deprecated as of Python 2.6
e.message),
C:\ProgramData\ASGVIS\Python26\Lib\site-packages\Ft\Xml\Catalog.py:584: DeprecationWarning: functions overriding warnings.showwarning() must support the ‘line’ argument
FtWarning)
FtWarning: Catalog resource (file:///C:/Python26/Share/4Suite/default.cat) disabled: Error retrieving resource ‘file:///C:/Python26/Share/4Suite/default.cat (C:\\Python26\\Share\\4Suite\\default.cat)’: No such file or directory: ‘C:\\Python26\\Share\\4Suite\\default.cat’
C:\ProgramData\ASGVIS\VfS\\VRayPlugins.xml
Made it after UIManager.initialize
This stuff is just a bunch of warnings. It can be ignored. Everyone should have the same stuff at the bottom of the error log.
Failed to construct the class…(<type ‘exceptions.ValueError’>, ValueError(u’Invalid literal for float: /Tiles/Reflection/transparency_texture/TexFresnel/Texture1’,), <traceback object at 0x1A0FCF08>)
Traceback (most recent call last):
File “C:\ProgramData\ASGVIS\Python26\Lib\site-packages\ASGVIS\vrayplugin.py”, line 651, in handle_float
return VRayType(“float”, self._grab_child_text_node_data( node ) )
File “C:\ProgramData\ASGVIS\Python26\Lib\site-packages\ASGVIS\vraytypes.py”, line 1612, in __new__
return cls(*args)
File “C:\ProgramData\ASGVIS\Python26\Lib\site-packages\ASGVIS\vraytypes.py”, line 261, in __init__
self.set( value )
File “C:\ProgramData\ASGVIS\Python26\Lib\site-packages\ASGVIS\vraytypes.py”, line 264, in set
self.value = _helperToFloat( val )
File “C:\ProgramData\ASGVIS\Python26\Lib\site-packages\ASGVIS\vraytypes.py”, line 13, in _helperToFloat
res = toFloat(val.strip())
File “C:\ProgramData\ASGVIS\Python26\Lib\site-packages\ASGVIS\visutils.py”, line 218, in toFloat
raise ValueError( error_msg )
ValueError: Invalid literal for float: /Tiles/Reflection/transparency_texture/TexFresnel/Texture1
So the error here is the part where it says “ValueError: Invalid literal for float: /Tiles/Reflection/transparency_texture/TexFresnel/Texture1”. What does it mean? Well it’s telling us that it was expecting a float value (a number that has a decimal point like 5.3), but instead we got a literal value of some sort. So… what does that mean? Well basically… somewhere along the lines, something that was expecting a number… didn’t get a number, it got some other garbage. What did it get? I don’t know, but we could probably figure it out if we had the scene in front of us to play around with. Basically we would just keep pressing buttons, trying to follow whatever the users tells us they did to produce the problem, until we saw that error appear in the error log. So… maybe this happened when you tried to set a texture for a material.
Let’s see here… it says “/Tiles/Reflection/transparency_texture/TexFresnel/Texture1” So there’s a material in your scene called “Tiles”. It has a Reflection layer. The transparency_texture currently is set to be a TexFresnel texture. One of the values of the TexFresnel has another map set of some sort, and that’s the guy that has an invalid value of some sort. Tada! There’s a problem with that material for some reason. So take a look at the material called “Tiles” and see if you can see anything wrong with it.
C:\ProgramData\ASGVIS\Python26\Lib\site-packages\Ft\Xml\InputSource.py:346: DeprecationWarning: functions overriding warnings.showwarning() must support the ‘line’ argument
FtWarning, 2)
FtWarning: Creation of InputSource without a URI
This is just another warning, not relevant.
there is already a sun
update_sun_xml_in_scene was just called with the following argList:[u’SunLight’]
This is just some stuff that prints out when we’re doing some checks to see if we should put the Physical Sun in the scene or not.
Entering renderArchive
About to start readArchive - C:\ProgramData/ASGVIS/VfS/current_skp.xml
Okay, so now it looks like you pressed the render button. When you render, an xml document is generated, which represents the ENTIRE scene. All geometry, materials, render options, etc. It’s all in there. The file is called “C:\ProgramData/ASGVIS/VfS/current_skp.xml”. Feel free to look at it whenever you have an issue, to see if you can see anything weird. I’m going to warn you though, it’s a large text document and there isn’t anything useful you can do with that document other than look at it. If you’re familiar with programming or XML, maybe this will make sense to you a little, if you’re not familiar with that stuff though… I don’t think I’d recommend even opening that file to look at it.
Failed to construct the class…(<type ‘exceptions.ValueError’>, ValueError(u’Invalid literal for float: /Tiles/Reflection/transparency_texture/TexFresnel/Texture1’,), <traceback object at 0x23A00E68>)
Traceback (most recent call last):
File “C:\ProgramData\ASGVIS\Python26\Lib\site-packages\ASGVIS\vrayplugin.py”, line 651, in handle_float
return VRayType(“float”, self._grab_child_text_node_data( node ) )
File “C:\ProgramData\ASGVIS\Python26\Lib\site-packages\ASGVIS\vraytypes.py”, line 1612, in __new__
return cls(*args)
File “C:\ProgramData\ASGVIS\Python26\Lib\site-packages\ASGVIS\vraytypes.py”, line 261, in __init__
self.set( value )
File “C:\ProgramData\ASGVIS\Python26\Lib\site-packages\ASGVIS\vraytypes.py”, line 264, in set
self.value = _helperToFloat( val )
File “C:\ProgramData\ASGVIS\Python26\Lib\site-packages\ASGVIS\vraytypes.py”, line 13, in _helperToFloat
res = toFloat(val.strip())
File “C:\ProgramData\ASGVIS\Python26\Lib\site-packages\ASGVIS\visutils.py”, line 218, in toFloat
raise ValueError( error_msg )
ValueError: Invalid literal for float: /Tiles/Reflection/transparency_texture/TexFresnel/Texture1
There’s that texture again…
24.071000 seconds is how long it took to read in our scene file
This is how long it took for us to read in that xml scene file: C:\ProgramData/ASGVIS/VfS/current_skp.xml
Traceback (most recent call last):
File “C:\ProgramData\ASGVIS\Python26\Lib\site-packages\ASGVIS\vrayrender.py”, line 230, in initFromArchive
self.addAssetsToRenderer( self )
File “C:\ProgramData\ASGVIS\Python26\Lib\site-packages\ASGVIS\vrayrender.py”, line 92, in addAssetsToRenderer
self.__findReferencedPlugins( asset, refList )
File “C:\ProgramData\ASGVIS\Python26\Lib\site-packages\ASGVIS\vrayrender.py”, line 126, in __findReferencedPlugins
self.__handleReferencedPlugin( param.value, referencedList )
File “C:\ProgramData\ASGVIS\Python26\Lib\site-packages\ASGVIS\vrayrender.py”, line 117, in __handleReferencedPlugin
referencedAsset = self.assets_lookup[ paramUrl ]
KeyError: u’/Chrome’
Okay, so this one says that when we trying to find some assets that were referenced in another plugin, we were unable to find them. What does that mean? It means that let’s say… a sphere, has a material applied to it. The Geometry asset would make reference to that material, specifically that the material is applied to the front or back side of a face of that geometry. So in this particular instance, there is something that is referencing a material called “/Chrome” I know that this is the URL of a material, and not a texture, because you can’t name anything in our plugin, aside from materials, and there’s nothing in our plugin called “Chrome”. So more than likely this is a material in your scene. Unfortunately we were unable to find that material while iterating through the assets in the scene.
So where is the material? SketchUp’s probably hiding it somewhere. It’s probably a material that was applied to a component that was imported, or some other input method other than creating a material directly from the SketchUp material editor.
So why does that matter? Why should it matter how a material is brought in to the scene? It shouldn’t matter, but unfortunately since SketchUp decided to not give us a heads up when a material is created by importing a component or however it happened, we don’t know that we need to handle that material, so the material isn’t dealt with, and the scene doesn’t work. It’s just the way it works. Our old product didn’t deal with this issue properly either, but at least now there’s a work around. You can run our new Debug tools.
Specifically you can run the Force Sync for All Materials tool. This will iterate through all of the materials in the SketchUp material editor, and the V-Ray material editor. It will find any materials that are missing from the editors, and create materials where needed so both editors reflect the same materials. If you were to run that tool on this scene, you would probably notice an extra material that magically appears in the V-Ray material editor, called Chrome. You might not see that same material show up in the SketchUp material editor, because the material may already exist somewhere in the scene, hidden from view (I hate that SketchUp does this… oh I hate it so much).
Okay, moving on…
Traceback (most recent call last):
File “C:\ProgramData\ASGVIS\VfS\PyProcMsg.py”, line 46, in procPyCallback
callback( argList )
File “C:\ProgramData\ASGVIS\VfS\pyCallbacks.py”, line 179, in start_render
renderer.renderArchive( argList[0] )
File “C:\ProgramData\ASGVIS\Python26\Lib\site-packages\ASGVIS\vrayrender.py”, line 260, in renderArchive
self.initFromArchive( filename )
File “C:\ProgramData\ASGVIS\Python26\Lib\site-packages\ASGVIS\vrayrender.py”, line 230, in initFromArchive
self.addAssetsToRenderer( self )
File “C:\ProgramData\ASGVIS\Python26\Lib\site-packages\ASGVIS\vrayrender.py”, line 92, in addAssetsToRenderer
self.__findReferencedPlugins( asset, refList )
File “C:\ProgramData\ASGVIS\Python26\Lib\site-packages\ASGVIS\vrayrender.py”, line 126, in __findReferencedPlugins
self.__handleReferencedPlugin( param.value, referencedList )
File “C:\ProgramData\ASGVIS\Python26\Lib\site-packages\ASGVIS\vrayrender.py”, line 117, in __handleReferencedPlugin
referencedAsset = self.assets_lookup[ paramUrl ]
KeyError: u’/Chrome’
Again, the material named “Chrome” is missing from the XML scene file that was written out after clicking the render button. So the geometry that was using that material was written out, and it knew that it had a material named “Chrome” with a URL of “/Chrome” applied to at least one of it’s faces, but there is no /Chrome in the scene, so an error occurs.
_________________________________________________
I know this breakdown doesn’t answer all questions about the error log, but I do hope that I’ve been able to shed some light on the issue, and have managed to help some of you. Please keep the error logs coming, so we can continue to diagnose issues, and discover as many bugs as we can. The more bugs we know about, the more effective the next patch will be!