Bug 9291 - sanity.bbclass: error reporting too verbose
Summary: sanity.bbclass: error reporting too verbose
Status: RESOLVED FIXED
Alias: None
Product: OE-Core
Classification: Build System, Metadata & Runtime
Component: configuration (show other bugs)
Version: 2.1
Hardware: x86 Multiple
: Medium+ normal
Target Milestone: 2.1 M4
Assignee: Richard Purdie
QA Contact:
URL:
Whiteboard:
Depends on:
Blocks:
 
Reported: 2016-03-17 15:49 UTC by Patrick Ohly
Modified: 2016-03-31 08:16 UTC (History)
0 users

See Also:
OS type for building Yocto: ---
Type of Regression: ---
Verified:
Documentation change: No (bug/feature does not impact docs)


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Patrick Ohly 2016-03-17 15:49:16 UTC
When checks like the one in oecore_update_bblayers() fail, the resulting error output contains useless stack backtraces that make it hard to find the actual error message. The stack backtraces should be avoided.

Example:

ERROR: Error executing a python function in exec_python_func() autogenerated:
 
The stack trace of python calls that resulted in this exception/failure was:
File: 'exec_python_func() autogenerated', lineno: 2, function: <module>
     0001:
 *** 0002:oecore_update_bblayers(d)
     0003:
File: '/work/ostro-os/meta/classes/sanity.bbclass', lineno: 166, function: oecore_update_bblayers
     0162:        current_lconf += 1
     0163:        sanity_conf_update(bblayers_fn, lines, 'LCONF_VERSION', current_lconf)
     0164:        return
     0165:
 *** 0166:    raise NotImplementedError(failmsg)
     0167:}
     0168:
     0169:def raise_sanity_error(msg, d, network_error=False):
     0170:    if d.getVar("SANITY_USE_EVENTS", True) == "1":
Exception: NotImplementedError: Your version of bblayers.conf has the wrong LCONF_VERSION (has 7, expecting 8).
Please compare your file against bblayers.conf.sample and merge any changes before continuing.
"meld conf/bblayers.conf /work/ostro-os/meta-ostro/conf/bblayers.conf.sample"
 
is a good way to visualise the changes.
 
ERROR: Execution of event handler 'check_sanity_eventhandler' failed
Traceback (most recent call last):
  File "/work/ostro-os/meta/classes/sanity.bbclass", line 954, in check_sanity(sanity_data=<bb.data_smart.DataSmart object at 0x7f77ae6da510>):
     
    >    check_sanity_everybuild(status, sanity_data)
         
  File "/work/ostro-os/meta/classes/sanity.bbclass", line 780, in check_sanity_everybuild(status=<SanityStatus object at 0x7f77ae6da5d0>, d=<bb.data_smart.DataSmart object at 0x7f77ae6da510>):
     
    >    sanity_check_conffiles(status, d)
     
  File "/work/ostro-os/meta/classes/sanity.bbclass", line 560, in sanity_check_conffiles(status=<SanityStatus object at 0x7f77ae6da5d0>, d=<bb.data_smart.DataSmart object at 0x7f77ae6da510>):
                 try:
    >                bb.build.exec_func(func, d)
                 except NotImplementedError as e:
  File "/work/ostro-os/bitbake/lib/bb/build.py", line 227, in exec_func(func='oecore_update_bblayers', d=<bb.data_smart.DataSmart object at 0x7f77ae6da510>, dirs=None):
             if ispython:
    >            exec_func_python(func, d, runfile, cwd=adir)
             else:
  File "/work/ostro-os/bitbake/lib/bb/build.py", line 263, in exec_func_python(func='oecore_update_bblayers', d=<bb.data_smart.DataSmart object at 0x7f77ae6da510>, runfile='/fast/build/ostro/intel-corei7-64/tmp-glibc/work/corei7-64-ostro-linux/defaultpkgname/1.0-r0/temp/run.oecore_update_bblayers.17604', cwd='/fast/build/ostro/intel-corei7-64/tmp-glibc/work/corei7-64-ostro-linux/defaultpkgname/1.0-r0/defaultpkgname-1.0'):
         except:
    >        raise FuncFailed(func, None)
         finally:
FuncFailed: Function failed: oecore_update_bblayers
 
ERROR: Command execution failed: Traceback (most recent call last):
  File "/work/ostro-os/bitbake/lib/bb/command.py", line 101, in runAsyncCommand
    self.cooker.updateCache()
  File "/work/ostro-os/bitbake/lib/bb/cooker.py", line 1538, in updateCache
    bb.event.fire(bb.event.SanityCheck(False), self.data)
  File "/work/ostro-os/bitbake/lib/bb/event.py", line 171, in fire
    fire_class_handlers(event, d)
  File "/work/ostro-os/bitbake/lib/bb/event.py", line 110, in fire_class_handlers
    execute_handler(name, handler, event, d)
  File "/work/ostro-os/bitbake/lib/bb/event.py", line 82, in execute_handler
    ret = handler(event)
  File "/work/ostro-os/meta/classes/sanity.bbclass", line 991, in check_sanity_eventhandler
    reparse = check_sanity(sanity_data)
  File "/work/ostro-os/meta/classes/sanity.bbclass", line 954, in check_sanity
    check_sanity_everybuild(status, sanity_data)
  File "/work/ostro-os/meta/classes/sanity.bbclass", line 780, in check_sanity_everybuild
    sanity_check_conffiles(status, d)
  File "/work/ostro-os/meta/classes/sanity.bbclass", line 560, in sanity_check_conffiles
    bb.build.exec_func(func, d)
  File "/work/ostro-os/bitbake/lib/bb/build.py", line 227, in exec_func
    exec_func_python(func, d, runfile, cwd=adir)
  File "/work/ostro-os/bitbake/lib/bb/build.py", line 263, in exec_func_python
    raise FuncFailed(func, None)
FuncFailed: Function failed: oecore_update_bblayers
 
 
Summary: There were 3 ERROR messages shown, returning a non-zero exit code.