debuginfod: print filename for "cannot open archive" error
Commit Message
Report the file that has such a problem so that one can inspect it.
Signed-off-by: Martin Liska <mliska@suse.cz>
---
debuginfod/debuginfod.cxx | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
Comments
Hi -
> Report the file that has such a problem so that one can inspect it.
> Signed-off-by: Martin Liska <mliska@suse.cz>
The complication with this type of change is that the exception text
objects also make it into the prometheus metrics. When file names and
such variables show up, they will bifurcate all the affected error
metrics into families.
Not sure what is the best solution to that. A separate verbose log
print to explain the specifics of this error? An extra parameter to
the exception object, which is only logged but not passed to
prometheus metric naming? Some other way?
- FChE
@@ -1714,7 +1714,7 @@ handle_buildid_r_match (bool internal_req_p,
rc = archive_read_open_FILE (a, fp);
if (rc != ARCHIVE_OK)
- throw archive_exception(a, "cannot open archive from pipe");
+ throw archive_exception(a, "cannot open archive " + b_source0 + " from pipe");
// archive traversal is in three stages, no, four stages:
// 1) skip entries whose names do not match the requested one
@@ -2973,7 +2973,7 @@ archive_classify (const string& rps, string& archive_extension,
rc = archive_read_open_FILE (a, fp);
if (rc != ARCHIVE_OK)
- throw archive_exception(a, "cannot open archive from pipe");
+ throw archive_exception(a, "cannot open archive " + rps + " from pipe");
if (verbose > 3)
obatched(clog) << "libarchive scanning " << rps << endl;