diff options
| author | Simone Weiß <simone.weiss@elektrobit.com> | 2024-03-04 20:00:40 +0100 |
|---|---|---|
| committer | Aleksandr Nogikh <nogikh@google.com> | 2024-03-18 10:58:57 +0000 |
| commit | ee397bf91e9742f2d410282306456afde4efea02 (patch) | |
| tree | aa665d2c0572d4d2a30ca69697c561fd56ab0cd4 /pkg/bisect/bisect.go | |
| parent | fc090d205d8c3d58f190659a98795d89421b7e6b (diff) | |
pkg/bisect: make bisection more robust
Bisection should not fail if the Kconfig or the baseline config have issues.
Broken kernel sources might lead to issues when parsing Kconfig, ignore this and
proceed with the original config. If the baseline config is not parseable,
proceed anyway as this is an optional parameter to begin with.
Diffstat (limited to 'pkg/bisect/bisect.go')
| -rw-r--r-- | pkg/bisect/bisect.go | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/pkg/bisect/bisect.go b/pkg/bisect/bisect.go index 270668e05..b75b2d2e0 100644 --- a/pkg/bisect/bisect.go +++ b/pkg/bisect/bisect.go @@ -416,7 +416,11 @@ func (env *env) minimizeConfig() (*testResult, error) { minConfig, err := env.minimizer.Minimize(env.cfg.Manager.SysTarget, env.cfg.Kernel.Config, env.cfg.Kernel.BaselineConfig, env.reportTypes, env.cfg.Trace, predMinimize) if err != nil { - return nil, err + if errors.Is(err, vcs.ErrBadKconfig) { + env.log("config minimization failed due to bad Kconfig %v\nproceeding with the original config", err) + } else { + return nil, err + } } env.kernelConfig = minConfig return testResults[hash.Hash(minConfig)], nil |
