From ae35d671ca214eb79cb690a56ab9c6986f8d0fef Mon Sep 17 00:00:00 2001 From: Alon Zivony Date: Tue, 7 May 2024 03:36:04 +0300 Subject: [PATCH] chore(events): decrease SO loader error log level to debug Errors from the SO loader are pretty frequent because of race conditions. As the user has nothing to do with it, the log level should be lowered from WARN. --- pkg/events/derive/symbols_collision.go | 11 ++++++++--- pkg/events/derive/symbols_loaded.go | 2 -- 2 files changed, 8 insertions(+), 5 deletions(-) diff --git a/pkg/events/derive/symbols_collision.go b/pkg/events/derive/symbols_collision.go index e7eb3216138b..4b4181d59696 100644 --- a/pkg/events/derive/symbols_collision.go +++ b/pkg/events/derive/symbols_collision.go @@ -1,6 +1,7 @@ package derive import ( + "errors" "github.com/hashicorp/golang-lru/simplelru" "golang.org/x/exp/maps" @@ -182,15 +183,19 @@ func (gen *SymbolsCollisionArgsGenerator) findShObjsCollisions( // get exported symbols from the shared object BEING loaded loadingShObj.exportedSymbols, err = gen.soLoader.GetExportedSymbols(loadingShObj.ObjInfo) if err != nil { + // High level languages like Java might load non-ELF files + // There is no need to log errors for such cases + var notElfErr *sharedobjs.UnsupportedFileError + if errors.As(err, ¬ElfErr) { + return nil, nil + } // TODO: rate limit frequent errors for overloaded envs _, ok := gen.returnedErrorsMap[err.Error()] if !ok { gen.returnedErrorsMap[err.Error()] = true - logger.Warnw("symbols_loaded", "object loaded", loadingShObj.ObjInfo, "error", err.Error()) - } else { logger.Debugw("symbols_loaded", "object loaded", loadingShObj.ObjInfo, "error", err.Error()) } - return nil, errfmt.WrapError(err) + return nil, nil } loadingShObj.FilterSymbols(gen.symbolsBlacklistMap) // del symbols NOT in blacklist loadingShObj.FilterOutSymbols(gen.symbolsWhitelistMap) // del symbols IN the white list diff --git a/pkg/events/derive/symbols_loaded.go b/pkg/events/derive/symbols_loaded.go index 6afcf3ee2848..2a11e4054c57 100644 --- a/pkg/events/derive/symbols_loaded.go +++ b/pkg/events/derive/symbols_loaded.go @@ -144,8 +144,6 @@ func (symbsLoadedGen *symbolsLoadedEventGenerator) deriveArgs( _, ok := symbsLoadedGen.returnedErrors[err.Error()] if !ok { symbsLoadedGen.returnedErrors[err.Error()] = true - logger.Warnw("symbols_loaded", "object loaded", loadingObjectInfo, "error", err.Error()) - } else { logger.Debugw("symbols_loaded", "object loaded", loadingObjectInfo, "error", err.Error()) } return nil, nil