Skip to content

Conversation

@tomrittervg
Copy link
Collaborator

We don't need the whole job object, just its version is sufficient.

This is an ugly fix for a recursion overflow in the memoize implementation where we pickle the argument.

A better fix would be to fix memoize.
Or revisit the need to have a linked list of every single job for a library.

Fixes #403

@mozfreddyb
Copy link
Collaborator

 Error:   (None dav1d job_id=1) Caught an exception while processing library dav1d task type vendoring
Traceback (most recent call last):
  File "/home/runner/work/updatebot/updatebot/automation.py", line 233, in run
    taskRunner.process_task(lib, task)
  File "/home/runner/work/updatebot/updatebot/tasktypes/vendoring.py", line 79, in process_task
    self._process_new_job(library, task, new_version, timestamp, most_recent_job)
  File "/home/runner/work/updatebot/updatebot/components/logging.py", line 38, in func_wrapper
    ret = func(*args, **kwargs)
  File "/home/runner/work/updatebot/updatebot/tasktypes/vendoring.py", line 133, in _process_new_job
    all_upstream_commits, unseen_upstream_commits = self.scmProvider.check_for_update(library, task, new_version, most_recent_job.version)
AttributeError: 'NoneType' object has no attribute 'version'

Looks like you didn't catch all code when refactoring.

@mozfreddyb mozfreddyb self-requested a review November 11, 2025 12:09
Copy link
Collaborator

@mozfreddyb mozfreddyb left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Approving such that this is unblocked from landing. There's an outstanding refactoring left as you can see from CI failure though.

@tomrittervg tomrittervg force-pushed the 2025-11-10-recursion-bug branch 2 times, most recently from 648726f to 9dd3850 Compare November 11, 2025 16:25
We don't need the whole job object, just its version is sufficient.

This is an ugly fix for a recursion overflow in the memoize
implementation where we pickle the argument.

A better fix would be to fix memoize.
Or revisit the need to have a linked list of every single job
for a library.

Fixes #403
@tomrittervg tomrittervg force-pushed the 2025-11-10-recursion-bug branch from 9dd3850 to e30a843 Compare November 11, 2025 23:16
@tomrittervg tomrittervg merged commit 9ebe1f1 into master Nov 12, 2025
13 checks passed
@tomrittervg tomrittervg deleted the 2025-11-10-recursion-bug branch November 12, 2025 09:14
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

application-services causing 'RecursionError: maximum recursion depth exceeded while calling a Python object

3 participants