<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux/poky.git/bitbake/lib/bb/server, branch 4.3_M3</title>
<subtitle>Mirror of git.yoctoproject.org/poky</subtitle>
<id>https://git.enea.com/cgit/linux/poky.git/atom?h=4.3_M3</id>
<link rel='self' href='https://git.enea.com/cgit/linux/poky.git/atom?h=4.3_M3'/>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/poky.git/'/>
<updated>2023-09-05T07:14:50+00:00</updated>
<entry>
<title>bitbake: server/process: Add more timing debug</title>
<updated>2023-09-05T07:14:50+00:00</updated>
<author>
<name>Richard Purdie</name>
<email>richard.purdie@linuxfoundation.org</email>
</author>
<published>2023-08-30T19:39:53+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/poky.git/commit/?id=733afeffd19a2ae3af34abe95e514cb4b99cd366'/>
<id>urn:sha1:733afeffd19a2ae3af34abe95e514cb4b99cd366</id>
<content type='text'>
It is helpful to have timestamps on the ping failures so that they
can be matched against the bitbake logs. It is also useful to understand
how long the server takes for form a reply verses when it is sent.

(Bitbake rev: 65969a7a8f5ae22c230431d2db080eb187a27708)

Signed-off-by: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>bitbake: server/process: fix sig handle</title>
<updated>2023-08-11T06:58:31+00:00</updated>
<author>
<name>Yang Xu</name>
<email>yang.xu@mediatek.com</email>
</author>
<published>2023-08-11T02:20:46+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/poky.git/commit/?id=b77e23c541e6d52b133abe1970c0608cd5418207'/>
<id>urn:sha1:b77e23c541e6d52b133abe1970c0608cd5418207</id>
<content type='text'>
process.signal_received is a list for signum and not iterable,
change a suitable method to handle sig.

(Bitbake rev: bfc53b190bd2530c2bfcea0690127d7eff620f45)

Signed-off-by: Yang Xu &lt;yang.xu@mediatek.com&gt;
Signed-off-by: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>bitbake: server/process: Show command in timeout message</title>
<updated>2023-06-30T16:58:47+00:00</updated>
<author>
<name>Richard Purdie</name>
<email>richard.purdie@linuxfoundation.org</email>
</author>
<published>2023-06-30T16:57:42+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/poky.git/commit/?id=4bb1f0e236d27df861299c5fa689c18968690e88'/>
<id>urn:sha1:4bb1f0e236d27df861299c5fa689c18968690e88</id>
<content type='text'>
To learn more about the server timeout issues, be clear in the error
message about which command is showing the timeout. It is currently
unclear if this is the original command or a ping to the server.

(Bitbake rev: ac3cd866274f67b29eff89e393132bdabf76dbfd)

Signed-off-by: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>bitbake: server: Fix crash when checking lock file</title>
<updated>2023-06-01T07:08:33+00:00</updated>
<author>
<name>Joshua Watt</name>
<email>JPEWhacker@gmail.com</email>
</author>
<published>2023-05-31T19:42:46+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/poky.git/commit/?id=28a7202ac5589d25816dbbd0f6f47a3e70eb7684'/>
<id>urn:sha1:28a7202ac5589d25816dbbd0f6f47a3e70eb7684</id>
<content type='text'>
Fixes a crash when the server process attempts to check the PID of the
lock file that resulted because an integer (os.getpid()) was attempting
to be concatenated to a string

(Bitbake rev: 5d499682a0a739b5269247a8f6dbb874e3eec456)

Signed-off-by: Joshua Watt &lt;JPEWhacker@gmail.com&gt;
Signed-off-by: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>bitbake: server/xmlrpc: Fix after currentAsyncCommand locking changes</title>
<updated>2023-03-07T12:52:10+00:00</updated>
<author>
<name>Richard Purdie</name>
<email>richard.purdie@linuxfoundation.org</email>
</author>
<published>2023-03-07T12:49:08+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/poky.git/commit/?id=082e46f9ca784a3c714a18642904cccf133f408f'/>
<id>urn:sha1:082e46f9ca784a3c714a18642904cccf133f408f</id>
<content type='text'>
After changes in bitbake b5215887d2f8ea3f28f1ebda721bd5b8f93ec7f3,
"process/cooker/command: Fix currentAsyncCommand locking/races", command.py
assumes it has access to the process server but the xmlrpc backend was
passing in the xmlrpc server object leading to errors like:

xmlrpc.client.Fault: &lt;Fault 1: "&lt;class 'AttributeError'&gt;:'BitBakeXMLRPCServer' object has no attribute 'set_async_cmd'"&gt;

Fixing to pass the process server to command.py resolves this issue.

[YOCTO #15008]

(Bitbake rev: ce5b65d5fada474ef21ac28440af6ad45287650a)

Signed-off-by: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>bitbake: server/process: Improve idle thread exception handling</title>
<updated>2023-02-20T15:18:53+00:00</updated>
<author>
<name>Richard Purdie</name>
<email>richard.purdie@linuxfoundation.org</email>
</author>
<published>2023-02-20T09:30:44+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/poky.git/commit/?id=76db0baba26a5da5382f7cc44c64eb705e24e638'/>
<id>urn:sha1:76db0baba26a5da5382f7cc44c64eb705e24e638</id>
<content type='text'>
If the inotifier code has an exception, bitbake currently hangs. Catch any
exception and exit if seen. Also check the idle thread is alive and exit
if it disappears. This should stop bitbake hanging if such a situation arises
in future such as this example:

3323260 21:48:31.554468 Running command ['getVariable', 'BBINCLUDELOGS']
Exception in thread Thread-1 (idle_thread):
Traceback (most recent call last):
  File "/usr/lib64/python3.10/threading.py", line 1016, in _bootstrap_inner
    self.run()
  File "/usr/lib64/python3.10/threading.py", line 953, in run
    self._target(*self._args, **self._kwargs)
  File "/home/pokybuild/yocto-worker/oe-selftest-fedora/build/bitbake/lib/bb/server/process.py", line 408, in idle_thread
    self.cooker.process_inotify_updates()
  File "/home/pokybuild/yocto-worker/oe-selftest-fedora/build/bitbake/lib/bb/cooker.py", line 256, in process_inotify_updates
    n.read_events()
  File "/home/pokybuild/yocto-worker/oe-selftest-fedora/build/bitbake/lib/pyinotify.py", line 1207, in read_events
    if fcntl.ioctl(self._fd, termios.FIONREAD, buf_, 1) == -1:
OSError: [Errno 9] Bad file descriptor
3323260 21:48:32.206995 Command Completed (socket: True)

(Bitbake rev: 358b5b02d5de1ab0f98104c4ec4953e46999b9a5)

Signed-off-by: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>bitbake: server/process: Fix lockfile contents check bug</title>
<updated>2023-01-24T21:59:44+00:00</updated>
<author>
<name>Richard Purdie</name>
<email>richard.purdie@linuxfoundation.org</email>
</author>
<published>2023-01-18T14:06:45+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/poky.git/commit/?id=18d2c489f065f2eabe4024f2db3a1d6e0ca573c0'/>
<id>urn:sha1:18d2c489f065f2eabe4024f2db3a1d6e0ca573c0</id>
<content type='text'>
We need to check against the first line of the file, fix the typo.

(Bitbake rev: 4abc598fb01d426394f4222dfc752e620a8e1b7b)

Signed-off-by: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>bitbake: server/process: Improve lockfile handling at exit</title>
<updated>2023-01-14T14:33:00+00:00</updated>
<author>
<name>Richard Purdie</name>
<email>richard.purdie@linuxfoundation.org</email>
</author>
<published>2023-01-14T13:35:08+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/poky.git/commit/?id=11698e027d71967153b272bf34996bee8f3908e5'/>
<id>urn:sha1:11698e027d71967153b272bf34996bee8f3908e5</id>
<content type='text'>
If memory resident bitbake is active and the build directory is renamed upon
build completion, several bad things can happen:

* the old build directory could be re-created to contain a lockfile
  leaving an empty directory behind
* a lockfile for a new build could be found and attempt to be locked

This patch avoids creating an empty directory (not perfectly, but should
work in the majority of cases - an empty directory is cosmetic).

It also now compares the lock file contents to it's own pid and
just exits if it doesn't match, it is clearly then belonging to some
new process.

This will be combined with bitbake shutdown calls on the autobuilder to
ensure "saved" build directories, or build directories being deleted by
clobberdir don't do strange things.

(Bitbake rev: b986eac18b6a8bf633f5ef15f32f68de4c86173b)

Signed-off-by: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>bitbake: server/process: Move heartbeat to idle thread</title>
<updated>2023-01-11T23:16:31+00:00</updated>
<author>
<name>Richard Purdie</name>
<email>richard.purdie@linuxfoundation.org</email>
</author>
<published>2023-01-11T16:09:22+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/poky.git/commit/?id=e26e0b92e813bea0d5b875c936ff390937c860f0'/>
<id>urn:sha1:e26e0b92e813bea0d5b875c936ff390937c860f0</id>
<content type='text'>
Rather than risk the heartbeat event code locking up the server control
socket, handle it in the 'idle' thread with the other work. The aim
is to remove it as a possible issue with some ongoing hangs.

(Bitbake rev: 0f9a0c7853b181817bf01863a26da21412376294)

Signed-off-by: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>bitbake: process/cooker/command: Fix currentAsyncCommand locking/races</title>
<updated>2023-01-11T10:58:36+00:00</updated>
<author>
<name>Richard Purdie</name>
<email>richard.purdie@linuxfoundation.org</email>
</author>
<published>2023-01-09T23:17:56+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/poky.git/commit/?id=165e8b563d400bf54c317659a267db85e8c34006'/>
<id>urn:sha1:165e8b563d400bf54c317659a267db85e8c34006</id>
<content type='text'>
currentAsyncCommand currently doesn't have any locking and we have
a conflict in "idle" conditions since the idle functions count needs
to be zero *and* there needs to be no active command.

Move the changes/checks of currentAsyncCommand to within the lock
and then we can add it to the condition for idle, simplifying some
of the code.

(Bitbake rev: b5215887d2f8ea3f28f1ebda721bd5b8f93ec7f3)

Signed-off-by: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
</content>
</entry>
</feed>
