Skip to content

Traceback bug in artifact fetch #1766

Description

@staehle

Hello:

Evaluating BuildStream as a meta build system for an embedded Linux OS, one of the users in my evaluation group attempted to do a first-time build and got this BuildStream traceback/bug. I can't share too much unfortunately, but this is a from-scratch project and is currently using a temporary BuildBarn instance as a caching server only using the instructions here: https://docs.buildstream.build/1.95/using_configuring_cache_server.html / https://github.com/apache/buildstream/tree/1.95.2/.github/compose

This "components/target/rsync" element is fairly far down the element dependency list

    [00:00:00][e062aa1a][   fetch:components/target/rsync.bst   ] BUG     Fetch

        An unhandled exception occured:
    
        Traceback (most recent call last):
          File "/home/builduser/.local/lib/python3.9/site-packages/buildstream/_scheduler/jobs/job.py", line 441, in child_action
            result = self.child_process()  # pylint: disable=assignment-from-no-return
          File "/home/builduser/.local/lib/python3.9/site-packages/buildstream/_scheduler/jobs/elementjob.py", line 92, in child_process
            return self._action_cb(self._element)
          File "/home/builduser/.local/lib/python3.9/site-packages/buildstream/_scheduler/queues/fetchqueue.py", line 77, in _fetch_not_original
            element._fetch(fetch_original=False)
          File "/home/builduser/.local/lib/python3.9/site-packages/buildstream/element.py", line 2210, in _fetch
            self.__sources.fetch()
          File "/home/builduser/.local/lib/python3.9/site-packages/buildstream/_elementsources.py", line 225, in fetch
            self.fetch_sources()
          File "/home/builduser/.local/lib/python3.9/site-packages/buildstream/_elementsources.py", line 254, in fetch_sources
            self._fetch_source(source)
          File "/home/builduser/.local/lib/python3.9/site-packages/buildstream/_elementsources.py", line 435, in _fetch_source
            source._fetch()
          File "/home/builduser/.local/lib/python3.9/site-packages/buildstream/source.py", line 911, in _fetch
            self.__do_fetch()
          File "/home/builduser/.local/lib/python3.9/site-packages/buildstream/source.py", line 1404, in __do_fetch
            self.fetch(**kwargs)
          File "/home/builduser/.local/lib/python3.9/site-packages/buildstream/downloadablefilesource.py", line 183, in fetch
            sha256 = self._ensure_mirror(
          File "/home/builduser/.local/lib/python3.9/site-packages/buildstream/downloadablefilesource.py", line 223, in _ensure_mirror
            local_file, new_etag = self.blocking_activity(
          File "/home/builduser/.local/lib/python3.9/site-packages/buildstream/plugin.py", line 653, in blocking_activity
            proc.start()
          File "/usr/lib/python3.9/multiprocessing/process.py", line 121, in start
            self._popen = self._Popen(self)
          File "/usr/lib/python3.9/multiprocessing/context.py", line 291, in _Popen
            return Popen(process_obj)
          File "/usr/lib/python3.9/multiprocessing/popen_forkserver.py", line 35, in __init__
            super().__init__(process_obj)
          File "/usr/lib/python3.9/multiprocessing/popen_fork.py", line 19, in __init__
            self._launch(process_obj)
          File "/usr/lib/python3.9/multiprocessing/popen_forkserver.py", line 47, in _launch
            reduction.dump(process_obj, buf)
          File "/usr/lib/python3.9/multiprocessing/reduction.py", line 60, in dump
            ForkingPickler(file, protocol).dump(obj)
        AttributeError: Can't pickle local object 'ProxyHandler.__init__.<locals>.<lambda>'

I don't see anything amiss in the Docker logs of the BuildBarn server for this component, or around the timestamp this would have happened.

BuildStream version used is 1.95.2.dev0, and unfortunately my user cannot reproduce it, so it might have been a one-time thing. Regardless, thought you should know :)

Is there any other information I can provide about this?

Thanks!

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions