Packaging (refactoring) a node with an unspecialized generic port results in a non-working subcomposition

Steps causing the bug to occur

  1. I created a composition exactly as the same as the page 80 of the pdf user manual
  2. selected the 4 nodes in tangerine color (make sphere, trim 3d object, show back of 3d object, transfom 3d object)
  3. right-click and select “package as subcomposition”
  4. save the subcomposition
  5. execute the main composition and an error message occurs : Couldn’t get backing node class. — ‘vjdobermann.makeSphere.VuoInteger’ uses generic types, but it couldn’t be compiled. Check the macOS Console for details.

Have you found a workaround?

don’t use subcompositions

Other notes

  • Vuo version: 2.2.1
  • macOS version: macOS 10.12
  • How severely does this bug affect you? It’s annoying but I can work around it.

osx console monitor.txt (907 Bytes)

Thanks for sharing your console logs! Very helpful. It looks like there’s a broken file in the Modules folder called vjdobermann.makeSphere.c. Could you try removing that file and let us know if that fixes the problem?

The Modules folder has only one file inside : vjdobermann.makesphere.vuo
not that one with .c extension

Capture d’écran 2021-01-26 à 18.39.43.png

Thanks so much for that additional information. We wonder if the compiler is incorrectly detecting that .vuo subcomposition in a way that would create an errant .c file.

Could you try removing the vjdobermann.makesphere.vuo file, and try emptying the User/System Vuo Modules folders, too? If you can send us the unloadable subcomposition, it might help us reproduce and fix the problem.

yes find attached my files, the subcomp named vjdobermann.makesphere.vuo and the main comp named testing 8.vuo

testing 8.vuo (4.41 KB)

vjdobermann.makesphere.vuo (1.9 KB)

Thanks for forwarding the files! We were able to figure out the problem, which is a published, unspecialized generic port in a subcomposition. I’ve modified the title of your bug report to reflect that.

The workaround:

  • Open vjdobermann.makesphere.vuo
  • Delete the Material published port.
  • Right-click on the Material input port. Under Set Data Type, select any option other than Generic.
  • Re-publish the Material port.
  • In testing 8.vuo, replace the subcomposition node (now marked as “not installed”) with its new version from the node library.

great it’s working :smiley: thank you very much :pray: