[llvm] [symbolizer] Empty string is not an error (PR #92660)

David Blaikie via llvm-commits llvm-commits at lists.llvm.org
Thu May 30 10:13:24 PDT 2024


dwblaikie wrote:

> I answered it earlier:
> 
> > A good response means that the client program found the llvm-symbolizer executable and it reached its main loop, which is a useful thing to know on its own regardless of whether later requests fail. A bad response is a strong signal (not a guarantee) that there was a user error and the client program should tell the user to e.g. check their $PATH. A good response rules out this type of user error and means that if we see a crash later it means that there is a bug (either in the client program or llvm-symbolizer) and the client program can respond by telling the user to file a bug report.
> 
> Maybe the client program should always tell the user to check their $PATH if the read fails? But it seems like that could be confusing for users if there is an actual bug.

Perhaps the best thing would be to print the command that was run, and tell the user to ensure that command works? Then if they run it themselves they'll get all the more descriptive output from their shell, etc, that'll help them understand what went wrong?

(I guess that's part of the problem, yeah? If one runs the command from a shell you get more informative failures, but if it's just exec'd you only get an exit code and no user-readable description of the problem (file not found, permissions not executable, etc))

https://github.com/llvm/llvm-project/pull/92660


More information about the llvm-commits mailing list