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

Update llvm-objdump for Webassembly #6589

Merged
merged 1 commit into from
Jun 11, 2024

Conversation

afonso360
Copy link
Contributor

👋 Hey,

The Webassembly language was recently added (in #6429). I tested it today on the live enviornment, and it appears to not be working (example: https://godbolt.org/z/YP5KdscEM).

I don't really know how to debug this, there is no other output other than objdump returned 255 which doesn't tell me a whole lot. (If someone can help me investigate this it would be appreciated)

Looking at the configs for the other languages, they always specify a objdump binary in the /opt path, so maybe llvm-objdump is not available in the system?

This PR attempts to fix it by changing to a fixed version of llvm-objdump in the /opt install path. (I've also double checked, and that version does work locally)

The previous version seems to not be working on the live enviornment.
@mattgodbolt
Copy link
Member

Apologies I merged and did not test your change last night!

Copy link
Member

@mattgodbolt mattgodbolt left a comment

Choose a reason for hiding this comment

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

I think you're probasblby right here! thank you

@mattgodbolt mattgodbolt merged commit bcd773c into compiler-explorer:main Jun 11, 2024
9 checks passed
@mattgodbolt
Copy link
Member

this is rolling out now. seems to work better; the "execute" the app doesn't work for reasons I can't dig in to right now, but compiling to binary worked

@afonso360
Copy link
Contributor Author

Neat! I haven't really tested the "Execute the code" functionality if that's what you're referring to.

But I wouldn't be surprised if it doesn't work, the binary that wasmtime builds is an ELF file, but that's just a detail, it's not supposed to be a standalone executable, it has to be invoked with wasmtime.

I'll try to figure out how to work that in at some point.

@afonso360
Copy link
Contributor Author

Unfortunately this seems to have not fixed the issue on the live site 😞 . @mattgodbolt Is there any way I can debug these failures? I can't reproduce them locally.

@mattgodbolt
Copy link
Member

Super odd; I don't know why this isn't working, I swear it worked when I tested it before!

@mattgodbolt
Copy link
Member

From our logs it's like we haven't deployed this version somehow, I see:

Error executing objdump llvm-objdump {"code":255,"execTime":"59","okToCache":true,"stderr":"[F][2024-06-12T19:30:00+0000][1] runChild():487 Launching child process failed\n","stdout":"","timedOut":false,"truncated":false} 

which looks like it's still executing just raw llvm-objdump. I'll have to check some other stuff :|

@mattgodbolt
Copy link
Member

Oh shucks: I think I deployed the wrong version

@mattgodbolt
Copy link
Member

deploying now for real...will be ~30m

@afonso360
Copy link
Contributor Author

afonso360 commented Jun 12, 2024

Nice, thanks for looking into this! ❤️ (Edit: Seems to work now! 🎉 )

OfekShilon pushed a commit to OfekShilon/compiler-explorer that referenced this pull request Jul 13, 2024
👋 Hey,

The Webassembly language was recently added (in compiler-explorer#6429). I tested it
today on the live enviornment, and it appears to not be working
(example: https://godbolt.org/z/YP5KdscEM).

I don't really know how to debug this, there is no other output other
than `objdump returned 255` which doesn't tell me a whole lot. (If
someone can help me investigate this it would be appreciated)

Looking at the configs for the other languages, they always specify a
objdump binary in the `/opt` path, so maybe `llvm-objdump` is not
available in the system?

This PR attempts to fix it by changing to a fixed version of
`llvm-objdump` in the `/opt` install path. (I've also double checked,
and that version does work locally)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants