[OE-core] Tell me your build error message annoyances!
Darren Hart
dvhart at linux.intel.com
Fri Jun 3 06:10:25 UTC 2011
On 05/31/2011 03:26 PM, Scott Garman wrote:
> Hey folks,
>
> I'd like to collect some feedback on error messages while building that
> you find confusing/annoying/unhelpful. I'm going to be working on trying
> to improve the situation and would like to hear from you about what
> could be more helpful.
>
> I'm starting to track some of these situations with the following bugs:
>
> http://bugzilla.pokylinux.org/show_bug.cgi?id=542
>
> http://bugzilla.pokylinux.org/show_bug.cgi?id=1127
>
> http://bugzilla.pokylinux.org/show_bug.cgi?id=1128
>
> I can't promise to fix everything you come up with, but I'd like to try
> to make a dent in some of these issues and improve the usability of our
> build system.
>
> Thanks,
>
> Scott
>
These are maybe a bit off topic, but I'll leave it to you to decide if
they meet the criteria for this effort.
o bb.debug messages are not logged anywhere nor do they appear on the
console with -DDD during recipe parsing (while bb.note messages do
make it to the console).
o I'm seeing duplicate messages lately - no examples handy, I'll post
or open a bug next time.
o The bash logging facility (logging.bbclass) is still a second class
citizen and probably needs a bitbake server hook so bbnote, bbplain,
bbdebug, etc. can call into bitbake proper and use the python
equivalents and therefor also make it to the proper destination
(console or log).
o It's been mentioned, but I'd like to second that most of the time,
getting a traceback is really not very helpful. Chris Larson mentioned
moving the exception handling higher up the stack - I think that
makes a lot of sense. I'd also suggest not printing a traceback unless
running with at least -D. A catchall try block that only
does:
print "Unhandled exception:", e
under normal conditions and prints a trace with -D enabled would clean
things up a lot I think.
o In general I find the default UI to be exceedingly noisy. It feels
very much like what I would write for something I was actively
developing - ie, something I expect to break a lot! I don't think
that's the sort of impression we want users to have while building a
release (for example).
I'd prefer if what we currently get today was the output of -D. The
current output could instead be something a lot more in the vein of
what we see with recipe parsing. Perhaps one line per
BB_NUMBER_TREADS (N), maybe something like:
Task 2300/4600 [#################### ]
0: linux-yocto: do_compile
1: matchbox: do_fetch
...
N: dbus: do_configure
It would of course update the current lines and not scroll. Most of
the time, this would be plenty information. Upon failure we stop
updating the "UI" and print something like:
ERROR: An unhandled exception occured while processing
linux-yocto: do_fetch
Exception: No such file or directory.
Run with -D for a more detailed error report or consult the
appropriate log file:
$(pwd)/tmp/work/$machine/linux-yocto-$HASH-$HASH \
/temp/log.do_fetch.$PID
Or something along those lines.
Thanks for collecting these Scott, great idea!
--
Darren Hart
Intel Open Source Technology Center
Yocto Project - Linux Kernel
More information about the Openembedded-core
mailing list