| Summary: | cooker.py blew up on failed build (serialization issue?) | ||
|---|---|---|---|
| Product: | [Build System, Metadata & Runtime] BitBake | Reporter: | Jussi Kukkonen <jku> |
| Component: | bitbake | Assignee: | Ed Bartosh <eduard.bartosh> |
| Status: | RESOLVED FIXED | QA Contact: | |
| Severity: | normal | ||
| Priority: | Undecided | CC: | bill.randle, eduard.bartosh, joshuagloe, mhalstead, pidge, poky.bs.watcher, poky.watcher |
| Version: | unspecified | ||
| Target Milestone: | 2.2 M1 | ||
| Hardware: | x86 | ||
| OS: | Multiple | ||
| Whiteboard: | |||
| OS type for building Yocto: | --- | Type of Regression: | --- |
| Verified: | Documentation change: | No (bug/feature does not impact docs) | |
I think we may need to fix up the -w/--write-log option for Python3. However I'm not sure if/where this option is being set for use on the autobuilder. Looking at: yocto-autobuilder/lib/python2.7/site-packages/autobuilder\ /buildsteps/BuildImages.py we pass -w 'bitbake_eventlog.json' if the images variable includes #TOASTER, but I don't see that being set in the buildset.controller/nightly-no-x11.conf CC'ing some of the build & release folks who may be able to shed light on that Looks like I fixed it while working on bug #9585 https://git.yoctoproject.org/cgit/cgit.cgi/poky-contrib/log/?h=ed/toaster/eventplay-9585 I'll submit the fix soon. moving to M1 Patchset has been sent for review: http://lists.openembedded.org/pipermail/bitbake-devel/2016-June/007602.html The fix has been merged to poky master: https://git.yoctoproject.org/cgit/cgit.cgi/poky/commit/?id=e28b36e1e8b2d6b1531698d6d50658e3fc73adc0 |
Recent nightly-no-x11 build failed (cmake failure is handled on mailing list), and something went wrong in cooker.py. The resulting log is is almost 400MB of python traceback that looks like this: b'\x80\x03cbb.cooker\nCookerExit\nq\x00)\x81q\x01}q\x02X\x03\x00\x00\x00pidq\x03K\x00sb.' is not JSON serializable Traceback (most recent call last): File "/home/pokybuild/yocto-autobuilder/yocto-worker/nightly-no-x11/build/bitbake/lib/bb/cooker.py", line 330, in write_event f.write("%s\n" % json.dumps({"class":event.__module__ + "." + event.__class__.__name__, "vars":json.dumps(pickle.dumps(event)) })) File "/usr/lib/python3.4/json/__init__.py", line 230, in dumps return _default_encoder.encode(obj) File "/usr/lib/python3.4/json/encoder.py", line 192, in encode chunks = self.iterencode(o, _one_shot=True) File "/usr/lib/python3.4/json/encoder.py", line 250, in iterencode return _iterencode(o, 0) File "/usr/lib/python3.4/json/encoder.py", line 173, in default raise TypeError(repr(o) + " is not JSON serializable") TypeError: b'\x80\x03cbb.cooker\nCookerExit\nq\x00)\x81q\x01}q\x02X\x03\x00\x00\x00pidq\x03K\x00sb.' is not JSON serializable