Fetch error when using rocko (BSP 2.8b3)

Today i tried to upgrade from BSP 2.7b1 (morty) to 2.8b3 (rocko). The default console-tdx-image can be build without errors. However my additional layer causes strange errors during fetch (or parse?).
Maybe someome can help me or point me to the right direction? Please see below the error output.

Traceback (most recent call last):
  File "/home/user/oe-core/layers/openembedded-core/bitbake/lib/bb/fetch2/svn.py", line 175, in Svn._latest_revision(ud=<bb.fetch2.FetchData object at 0x7faa00c9eef0>, d=<bb.data_smart.DataSmart object at 0x7faa01519be0>, name='default'):
    >        bb.fetch2.check_network_access(d, self._buildsvncommand(ud, d, "log1"), ud.url)
  File "/home/user/oe-core/layers/openembedded-core/bitbake/lib/bb/fetch2/__init__.py", line 894, in check_network_access(d=<bb.data_smart.DataSmart object at 0x7faa01519be0>, info='/usr/bin/env svn --non-interactive --trust-server-cert log --limit 1 --no-auth-cache --username MY_USERNAME --password MY_PASSWORD https://MY_IP:777/svn/Firmware/trunk/scripts/Main//rf-server/', url='svn://MY_USERNAME:MY_PASSWORD@MY_IP:777/svn/Firmware/trunk/scripts/Main/;protocol=https;module=rf-server'):
             raise NetworkAccess(url, info)
    >    elif not trusted_network(d, url):
             raise UntrustedUrl(url, info)
  File "/home/user/oe-core/layers/openembedded-core/bitbake/lib/bb/fetch2/__init__.py", line 1088, in trusted_network(d=<bb.data_smart.DataSmart object at 0x7faa01519be0>, url='svn://MY_USERNAME:MY_PASSWORD@MY_IP:777/svn/Firmware/trunk/scripts/Main/;protocol=https;module=rf-server'):
    >    pkgname = d.expand(d.getVar('PN', False))
         trusted_hosts = d.getVarFlag('BB_ALLOWED_NETWORKS', pkgname, False)
  File "/home/user/oe-core/layers/openembedded-core/bitbake/lib/bb/data_smart.py", line 436, in DataSmart.expand(s="${@bb.parse.BBHandler.vars_from_file(d.getVar('FILE', False),d)[0] or 'defaultpkgname'}", varname=None):
         def expand(self, s, varname = None):
    >        return self.expandWithRefs(s, varname).value
  File "/home/user/oe-core/layers/openembedded-core/bitbake/lib/bb/data_smart.py", line 426, in DataSmart.expandWithRefs(s="${@bb.parse.BBHandler.vars_from_file(d.getVar('FILE', False),d)[0] or 'defaultpkgname'}", varname=None):
                 except Exception as exc:
    >                raise ExpansionError(varname, s, exc) from exc
bb.data_smart.ExpansionError: Failure expanding expression ${@bb.parse.BBHandler.vars_from_file(d.getVar('FILE', False),d)[0] or 'defaultpkgname'} which triggered exception RecursionError: maximum recursion depth exceeded


There have been SVN fetcher changes from morty to krogoth, see the megamanual. So that could be the culprit.

Apart from that you could try to run the used command outside of OE to check if svn gives a more sensible error message. e.g. does the following output something which points to the error?

/usr/bin/env svn --non-interactive --trust-server-cert log --limit 1 --no-auth-cache --username MY_USERNAME --password MY_PASSWORD https://MY_IP:777/svn/Firmware/trunk/scripts/Main//rf-server/


Executing this command does not result in an error…

For me the following recipe snippet fetches sources successfully:

SRCREV = "753"
SRC_URI = "svn://MY_USERNAME:'MY_PASSWORD'@svn.toradex.int:8090/embedded_linux;module=trunk/target-utils/gpio_samples;protocol=http"

I don’t have a svn server available which can be reached over https, so I cannot comment on your exact use case.

Could you please add PR = “1.0+svn${SRCPV}” to your recipe and change SRCREV to SRCREV="${AUTOREV}" and try again? Thanks!

I guess expanding ${SRCPV} is what fails… but i am not entirely sure yet.

Unsurprisingly no change, do_fetch succeeds.

I removed all recipes but one from my layer and this recipe is really simple. Bitbake fails with the errors above during parsing the recipes. It doesn’t even start fetching. When i remove SRCPV everything is fine… i will setup a dummy onlien svn repo and try it from there but its weird.

I created a dummy SVN repo at Assembla (its https as well) and i get the same error…

hi @qojote

So it means if you use SRCPV=“not autrorev” then you got error and if you don’t use it, then your recipe get parsed and everything is working fine ?