Cannot find the tool script

San-San-San
Explorer
Explorer

Cannot find the tool script

San-San-San
Explorer
Explorer

When I create shader node, I get error "Cannot find the tool script". Help Me!
Preview problem: https://i.imgur.com/Zh4z7Ta.gif

0 Likes
Reply
1,661 Views
12 Replies
Replies (12)

lee_griggs
Autodesk
Autodesk

Which version are you using? Have you installed the latest plugin?

Lee Griggs
Arnold rendering specialist
AUTODESK
0 Likes

San-San-San
Explorer
Explorer

I have HtoA 4.2.0 / Arnold 5.4.0.0 for Houdini 17.5.229

But I have this problem from 5.0... version arnold

I think I have a problem because need extra variables for HtoA..?

0 Likes

Anonymous
Not applicable

From the doc, htoa 4.2.0 work with:
16.5.634
17.0.506
17.5.327
17.5.360

Maybe I can help if you post your houdini.env file here, or your .json file !

0 Likes

San-San-San
Explorer
Explorer

Thank you, Rachid! My environment when I start Houdini: https://jsonformatter.org/json-viewer/f2716f (JSON)

0 Likes

Anonymous
Not applicable

houdini. env file is under C:\Users\XXX\Documents\houdini18.0
.json file is under C:\Users\XXX\Documents\houdini18.0\packages

So edit houdini. env file with any text editor ( notepad ) copy the text and past it here!


0 Likes

david.ostler2WSX9
Enthusiast
Enthusiast

Did you ever find a solution to this?  I'm seeing the same thing on 19.5.493 with HTOA 6.1.4.2.

I think it is scene specific.  I have  a scene that I have been building for the last six months where I have this problem exactly.  But I can create a fresh scene and create nodes.

 

I have nothing special going on in my Houdini setup, it's just a vanilla setup.  I've seen this on a few of my computers using Ubuntu and Rocky Linux.

 

 

0 Likes

rachid_1
Advocate
Advocate
could you be more explicit, what kind of problem you are facing?
can you share a simple test scene showing the issue?
0 Likes

pier.ciarravano
Observer
Observer

Hi,
I am having the same exact issue with Arnold 6.1.4.0 on Houdini 19.5.403:

Error: "Cannot find the tool script" as soon I add a node in the Arnold Vop network.

Did you solve in some way?
@david.ostler2WSX9 did you mean same Arnold version 6.1.4.x I guess.
So maybe it is a bug related to this specific version?!

Thank you

 

0 Likes

david.ostler2WSX9
Enthusiast
Enthusiast

Yeah, I meant 6.1.4.2.  I still haven't found a solution to this issue.  Just the lame work around of oppening up a fresh Houdini session and copy and pasting the node into my working file.

0 Likes

david.ostler2WSX9
Enthusiast
Enthusiast

Here is a file that exhibits the "cannot find the tool script" issue.  I had just started building a small test scene for another purpose, it was working fine and then suddenly I couldn't create any arnold nodes in the material builder.

 

I've seen this issue on multiple installs of Houdindi with multiple versions of HTOA on multiple versions of linux (Rocky Linux and Ubuntu)  Currently I'm on 19.5.534 and 6.1.4.4.


Edit1:

I've tried running houdini in debug mode:

gdb $HFS/bin/houdini-bin

(gdb) run -foreground
This doesn't create any helpful logging.

Edit2:
I also just noticed that once a file starts exhibiting this issue it seems to infect the houdini session.  File>New still has the same problem.
Edit3:
The attached file seems to be fine in a new houdini session.

Edit4:
The attached file when opened in fresh session lets me create two or three nodes, then it breaks and ever time after I get the error.  In this case I was creating a "flat" node.

0 Likes

Stephen.Blair
Community Manager
Community Manager

That scene file works fine for me. The problem is not the file itself, but that something is deleting a file used by Houdini.

 

I took a look (on Windows, with Process Monitor).

  • At startup, houdinifx.exe creates a file with a  name like hfs33560-0.tmp.shelf.
  • The number 33560 is the PID of the houdinifx process. If I start multiple Houdini sessions, I get one tmp.shelf file for each session. Each one with a different file name, because the file name uses the PID of the process.
  • Every time I drop a node like standard_surface, houdinifx reads the tmp.shelf file.
  • When I quit Houdini, the tmp.shelf is deleted.
  • If I delete the tmp.shelf file while Houdini is running, then I will get the "Cannot find the tool script" 

I say that the tmp.shelf file is generated by Houdini, based on the custom nodes that HtoA registers (and for kinefx SOPs too). 

Something deletes the tmp.shelf file, but I don't know what. And I haven't reproduced it yet.


The tmp.shelf files for different Houdini sessions are identical, so you could just put back a copy and rename it with the PID of the process. 

A tmp.shelf file is an xml file, that defines a "tool" for each of the Arnold VOP nodes:

  <tool name="arnold::vop_round_corners" label="Round Corners" icon="VOP_roundededge">
    <toolMenuContext name="viewer">
      <contextNetType>VOP</contextNetType>
    </toolMenuContext>
    <toolMenuContext name="network">
      <contextOpType>arnold::Vop/round_corners</contextOpType>
    </toolMenuContext>
    <toolSubmenu>Shading</toolSubmenu>
    <script scriptType="python"><![CDATA[import voptoolutils

voptoolutils.genericTool(kwargs, 'arnold::round_corners')]]></script>
    <keywordList>
      <keyword>arnold</keyword>
    </keywordList>
  </tool>

It also has some non-HtoA stuff like this:

soptoolutils.genericTool(kwargs, 'kinefx::characterblendshapesadd')]]></script>
  </tool>

  <tool name="kinefx::sop_computetransform" label="Compute Transform" icon="SOP_kinefx-computetransform">
    <toolMenuContext name="viewer">
      <contextNetType>SOP</contextNetType>
    </toolMenuContext>
    <toolMenuContext name="network">
      <contextOpType>kinefx::Sop/computetransform</contextOpType>
    </toolMenuContext>
    <toolSubmenu>KineFX</toolSubmenu>
    <script scriptType="python"><![CDATA[import soptoolutils

soptoolutils.genericTool(kwargs, 'kinefx::computetransform')]]></script>
  </tool>

 



// Stephen Blair
// Arnold Renderer Support
0 Likes

david.ostler2WSX9
Enthusiast
Enthusiast

@Stephen.Blair I can confirm everything you said above in both windows and linux, the tmp.shelf is always missing when I get the "cannot find tool script" error.  It just happened to me on windows for the first time.  One interesting thing I noticed is that on linux the PID and the name of the script are not the same, for example, my script is named hfs15791-0.tmp.shelf and my Houdini PID is 15795.   I don't get the tool script error in this case but I just thought I'd point out that the PID and script name on linux are different, off by a few numbers.  Here's what linux looks like with two Houdini sessions running.

Screenshot from 2023-04-24 13-20-33.png

After finding this error in windows I started up a new Houdini session and copied the tmp.shelf and changed the name to the PID of the broken session, this fixed the error, creating nodes worked again.
I'm stumped as to what could cause this file to go missing part way though a session.   It seems like another process in Houdini must be flushing that file for some reason.  It seems like its more likely to happen in a file that I have been working on for a while.

 

0 Likes