Gonna be a bit of a choosing beggar here would it ...
# development
r
Gonna be a bit of a choosing beggar here would it be possible for someone to prioritize a fix for this bug? It's making plugin development absolute hell.
w
Is this only on 2.19? Or previous as well?
r
New in 2.19 - I would just bump down but now I'm specifically working on stuff that requires some of the new
parametrize
features in 2.19.
w
Interesting, I haven't started any plugin development on 2.19, so I haven't run into this. Have you had a chance to determine which RC/alpha/beta introduced it? Someone might know off the top of their heads what caused this, but being able to narrow where the problem occurred might make it easier for someone less familiar to jump in
r
It was definitely in rc5 but I didn't try any of the earlier RCs. I'm also assuming this must be a change somewhere in the Rust engine, right?
w
Not sure, haven't looked at it past what the problem is. Feels like it could be Rust, or the boundary layer - but identifying which version it happened in, or a repro repo would make it a lot faster to trace. As mentioned, haven't run into it, so don't want to speak without any investigation
b
Just reiterating what SJ said: As I suspect you’re aware, Pants is entirely volunteer driven… so exact version and repro will make it rather more likely that someone is motivated/willing to take a look
💯 1
w
Regressions specifically, because a) They REALLY shouldn't happen and b) They can be super hard to narrow down
Hopefully at some point in the far future when my super secret test-centric features are complete, this'll happen mildly less often 🙂
g
I started digging but had so much to do with the new house so didn't finish. If it's a Rust side change it might've been between 2.19.0.dev2 and 2.19.0.dev3. There was a small change to how we drive the rule graph there
(https://github.com/PyO3/pyo3/issues/3327 seems relevant, it's tagged as the same version as we use.)
That is the issue, will bump on main and we can backport for 2.19.1. On latest 2.19.x:
Copy code
✦ ❯ MODE=debug ../pants/pants --print-stacktrace package examples/mdbook/::
The last pid for the pantsd controlling /home/ts/Repositories/pants-backends was 14692 but it no longer appears to be running.
21:38:47.10 [INFO] Initializing scheduler...
21:38:52.38 [INFO] Scheduler initialized.
21:38:52.52 [ERROR] 1 Exception encountered:

Engine traceback:
  in select
    ..
  in pants.core.goals.package.package_asset
    `package` goal

Traceback (most recent call last):
  File "/home/ts/Repositories/pants/src/python/pants/core/goals/package.py", line 165, in package_asset
    packages = await MultiGet(
  File "/home/ts/Repositories/pants/src/python/pants/engine/internals/selectors.py", line 374, in MultiGet
    return await _MultiGet(tuple(__arg0))
  File "/home/ts/Repositories/pants/src/python/pants/engine/internals/selectors.py", line 172, in __await__
    result = yield self.gets
Exception: FallibleMdBookBuildOutput(success=True, output=MdBookBuildOutput(digest=Digest('2a1dcf83b9fb0020a2442706d8e49c6f463caaa8380358124452ffff24f54ec9', 82)))
With 0.20:
Copy code
✦ ❯ MODE=debug ../pants/pants --print-stacktrace package examples/mdbook/::
There is no pantsd metadata at /home/ts/Repositories/pants-backends/.pants.d/pids/2a46a6c36e31/pantsd.
21:37:41.80 [INFO] Initializing scheduler...
21:37:46.75 [INFO] Scheduler initialized.
21:37:46.88 [ERROR] 1 Exception encountered:

Engine traceback:
  in select
    ..
  in pants.core.goals.package.package_asset
    `package` goal

Traceback (most recent call last):
  File "/home/ts/Repositories/pants/src/python/pants/core/goals/package.py", line 165, in package_asset
    packages = await MultiGet(
  File "/home/ts/Repositories/pants/src/python/pants/engine/internals/selectors.py", line 374, in MultiGet
    return await _MultiGet(tuple(__arg0))
  File "/home/ts/Repositories/pants/src/python/pants/engine/internals/selectors.py", line 172, in __await__
    result = yield self.gets
  File "/home/ts/Repositories/pants/src/python/pants/core/goals/package.py", line 116, in environment_aware_package
    package = await Get(
  File "/home/ts/Repositories/pants/src/python/pants/engine/internals/selectors.py", line 122, in __await__
    result = yield self
  File "/home/ts/Repositories/pants-backends/pants-plugins/mdbook/pants_backend_mdbook/goals/package.py", line 26, in package_mdbook_image
    raise Exception(build)
Exception: FallibleMdBookBuildOutput(success=True, output=MdBookBuildOutput(digest=Digest('2a1dcf83b9fb0020a2442706d8e49c6f463caaa8380358124452ffff24f54ec9', 82)))
🙏 1
🐐 1