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

Vendored libstdc++ breaks replay #46

Closed
maleadt opened this issue Jul 18, 2022 · 4 comments · Fixed by #49
Closed

Vendored libstdc++ breaks replay #46

maleadt opened this issue Jul 18, 2022 · 4 comments · Fixed by #49

Comments

@maleadt
Copy link
Member

maleadt commented Jul 18, 2022

If I use BugReporting.replay to try and replay a trace, I'm getting:

julia> replay("https://s3.amazonaws.com/julialang-reports/nanosoldier/pkgeval/rr/Example-1658164614.tar.zst")
gdb: /home/tim/Julia/depot/juliaup/julia-1.7.3+0~x64/bin/../lib/julia/libstdc++.so.6: version `GLIBCXX_3.4.30' not found (required by gdb)
gdb: /home/tim/Julia/depot/juliaup/julia-1.7.3+0~x64/bin/../lib/julia/libstdc++.so.6: version `GLIBCXX_3.4.30' not found (required by /usr/lib/libsource-highlight.so.4)
gdb: /home/tim/Julia/depot/juliaup/julia-1.7.3+0~x64/bin/../lib/julia/libcurl.so.4: no version information available (required by /usr/lib/libdebuginfod.so.1)
gdb: /home/tim/Julia/depot/juliaup/julia-1.7.3+0~x64/bin/../lib/julia/libstdc++.so.6: version `GLIBCXX_3.4.30' not found (required by /usr/lib/libboost_regex.so.1.79.0)

If however I download the tarball myself and use my local rr replay, everything works fine. I guess the packaged (older) glibc is somehow messing things up? This is probably also related to me using Arch, which ships a very recent glibc.

@Keno
Copy link
Member

Keno commented Jul 18, 2022

Try adding --serve-files to the rr replay line. That's generally required when moving traces across machines.

@giordano
Copy link
Contributor

Spamming also here that help on Windows for JuliaLang/julia#45582 would be great, and solve these issues (at least until next year) 🙃

@maleadt
Copy link
Member Author

maleadt commented Jul 18, 2022

Try adding --serve-files to the rr replay line. That's generally required when moving traces across machines.

Sadly, doesn't help:

julia> replay("https://s3.amazonaws.com/julialang-reports/nanosoldier/pkgeval/rr/Example-1658164614.tar.zst")
`$(rr_path) replay --serve-files $(find_latest_trace(trace_url))` = `/home/tim/Julia/depot/artifacts/d09d37c8f9642702eb9430cde245b189a0f5b28c/bin/rr replay --serve-files /home/tim/Julia/depot/artifacts/cab573584c24012493dcea86cffc83ad9c0b26b7`
gdb: /home/tim/Julia/depot/juliaup/julia-1.8.0-rc1+0~x64/bin/../lib/julia/libstdc++.so.6: version `GLIBCXX_3.4.30' not found (required by gdb)

@Keno
Copy link
Member

Keno commented Jul 18, 2022

Oh, I see, the issue is not the vendored libstdc++ inside the trace, but that having libstdc++ in the julia distribution causes gdb to load the wrong libstdc++. We could probably consider using Gdb_jll here rather than relying on whatever gdb you have installed.

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 a pull request may close this issue.

3 participants