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

Error in LibGit2 tests on FreeBSD #27109

Closed
ararslan opened this issue May 15, 2018 · 10 comments
Closed

Error in LibGit2 tests on FreeBSD #27109

ararslan opened this issue May 15, 2018 · 10 comments
Labels
libgit2 The libgit2 library or the LibGit2 stdlib module regression Regression in behavior compared to a previous version system:freebsd Affects only FreeBSD

Comments

@ararslan
Copy link
Member

Julia 0.7.0-DEV.5107 on FreeBSD 11.1.

Top of the error:

$ ./julia test/runtests.jl LibGit2           
Test        (Worker) | Time (s) | GC (s) | GC % | Alloc (MB) | RSS (MB)
The following 'Resetting the helper list...' warning is expected:
┌ Warning: Resetting the helper list is currently unsupported:
│ ignoring all git credential helpers
└ @ LibGit2 gitcredential.jl:227
SSH expand tilde: Error During Test at /usr/home/alex/Projects/julia/usr/share/julia/stdlib/v0.7/LibGit2/test/libgit2.jl:2344
  Got exception ErrorException("Could not locate challenge: \"Private key location for 'git@github.com' [/usr/home/alex/Projects/julia/usr/share/julia/stdlib/v0.7/LibGit2/test/keys/valid]:\". Process output found:\n\"\"\"\nERROR: ArgumentError: embedded NULs are not allowed in C strings: \"\\0\\0\\0\"\r\nStacktrace:\r\n [1] #credential_loop#5(::Bool, ::Function, ::SSHCredential, ::String, ::String, ::UInt32, ::CredentialPayload) at ./c.jl:180\r\n [2] #credential_loop at ./<missing>:0 [inlined]\r\n [3] #credential_loop#7 at /usr/home/alex/Projects/julia/usr/share/julia/stdlib/v0.7/LibGit2/test/libgit2-helpers.jl:77 [inlined]\r\n [4] (::getfield(Main, Symbol(\"#kw##credential_loop\")))(::NamedTuple{(:shred,),Tuple{Bool}}, ::typeof(credential_loop), ::SSHCredential, ::String, ::String, ::CredentialPayload) at ./<missing>:0\r\n [5] top-level scope at none:13\r\n [6] eval(::Module, ::Any) at ./boot.jl:317\r\n\n\"\"\"") outside of a @test
  Could not locate challenge: "Private key location for 'git@github.com' [/usr/home/alex/Projects/julia/usr/share/julia/stdlib/v0.7/LibGit2/test/keys/valid]:". Process output found:
  """
  ERROR: ArgumentError: embedded NULs are not allowed in C strings: "\0\0\0"
  Stacktrace:
   [1] #credential_loop#5(::Bool, ::Function, ::SSHCredential, ::String, ::String, ::UInt32, ::CredentialPayload) at ./c.jl:180
   [2] #credential_loop at ./<missing>:0 [inlined]
   [3] #credential_loop#7 at /usr/home/alex/Projects/julia/usr/share/julia/stdlib/v0.7/LibGit2/test/libgit2-helpers.jl:77 [inlined]
   [4] (::getfield(Main, Symbol("#kw##credential_loop")))(::NamedTuple{(:shred,),Tuple{Bool}}, ::typeof(credential_loop), ::SSHCredential, ::String, ::String, ::CredentialPayload) at ./<missing>:0
   [5] top-level scope at none:13
[6] eval(::Module, ::Any) at ./boot.jl:317

Full log: https://gist.github.com/ararslan/cd45bec1aeefe63a9d2f6e30ace2c54d

Appears to have been introduced when the new optimizer was merged. See #27087 (comment).

@ararslan ararslan added regression Regression in behavior compared to a previous version system:freebsd Affects only FreeBSD libgit2 The libgit2 library or the LibGit2 stdlib module labels May 15, 2018
@ararslan ararslan changed the title Error LibGit2 tests on FreeBSD Error in LibGit2 tests on FreeBSD May 15, 2018
@Keno
Copy link
Member

Keno commented May 15, 2018

While this may be optimizer related, it also suspiciously smells like #23232

@nalimilan
Copy link
Member

I also see this when building RPM nightlies: https://copr-be.cloud.fedoraproject.org/results/nalimilan/julia-nightlies/fedora-28-x86_64/00758100-julia/build.log.gz

It's quite annoying. Maybe the best solution would be to revive the SecureString PR (#24738)? Cc: @omus

@Keno
Copy link
Member

Keno commented May 26, 2018

Do you have a reliable way to trigger this? That would help with diagnosis.

@nalimilan
Copy link
Member

Unfortunately it only happens when building the RPM in the Copr. I haven't been able to reproduce it direclty yet. The fact that it happens on FreeBSD is also kind of weird.

@ararslan
Copy link
Member Author

It also happens on Alpine Linux.

@ViralBShah
Copy link
Member

Seems like freebsd CI has been ok for a few days now. Does that mean this is gone. @ararslan Can you retry Alpine on master?

@ararslan
Copy link
Member Author

Still fails on Alpine Linux on master.

@mbauman
Copy link
Sponsor Member

mbauman commented May 30, 2018

@Keno
Copy link
Member

Keno commented May 31, 2018

I've investigated this. What happens is that String objectid is now content based, so it is no longer really possible to say which kind of string you got (say if that String was ever in an ObjectId Dict). Thus what happens here is that sometimes the compiler gets unlucky and all instances of "git", become "\0\0\0". This needs #23232 fixed.

@ararslan
Copy link
Member Author

ararslan commented Jun 9, 2023

Haven't encountered this error in years, must have been fixed at some point

@ararslan ararslan closed this as completed Jun 9, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
libgit2 The libgit2 library or the LibGit2 stdlib module regression Regression in behavior compared to a previous version system:freebsd Affects only FreeBSD
Projects
None yet
Development

No branches or pull requests

5 participants