-
Notifications
You must be signed in to change notification settings - Fork 279
Build directory (as a string) injected into _pydantic-core.*.so (which will cause non-reproducible builds) #1365
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Comments
From a quick read it looks like these might be panic messages which are created by the Rust standard library. See rust-lang/rust#40374 It looks like these are hard to prevent. |
@davidhewitt I agree it looks like a panic message. It seems like it is related to schema validation?
What seems particularly strange is the Since it seems to be schema generation related, I can only guess the panic is from |
In the GitHub 2.20.1 release whl, we see at least part of the same pattern
And in the pypi wheel we see the same included host path pattern:
So it seems like we actually have a recurring general validation SchemaError? |
The Line 114 in 06a8348
Perhaps if we wanted to write a way to evaluate that at build at The alpha / beta substring is probably coming from these pieces: Line 93 in 06a8348
Probably the pydantic-core/src/validators/mod.rs Line 427 in 06a8348
In all cases these look like string constants which are reasonably necessarily part of the build rather than some "general validation |
The problem for the reproducible builds with Yocto project seems to come from the first snippet. Line 114 in 06a8348
Yocto passes some flags with RUSTFLAGS, which includes paths that end up in the binary. The '--remap-path-prefix' is to aid in creating reproducible builds, but that doesn't work in this case. |
We've seen TMPDIR [build-paths] contamination in the built pydantic_core/_pydantic_core.cpython-*-*-linux-gnu.so See discussion upstream in: pydantic/pydantic-core#1365 Backport fix from: pydantic/pydantic-core@e07c41b Signed-off-by: Tim Orling <tim.orling@konsulko.com>
We've seen TMPDIR [build-paths] contamination in the built pydantic_core/_pydantic_core.cpython-*-*-linux-gnu.so See discussion upstream in: pydantic/pydantic-core#1365 Backport fix from: pydantic/pydantic-core@e07c41b Signed-off-by: Tim Orling <tim.orling@konsulko.com> Signed-off-by: Khem Raj <raj.khem@gmail.com>
We've seen TMPDIR [build-paths] contamination in the built pydantic_core/_pydantic_core.cpython-*-*-linux-gnu.so See discussion upstream in: pydantic/pydantic-core#1365 Backport fix from: pydantic/pydantic-core@e07c41b Signed-off-by: Tim Orling <tim.orling@konsulko.com>
We've seen TMPDIR [build-paths] contamination in the built pydantic_core/_pydantic_core.cpython-*-*-linux-gnu.so See discussion upstream in: pydantic/pydantic-core#1365 Backport fix from: pydantic/pydantic-core@e07c41b Signed-off-by: Tim Orling <tim.orling@konsulko.com> Signed-off-by: Khem Raj <raj.khem@gmail.com>
We've seen TMPDIR [build-paths] contamination in the built pydantic_core/_pydantic_core.cpython-*-*-linux-gnu.so See discussion upstream in: pydantic/pydantic-core#1365 Backport fix from: pydantic/pydantic-core@e07c41b Signed-off-by: Tim Orling <tim.orling@konsulko.com> Signed-off-by: Khem Raj <raj.khem@gmail.com>
We've seen TMPDIR [build-paths] contamination in the built pydantic_core/_pydantic_core.cpython-*-*-linux-gnu.so See discussion upstream in: pydantic/pydantic-core#1365 Backport fix from: pydantic/pydantic-core@e07c41b Signed-off-by: Tim Orling <tim.orling@konsulko.com> Signed-off-by: Khem Raj <raj.khem@gmail.com>
We've seen TMPDIR [build-paths] contamination in the built pydantic_core/_pydantic_core.cpython-*-*-linux-gnu.so See discussion upstream in: pydantic/pydantic-core#1365 Backport fix from: pydantic/pydantic-core@e07c41b Signed-off-by: Tim Orling <tim.orling@konsulko.com> Signed-off-by: Khem Raj <raj.khem@gmail.com>
We've seen TMPDIR [build-paths] contamination in the built pydantic_core/_pydantic_core.cpython-*-*-linux-gnu.so See discussion upstream in: pydantic/pydantic-core#1365 Backport fix from: pydantic/pydantic-core@e07c41b Signed-off-by: Tim Orling <tim.orlingkonsulko.com> Signed-off-by: Khem Raj <raj.khemgmail.com>
Backport a new upstream fix to remove the TMPDIR reference from the rust code. Signed-off-by: Frank de Brabander <debrabander@gmail.com> We've seen TMPDIR [build-paths] contamination in the built pydantic_core/_pydantic_core.cpython-*-*-linux-gnu.so See discussion upstream in: pydantic/pydantic-core#1365 Backport fix from: pydantic/pydantic-core@e07c41b Similar to Styhead 6f0a411, but for 2.18.4 Signed-off-by: Tim Orling <tim.orling@konsulko.com>
Backport a new upstream fix to remove the TMPDIR reference from the rust code. Signed-off-by: Frank de Brabander <debrabander@gmail.com> We've seen TMPDIR [build-paths] contamination in the built pydantic_core/_pydantic_core.cpython-*-*-linux-gnu.so See discussion upstream in: pydantic/pydantic-core#1365 Backport fix from: pydantic/pydantic-core@e07c41b Similar to Styhead 6f0a411, but for 2.18.4 Signed-off-by: Tim Orling <tim.orling@konsulko.com> Signed-off-by: Armin Kuster <akuster808@gmail.com>
We've seen TMPDIR [build-paths] contamination in the built pydantic_core/_pydantic_core.cpython-*-*-linux-gnu.so See discussion upstream in: pydantic/pydantic-core#1365 Backport fix from: pydantic/pydantic-core@e07c41b Signed-off-by: Tim Orling <tim.orlingkonsulko.com> Signed-off-by: Khem Raj <raj.khemgmail.com>
Source: meta-openembedded MR: 158406 Type: Integration Disposition: Merged from meta-openembedded ChangeID: e041b4d Description: Backport a new upstream fix to remove the TMPDIR reference from the rust code. Signed-off-by: Frank de Brabander <debrabander@gmail.com> We've seen TMPDIR [build-paths] contamination in the built pydantic_core/_pydantic_core.cpython-*-*-linux-gnu.so See discussion upstream in: pydantic/pydantic-core#1365 Backport fix from: pydantic/pydantic-core@e07c41b Similar to Styhead 6f0a411, but for 2.18.4 Signed-off-by: Tim Orling <tim.orling@konsulko.com> Signed-off-by: Armin Kuster <akuster808@gmail.com> Signed-off-by: Jeremy A. Puhlman <jpuhlman@mvista.com>
Backport a new upstream fix to remove the TMPDIR reference from the rust code. Signed-off-by: Frank de Brabander <debrabandergmail.com> We've seen TMPDIR [build-paths] contamination in the built pydantic_core/_pydantic_core.cpython-*-*-linux-gnu.so See discussion upstream in: pydantic/pydantic-core#1365 Backport fix from: pydantic/pydantic-core@e07c41b Similar to Styhead 6f0a41130c0dcf80e22f6f3fd93d39369c235693, but for 2.18.4 Signed-off-by: Tim Orling <tim.orlingkonsulko.com> Signed-off-by: Armin Kuster <akuster808gmail.com>
While working on upgrading the Yocto Project recipe for pydantic-core to the latest version, I noticed that we are seeing build directory (TMPDIR) contamination in the _pydantic-core.*.so. This throws a QA warning for us, but would also lead to non-reproducible builds (because a different build directory would produce a different binary lib output).
On further inspection, it appears it might be a python backtrace related to the schema generation? (This happens on 2.19.0 and in this case 2.20.1 as well).
readelf -p 14 pydantic_core/_pydantic_core.cpython-312-x86_64-linux-gnu.so
pydantic-core-readelf-rodata.txt
Any ideas what could be causing this host information to be injected into the binary lib?
The text was updated successfully, but these errors were encountered: