Skip to content
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

there are two SprotErrors, no relation #1896

Open
jclulow opened this issue Oct 8, 2024 · 2 comments
Open

there are two SprotErrors, no relation #1896

jclulow opened this issue Oct 8, 2024 · 2 comments

Comments

@jclulow
Copy link
Contributor

jclulow commented Oct 8, 2024

$ pfexec /tmp/humility hiffy -c SpRot.status
humility: attached to 0483:3754:003300324741500820383733 via ST-Link V3
humility hiffy failed: SprotError matches more than one enum: attest_data::messages::SprotError as GOFF 0x00039350 (object 21), drv_sprot_api::error::SprotError as GOFF 0x00044a4a (object 21)

$ /tmp/humility --version
humility 0.11.11

In this case I'm looking for drv_sprot_api::error::SprotError, but it seems that the phonebook now contains an attest_data::messages::SprotError as well. Bryan suggests that we usually correct this condition by qualifying stuff in the idol files?

@labbott
Copy link
Collaborator

labbott commented Oct 8, 2024

Fully qualifying the path didn't work for mysterious reasons

$ humility -a target/gimletlet/dist/default/build-gimletlet-image-default.zip hiffy -c SpRot.status
humility: attached via ST-Link V3
humility hiffy failed: failed to find error type Result { ok: AttributedTy { ty: Ty("SprotStatus"), recv: FromBytes }, err: Complex(Ty("drv_sprot_api::SprotError")) }

Taking the easy path out and renaming one of the types instead

@cbiffle
Copy link
Collaborator

cbiffle commented Oct 8, 2024

Fully qualifying the path didn't work for mysterious reasons

FWIW, Humility historically discarded all crate/module path information. There are parallel APIs I've been gradually adding to use fully qualified names, but each module has to be ported over to use them, and we've been adding new code (using the old APIs) faster than I've been able to keep up.

This suggests that the Idol module does not use the fully-qualified APIs.

Edited to add: Tracking as oxidecomputer/humility#512

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

No branches or pull requests

3 participants