[OE-core] [PATCH] report-error: send only last 5242000 characters in error logs

Martin Jansa martin.jansa at gmail.com
Fri Sep 4 12:24:23 UTC 2015


On Fri, Sep 04, 2015 at 02:22:09PM +0200, Martin Jansa wrote:
> * otherwise whole build report submission is rejected because it's too big

Verified in last bitbake world build:
http://errors.yoctoproject.org/Errors/Build/8516/
until now they were rejected because webkit-efl log.do_compile is too
big, now it's uploades in shortened form:
http://errors.yoctoproject.org/Errors/Details/16393/

> Signed-off-by: Martin Jansa <Martin.Jansa at gmail.com>
> ---
>  meta/classes/report-error.bbclass | 15 ++++++++++++---
>  1 file changed, 12 insertions(+), 3 deletions(-)
> 
> diff --git a/meta/classes/report-error.bbclass b/meta/classes/report-error.bbclass
> index cabd98c..040c29e 100644
> --- a/meta/classes/report-error.bbclass
> +++ b/meta/classes/report-error.bbclass
> @@ -54,13 +54,22 @@ python errorreport_handler () {
>              if log:
>                  try:
>                      logFile = open(log, 'r')
> -                    taskdata['log'] = logFile.read().decode('utf-8')
> +                    logdata = logFile.read().decode('utf-8')
>                      logFile.close()
>                  except:
> -                    taskdata['log'] = "Unable to read log file"
> +                    logdata = "Unable to read log file"
>  
>              else:
> -                taskdata['log'] = "No Log"
> +                logdata = "No Log"
> +
> +            # server will refuse failures longer than param specified in project.settings.py
> +            # MAX_UPLOAD_SIZE = "5242880"
> +            # use lower value, because 650 chars can be spent in task, package, version
> +            max_logdata_size = 5242000
> +            # upload last max_logdata_size characters
> +            if len(logdata) > max_logdata_size:
> +                logdata = "..." + logdata[-max_logdata_size:]
> +            taskdata['log'] = logdata
>              lock = bb.utils.lockfile(datafile + '.lock')
>              jsondata = json.loads(errorreport_getdata(e))
>              jsondata['failures'].append(taskdata)
> -- 
> 2.5.0
> 

-- 
Martin 'JaMa' Jansa     jabber: Martin.Jansa at gmail.com
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 181 bytes
Desc: Digital signature
URL: <http://lists.openembedded.org/pipermail/openembedded-core/attachments/20150904/0ee8da21/attachment-0002.sig>


More information about the Openembedded-core mailing list