JuliaWeb / GnuTLS.jl

Transport Level Security for Julia Streams provided by GnuTLS
Other
8 stars 13 forks source link

Strange error on nightly coverage builder #56

Open staticfloat opened 9 years ago

staticfloat commented 9 years ago

I'm getting a strange error on the latest coverage runs:

ERROR: GnuTLS Exception: GNUTLS_E_ASN1_ELEMENT_NOT_FOUND(-67): ASN1 parser: Element was not found.
 in handshake! at /home/ubuntu/.julia/v0.4/GnuTLS/src/GnuTLS.jl:326
 in open_stream at /home/ubuntu/.julia/v0.4/Requests/src/Requests.jl:321
 in send_multipart at /home/ubuntu/.julia/v0.4/Requests/src/Requests.jl:604
 in do_request at /home/ubuntu/.julia/v0.4/Requests/src/Requests.jl:702
 in post at /home/ubuntu/.julia/v0.4/Requests/src/Requests.jl:735
 in submit_token at /home/ubuntu/.julia/v0.4/Coverage/src/coveralls.jl:108
 in process_options at ./client.jl:284
 in _start at ./client.jl:411

@kshyatt, @IainNZ, any ideas as to what this could mean?

kshyatt commented 9 years ago

@malmaud was looking at it and it is intermittent on Travis. He couldn't reproduce locally.

staticfloat commented 9 years ago

Perhaps some serverside flakiness then?

staticfloat commented 9 years ago

Is there a way we could implement automagic retries (up to a certain count, of course) for errors like this?

malmaud commented 9 years ago

This error is somehow related to static compilation in a way we haven't figured out yet. In the meanwhile, I've submitted a PR to tag a new version of GnuTLS and Requests with precompilation disabled https://github.com/JuliaLang/METADATA.jl/pull/3229.

timholy commented 9 years ago

Looks like you need to rename the init() function to __init__() and then delete the call that runs after closure of the module. http://docs.julialang.org/en/latest/manual/modules/#module-initialization-and-precompilation makes excellent bedtime reading.

malmaud commented 9 years ago

@timholy , tried both those things (and several others), in https://github.com/JuliaWeb/GnuTLS.jl/blob/74ece56b1941bcab509d08f533647bd54a8db752/src/GnuTLS.jl and other commits. Ended up reverting since they would pass Travis tests several times but then mysteriously fail. Something more subtly precompilation-unsafe than I can detect is going on.