Skip to content

Handling of UTF8 command argument files regressed in v26.1 breaking Grpc.Tools #17036

@tonydnewell

Description

@tonydnewell

What version of protobuf and what language are you using?
Version: v26.1
Language: C# (but any will see problem)

What operating system (Linux, Windows, ...) and version?
Windows - any version

What did you do?
This is causing the Grpc.Tools issue grpc/grpc#36518
Grpc.Tools is broken by the protocol buffers change.

Handling of non-ASCII characters in UTF-8 command line argument files is broken. It was working in v25.1 and is not working in V26.1. I suspect the cause of the issue to be the "fix" in #14197

Grpc.Tools V2.62.0 ships with protoc version 25.1
Grpc.Tools V2.63.0 ships with protoc version 26.1

Steps to reproduce:

  • Create a directory on Windows containing a non-ASCII character in its name
  • Use that directory in the a command line file (an @ file)

Example of @ file - test.rps

--plugin=protoc-gen-grpc=E:\work\grpc\protoctest\test-Dré\tools\grpc_csharp_plugin.exe
--grpc_out=E:\work\grpc\protoctest\test-Dré\grpc_out
--proto_path=E:\work\grpc\protoctest\test-Dré
hélloworld.proto
  • example command line on Windows:
E:\work\grpc\protoctest\test-Dré>v1.63.0\protoc.exe @..\test-Dré\test.rsp

What did you expect to see
No errors

What did you see instead?

E:\work\grpc\protoctest\test-Dré>v1.63.0\protoc.exe @..\test-Dré\test.rsp
Failed to open argument file: ..\test-Dr�\test.rsp

** Results with older version (working):**

E:\work\grpc\protoctest\test-Dré>v1.62.0\protoc.exe @..\test-Dré\test.rsp


Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions