Re: sstate mirror file name length issue #dunfell

Steve Sakoman

On Tue, Nov 15, 2022 at 4:01 AM Richard Purdie
<richard.purdie@...> wrote:

On Tue, 2022-11-15 at 04:09 -0800, Markus Held wrote:

I try to use yocto SSTATE_MIRROR with a custom distribution (RDK: and enabled yocto multilib
The sstate directory is created by my build server and published with
nginx to the developer machines.

Bitbake 1.46.0 / Yocto Dunfell 3.1
TUNE_PKGARCH = “cortexa53t2hf-neon-fp-armv8”
MULTILIBS = "multilib:lib32"

When a developer configures the sstate mirror in his local.conf:

SSTATE_MIRRORS ?= " file://.* http://<build server>/sstate-
cache/PATH;downloadfilename=PATH "

the build gets stuck on various _setscene tasks and does not
continue. I did some debugging and the issue is related the with file
name length of the sstate files. When the developer machine tries to
download a file from the mirror, bitbake fetch wants to create a
local lock file with name "<file name>.lock". Example of a sstate
lock file that fails for me:


This lock file cannot be created on a ext file system due the file
name length > 255. This causes the _setscene task to get stuck
indefinitely. It seems like most Linux file systems only support file
names up to 255 bytes.

Is there a way to configure or limit the file name length of the
sstate cache files? Or a way to avoid the issue with the .lock file?
There were changes in bitbake:

There were also sstate class changes:
I'll cherry-pick those changes and test on autobuilder.


Join to automatically receive all group messages.