ni / grpc-labview

gRPC client and server support for LabVIEW
MIT License
90 stars 61 forks source link

Regenerating .proto results in error (since v.1.0.0.6) #346

Open StefanCals opened 9 months ago

StefanCals commented 9 months ago

Regenerating a .proto file with the scripting tool results in error 1357.

image

Originally, generated a Server and Client with the helloworld.proto file. This worked, no errors.

Updating the helloworld.proto as described in the QuickStart.md will result in error 1357. The SayHelloAgain method is also not created on the Client side.

I am currently using LabVIEW 2021 64-bit with Windows 11.

I have tested this with the following released versions of grpc-labview image

Regenerating worked in v1.0.0.5, however there were some other problems in this version that have since been fixed.

I would like to see the regeneration of .proto files working again.

AB#2647752

nischalks commented 8 months ago

@StefanCals I would suggest you to move to the latest release https://github.com/ni/grpc-labview/releases/tag/v1.2.0.1 and verify if it solves your problem.

StefanCals commented 8 months ago

@StefanCals I would suggest you to move to the latest release https://github.com/ni/grpc-labview/releases/tag/v1.2.0.1 and verify if it solves your problem.

@nischalks in the issue I described it to be an issue from v1.0.0.6 until now. So this is also still an issue in the current v1.2.0.1 release. If you want to re-create the error, you can perform the steps described in your QuickStart.md (Update the gRPC example application). To specify further, the error occurs in the Save VI at path.vi file. image

The problem is, I think, in the Save VI Invoke Node. At some point it tries to delete a file if it's there and save some VI with the same name. However, being that that previously deleted VI was part of the library, it can't save it under the same name (thinking there already is a VI with that name in the library).

image

Disconnecting the VI from library before deleting and saving the new VI gets rid of some errors, but not all.

aceagles commented 6 months ago

I'm having the same issue. I see that there are new releases since these comments. This would indicate that its not an issue on the dev machines. Is there a workaround for this?

jsnyder-vsi commented 6 months ago

It appears the template server and client projects in the gRPC Server and Client Template [2] package have been updated and the example projects in the github repository were created with older templates.

Specifically, when following the Regenerate the gRPC code section of the quick start guide, the gRPC Scripting Tool errors in the Generate Descriptor VI.vi because it can't find the Generated Descriptors.vi in the existing server library in the Hello World project. If you change the Generated Library Name in the tool to a new name (say "helloword2") the gRPC Scripting Tool correctly generates the new server and client libraries

The example projects should probably be updated to match the latest client and server templates.

StefanCals commented 6 months ago

It would be preferable to have a scripting tool that can rescript your code without having to rename your Generated Library Name. For now I just delete my old library before rescripting a new one with the same name.

V0ILA1 commented 3 months ago

Ye this issue is super annoying when trying to use the library for projects. As such I have modified the script to delete all the generated code apart from certain VIs I want to keep (which it copies elsewhere) before regeneration. Its a bit wonky but its reliable