| Summary: | Profiling doesn't work | ||
|---|---|---|---|
| Product: | [Build System, Metadata & Runtime] BitBake | Reporter: | Ross Burton <ross.burton> |
| Component: | bitbake | Assignee: | Richard Purdie <richard.purdie> |
| Status: | NEW --- | QA Contact: | |
| Severity: | normal | ||
| Priority: | Medium+ | CC: | poky.bs.watcher, poky.watcher, tim.orling |
| Version: | 6.0 | ||
| Target Milestone: | 6.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) | |
Guessing this is the 3.12 change where profiling doesn't get disabled over threads? |
$ bitbake -P main perl -C package ... ERROR: Task (/home/rosbur01/Yocto/openembedded-core/meta/recipes-devtools/perl/perl_5.42.2.bb:do_package) failed with exit code '1' The cookerlog has the actual error: 3766965 16:17:50.737188 Parsing started Traceback (most recent call last): File "/home/rosbur01/Yocto/bitbake/bin/bitbake-worker", line 341, in fork_off_task ret = profile.Profile.runcall(prof, child) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.12/cProfile.py", line 109, in runcall self.enable() ValueError: Another profiling tool is already active During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/rosbur01/Yocto/bitbake/bin/bitbake-worker", line 575, in <module> profile.Profile.runcall(prof, worker.serve) File "/usr/lib/python3.12/cProfile.py", line 111, in runcall return func(*args, **kw) ^^^^^^^^^^^^^^^^^ File "/home/rosbur01/Yocto/bitbake/bin/bitbake-worker", line 439, in serve self.handle_item(b"runtask", self.handle_runtask) File "/home/rosbur01/Yocto/bitbake/bin/bitbake-worker", line 470, in handle_item func(self.queue[(tag_len + 4):index]) File "/home/rosbur01/Yocto/bitbake/bin/bitbake-worker", line 520, in handle_runtask pid, pipein, pipeout = fork_off_task(self.cookercfg, self.data, self.databuilder, self.workerdata, self.extraconfigdata, runtask) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/rosbur01/Yocto/bitbake/bin/bitbake-worker", line 344, in fork_off_task bb.utils.process_profilelog(profname) File "/home/rosbur01/Yocto/bitbake/lib/bb/utils.py", line 1482, in process_profilelog p = pstatopen() ^^^^^^^^^^^ File "/home/rosbur01/Yocto/bitbake/lib/bb/utils.py", line 1479, in pstatopen return pstats.Stats(fn, stream=pout) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.12/pstats.py", line 115, in __init__ self.init(arg) File "/usr/lib/python3.12/pstats.py", line 129, in init self.load_stats(arg) File "/usr/lib/python3.12/pstats.py", line 155, in load_stats raise TypeError("Cannot create or construct a %r object from %r" TypeError: Cannot create or construct a <class 'pstats.Stats'> object from 'Thu Jun 25 16:18:12 2026 profile--home-rosbur01-Yocto-openembedded-core-meta-recipes-devtools-perl-perl_5.42.2.bb-do_package.log' Cannot create or construct a <class 'pstats.Stats'> object from 'Thu Jun 25 16:18:12 2026 profile--home-rosbur01-Yocto-openembedded-core-meta-recipes-devtools-perl-perl_5.42.2.bb-do_package.log'/home/rosbur01/Yocto/bitbake/bin/bitbake-worker:-1: ResourceWarning: unclosed file <_io.BufferedReader name=3>