MonoOni / binarydist

Mono Binary Builds for Testing
9 stars 0 forks source link

BoringTLS can't connect to some sites #13

Closed NattyNarwhal closed 6 years ago

NattyNarwhal commented 6 years ago

Sites like github.com or api.nuget.org don't work. Maybe it's an endianness issue?

gdb output:

(gdb) run
Starting program: /opt/mono/bin/mono /home/calvin/curl.exe https://github.com
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib64/power6/libthread_db.so.1".
[New Thread 0xfffb77bf1c0 (LWP 6331)]
[New Thread 0xfffb6fff1c0 (LWP 6330)]
[New Thread 0xfffb44ff1c0 (LWP 6334)]
[New Thread 0xfffb46ff1c0 (LWP 6333)]
[New Thread 0xfffaf94f1c0 (LWP 6338)]
[New Thread 0xfffb42ff1c0 (LWP 6337)]
[New Thread 0xfffafdef1c0 (LWP 6336)]
[New Thread 0xfffaffff1c0 (LWP 6335)]
[New Thread 0xfffb48ff1c0 (LWP 6332)]
[Switching to Thread 0xfffb46ff1c0 (LWP 6333)]

Breakpoint 1, ssl_process_alert (ssl=0xfffb00c4110, out_alert=0xfffb46fb7c1 "", in=0xfffb011dd28 "\002(", in_len=2) at /home/calvin/mono/external/boringssl/ssl/tls_record.c:462
462         OPENSSL_PUT_ERROR(SSL, SSL_AD_REASON_OFFSET + alert_descr);
(gdb) bt
#0  ssl_process_alert (ssl=0xfffb00c4110, out_alert=0xfffb46fb7c1 "", in=0xfffb011dd28 "\002(", in_len=2) at /home/calvin/mono/external/boringssl/ssl/tls_record.c:462
#1  0x00000fffafaf5bdc in tls_open_record (ssl=0xfffb00c4110, out_type=0xfffb46fb7c0 "", out=0xfffb46fb7b0, out_consumed=0xfffb46fb7c8, out_alert=0xfffb46fb7c1 "", in=0xfffb011dd23 "\025\003\003", in_len=7)
    at /home/calvin/mono/external/boringssl/ssl/tls_record.c:289
#2  0x00000fffafad1f38 in ssl3_get_record (ssl=0xfffb00c4110) at /home/calvin/mono/external/boringssl/ssl/s3_pkt.c:144
#3  0x00000fffafad2854 in ssl3_read_change_cipher_spec (ssl=0xfffb00c4110) at /home/calvin/mono/external/boringssl/ssl/s3_pkt.c:322
#4  0x00000fffafac43c8 in ssl3_connect (ssl=0xfffb00c4110) at /home/calvin/mono/external/boringssl/ssl/handshake_client.c:479
#5  0x00000fffafae0ae4 in SSL_do_handshake (ssl=0xfffb00c4110) at /home/calvin/mono/external/boringssl/ssl/ssl_lib.c:594
#6  0x00000fffafae0b48 in SSL_connect (ssl=0xfffb00c4110) at /home/calvin/mono/external/boringssl/ssl/ssl_lib.c:603
#7  0x00000fffaf9a2dd8 in mono_btls_ssl_connect (ptr=0xfffb00c3ad0) at /home/calvin/mono/mono/btls/btls-ssl.c:115
#8  0x00000fffb4046a14 in ?? ()
#9  0x00000fffb404683c in ?? ()
#10 0x00000fffb4046704 in ?? ()
#11 0x00000fffb40461a0 in ?? ()
#12 0x00000fffb7548d64 in ?? ()
#13 0x00000fffb7548a78 in ?? ()
#14 0x00000fffb7548954 in ?? ()
#15 0x00000fffb7546df0 in ?? ()
#16 0x00000fffb75116c8 in ?? ()
#17 0x00000fffb74ea610 in ?? ()
#18 0x00000fffb74e98e0 in ?? ()
#19 0x00000fffb75113dc in ?? ()
#20 0x00000fffb7510b84 in ?? ()
#21 0x00000fffb750ed3c in ?? ()
#22 0x00000fffb750eb14 in ?? ()
#23 0x00000fffb4056ccc in ?? ()
#24 0x00000fffb7548474 in ?? ()
#25 0x00000fffb75481e8 in ?? ()
#26 0x00000fffb75116c8 in ?? ()
#27 0x00000fffb74ea610 in ?? ()
#28 0x00000fffb74e98e0 in ?? ()
#29 0x00000fffb75113dc in ?? ()
#30 0x00000fffb7510b84 in ?? ()
#31 0x00000fffb750ed3c in ?? ()
#32 0x00000fffb750eb14 in ?? ()
#33 0x00000fffb4056848 in ?? ()
#34 0x00000fffb4056a64 in ?? ()
#35 0x00000fffb4052c38 in ?? ()
#36 0x00000fffb75116c8 in ?? ()
#37 0x00000fffb74ea610 in ?? ()
#38 0x00000fffb74e98e0 in ?? ()
#39 0x00000fffb75113dc in ?? ()
#40 0x00000fffb7510b84 in ?? ()
#41 0x00000fffb750ed3c in ?? ()
#42 0x00000fffb750eb14 in ?? ()
#43 0x00000fffb4056848 in ?? ()
#44 0x00000fffb4055b9c in ?? ()
#45 0x00000fffb40558f0 in ?? ()
#46 0x00000fffb7532f2c in ?? ()
#47 0x00000fffb7532e3c in ?? ()
#48 0x00000fffb74e36d0 in ?? ()
#49 0x00000fffb74e2a94 in ?? ()
#50 0x00000fffb74e2c00 in ?? ()
#51 0x00000000100372ec in mono_jit_runtime_invoke (method=<optimized out>, obj=0x1, params=0x0, exc=<optimized out>, error=0xfffb70cf880) at mini-runtime.c:2803
#52 0x0000000010222938 in do_runtime_invoke (method=0x104d08b8, obj=<optimized out>, params=<optimized out>, exc=<optimized out>, error=0xfffb46fe410) at object.c:2842
#53 0x000000001025758c in try_invoke_perform_wait_callback (error=0xfffb46fe410, exc=0xfffb46fe488) at threadpool.c:282
#54 worker_callback () at threadpool.c:366
#55 0x00000000102ba2b8 in worker_thread (unused=<optimized out>) at threadpool-worker-default.c:493
#56 0x00000000102563d8 in start_wrapper_internal (stack_ptr=<optimized out>, start_info=0x0) at threads.c:1063
#57 start_wrapper (data=0x106240b0) at threads.c:1123
---Type <return> to continue, or q <return> to quit---
#58 0x00000fffb7e1c6ac in .start_thread () from /lib64/power6/libpthread.so.0
#59 0x00000fffb7d38b1c in .__clone () from /lib64/power6/libc.so.6
(gdb) continue
Continuing.

Unhandled Exception:
System.Net.WebException: Error: SecureChannelFailure (A call to SSPI failed, see inner exception.) ---> System.Security.Authentication.AuthenticationException: A call to SSPI failed, see inner exception. ---> Mono.Btls.MonoBtlsException: Ssl error:10000410:SSL routines:OPENSSL_internal:SSLV3_ALERT_HANDSHAKE_FAILURE
  at /home/calvin/mono/external/boringssl/ssl/tls_record.c:462
  at Mono.Btls.MonoBtlsContext.ProcessHandshake () [0x00054] in <697f158bf0a84348a1ef6ca3914dfe6b>:0
  at Mono.Net.Security.MobileAuthenticatedStream.ProcessHandshake (Mono.Net.Security.AsyncOperationStatus status) [0x0004a] in <697f158bf0a84348a1ef6ca3914dfe6b>:0
  at (wrapper remoting-invoke-with-check) Mono.Net.Security.MobileAuthenticatedStream.ProcessHandshake(Mono.Net.Security.AsyncOperationStatus)
  at Mono.Net.Security.AsyncHandshakeRequest.Run (Mono.Net.Security.AsyncOperationStatus status) [0x00006] in <697f158bf0a84348a1ef6ca3914dfe6b>:0
  at Mono.Net.Security.AsyncProtocolRequest+<ProcessOperation>c__async1.MoveNext () [0x0012a] in <697f158bf0a84348a1ef6ca3914dfe6b>:0
--- End of stack trace from previous location where exception was thrown ---
  at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (System.Threading.Tasks.Task task) [0x0004e] in <2851cc0911e843b2ad35b479c8e2a704>:0
  at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (System.Threading.Tasks.Task task) [0x0002e] in <2851cc0911e843b2ad35b479c8e2a704>:0
  at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd (System.Threading.Tasks.Task task) [0x0000b] in <2851cc0911e843b2ad35b479c8e2a704>:0
  at System.Runtime.CompilerServices.ConfiguredTaskAwaitable+ConfiguredTaskAwaiter.GetResult () [0x00000] in <2851cc0911e843b2ad35b479c8e2a704>:0
  at Mono.Net.Security.AsyncProtocolRequest+<StartOperation>c__async0.MoveNext () [0x000a4] in <697f158bf0a84348a1ef6ca3914dfe6b>:0
   --- End of inner exception stack trace ---
  at Mono.Net.Security.MobileAuthenticatedStream+<ProcessAuthentication>c__async0.MoveNext () [0x00333] in <697f158bf0a84348a1ef6ca3914dfe6b>:0
--- End of stack trace from previous location where exception was thrown ---
  at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (System.Threading.Tasks.Task task) [0x0004e] in <2851cc0911e843b2ad35b479c8e2a704>:0
  at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (System.Threading.Tasks.Task task) [0x0002e] in <2851cc0911e843b2ad35b479c8e2a704>:0
  at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd (System.Threading.Tasks.Task task) [0x0000b] in <2851cc0911e843b2ad35b479c8e2a704>:0
  at System.Runtime.CompilerServices.ConfiguredTaskAwaitable+ConfiguredTaskAwaiter.GetResult () [0x00000] in <2851cc0911e843b2ad35b479c8e2a704>:0
  at Mono.Net.Security.MonoTlsStream+<CreateStream>c__async0.MoveNext () [0x0018c] in <697f158bf0a84348a1ef6ca3914dfe6b>:0
--- End of stack trace from previous location where exception was thrown ---
  at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (System.Threading.Tasks.Task task) [0x0004e] in <2851cc0911e843b2ad35b479c8e2a704>:0
  at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (System.Threading.Tasks.Task task) [0x0002e] in <2851cc0911e843b2ad35b479c8e2a704>:0
  at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd (System.Threading.Tasks.Task task) [0x0000b] in <2851cc0911e843b2ad35b479c8e2a704>:0
  at System.Runtime.CompilerServices.ConfiguredTaskAwaitable`1+ConfiguredTaskAwaiter[TResult].GetResult () [0x00000] in <2851cc0911e843b2ad35b479c8e2a704>:0
  at System.Net.WebConnection+<CreateStream>c__async1.MoveNext () [0x001f5] in <697f158bf0a84348a1ef6ca3914dfe6b>:0
   --- End of inner exception stack trace ---
  at System.Net.WebConnection+<CreateStream>c__async1.MoveNext () [0x00275] in <697f158bf0a84348a1ef6ca3914dfe6b>:0
--- End of stack trace from previous location where exception was thrown ---
  at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (System.Threading.Tasks.Task task) [0x0004e] in <2851cc0911e843b2ad35b479c8e2a704>:0
  at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (System.Threading.Tasks.Task task) [0x0002e] in <2851cc0911e843b2ad35b479c8e2a704>:0
  at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd (System.Threading.Tasks.Task task) [0x0000b] in <2851cc0911e843b2ad35b479c8e2a704>:0
  at System.Runtime.CompilerServices.ConfiguredTaskAwaitable`1+ConfiguredTaskAwaiter[TResult].GetResult () [0x00000] in <2851cc0911e843b2ad35b479c8e2a704>:0
  at System.Net.WebConnection+<InitConnection>c__async2.MoveNext () [0x0015b] in <697f158bf0a84348a1ef6ca3914dfe6b>:0
--- End of stack trace from previous location where exception was thrown ---
  at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (System.Threading.Tasks.Task task) [0x0004e] in <2851cc0911e843b2ad35b479c8e2a704>:0
  at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (System.Threading.Tasks.Task task) [0x0002e] in <2851cc0911e843b2ad35b479c8e2a704>:0
  at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd (System.Threading.Tasks.Task task) [0x0000b] in <2851cc0911e843b2ad35b479c8e2a704>:0
  at System.Runtime.CompilerServices.ConfiguredTaskAwaitable`1+ConfiguredTaskAwaiter[TResult].GetResult () [0x00000] in <2851cc0911e843b2ad35b479c8e2a704>:0
  at System.Net.WebOperation+<Run>c__async2.MoveNext () [0x000c2] in <697f158bf0a84348a1ef6ca3914dfe6b>:0
--- End of stack trace from previous location where exception was thrown ---
  at System.Net.HttpWebRequest+<RunWithTimeoutWorker>c__async0`1[T].MoveNext () [0x0010e] in <697f158bf0a84348a1ef6ca3914dfe6b>:0
--- End of stack trace from previous location where exception was thrown ---
  at System.Net.HttpWebRequest.GetResponse () [0x00018] in <697f158bf0a84348a1ef6ca3914dfe6b>:0
  at System.Net.WebClient.GetWebResponse (System.Net.WebRequest request) [0x00000] in <697f158bf0a84348a1ef6ca3914dfe6b>:0
  at System.Net.WebClient.DownloadBits (System.Net.WebRequest request, System.IO.Stream writeStream) [0x00000] in <697f158bf0a84348a1ef6ca3914dfe6b>:0
--- End of stack trace from previous location where exception was thrown ---
  at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (System.Threading.Tasks.Task task) [0x0004e] in <2851cc0911e843b2ad35b479c8e2a704>:0
  at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (System.Threading.Tasks.Task task) [0x0002e] in <2851cc0911e843b2ad35b479c8e2a704>:0
  at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd (System.Threading.Tasks.Task task) [0x0000b] in <2851cc0911e843b2ad35b479c8e2a704>:0
  at System.Runtime.CompilerServices.ConfiguredTaskAwaitable`1+ConfiguredTaskAwaiter[TResult].GetResult () [0x00000] in <2851cc0911e843b2ad35b479c8e2a704>:0
  at System.Net.WebOperation+<FinishReading>c__async3.MoveNext () [0x00094] in <697f158bf0a84348a1ef6ca3914dfe6b>:0
--- End of stack trace from previous location where exception was thrown ---
  at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (System.Threading.Tasks.Task task) [0x0004e] in <2851cc0911e843b2ad35b479c8e2a704>:0
  at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (System.Threading.Tasks.Task task) [0x0002e] in <2851cc0911e843b2ad35b479c8e2a704>:0
  at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd (System.Threading.Tasks.Task task) [0x0000b] in <2851cc0911e843b2ad35b479c8e2a704>:0
  at System.Runtime.CompilerServices.ConfiguredTaskAwaitable`1+ConfiguredTaskAwaiter[TResult].GetResult () [0x00000] in <2851cc0911e843b2ad35b479c8e2a704>:0
  at System.Net.WebClient.DownloadBits (System.Net.WebRequest request, System.IO.Stream writeStream) [0x0011c] in <697f158bf0a84348a1ef6ca3914dfe6b>:0
  at System.Net.WebClient.DownloadDataInternal (System.Uri address, System.Net.WebRequest& request) [0x00069] in <697f158bf0a84348a1ef6ca3914dfe6b>:0
  at System.Net.WebClient.DownloadString (System.Uri address) [0x00011] in <697f158bf0a84348a1ef6ca3914dfe6b>:0
  at System.Net.WebClient.DownloadString (System.String address) [0x00008] in <697f158bf0a84348a1ef6ca3914dfe6b>:0
  at (wrapper remoting-invoke-with-check) System.Net.WebClient.DownloadString(string)
  at Curl.Main (System.String[] args) [0x00010] in <d1dd12e1d7f24c588d5df2bbbf98b09b>:0
[ERROR] FATAL UNHANDLED EXCEPTION: System.Net.WebException: Error: SecureChannelFailure (A call to SSPI failed, see inner exception.) ---> System.Security.Authentication.AuthenticationException: A call to SSPI failed, see inner exception. ---> Mono.Btls.MonoBtlsException: Ssl error:10000410:SSL routines:OPENSSL_internal:SSLV3_ALERT_HANDSHAKE_FAILURE
  at /home/calvin/mono/external/boringssl/ssl/tls_record.c:462
  at Mono.Btls.MonoBtlsContext.ProcessHandshake () [0x00054] in <697f158bf0a84348a1ef6ca3914dfe6b>:0
  at Mono.Net.Security.MobileAuthenticatedStream.ProcessHandshake (Mono.Net.Security.AsyncOperationStatus status) [0x0004a] in <697f158bf0a84348a1ef6ca3914dfe6b>:0
  at (wrapper remoting-invoke-with-check) Mono.Net.Security.MobileAuthenticatedStream.ProcessHandshake(Mono.Net.Security.AsyncOperationStatus)
  at Mono.Net.Security.AsyncHandshakeRequest.Run (Mono.Net.Security.AsyncOperationStatus status) [0x00006] in <697f158bf0a84348a1ef6ca3914dfe6b>:0
  at Mono.Net.Security.AsyncProtocolRequest+<ProcessOperation>c__async1.MoveNext () [0x0012a] in <697f158bf0a84348a1ef6ca3914dfe6b>:0
--- End of stack trace from previous location where exception was thrown ---
  at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (System.Threading.Tasks.Task task) [0x0004e] in <2851cc0911e843b2ad35b479c8e2a704>:0
  at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (System.Threading.Tasks.Task task) [0x0002e] in <2851cc0911e843b2ad35b479c8e2a704>:0
  at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd (System.Threading.Tasks.Task task) [0x0000b] in <2851cc0911e843b2ad35b479c8e2a704>:0
  at System.Runtime.CompilerServices.ConfiguredTaskAwaitable+ConfiguredTaskAwaiter.GetResult () [0x00000] in <2851cc0911e843b2ad35b479c8e2a704>:0
  at Mono.Net.Security.AsyncProtocolRequest+<StartOperation>c__async0.MoveNext () [0x000a4] in <697f158bf0a84348a1ef6ca3914dfe6b>:0
   --- End of inner exception stack trace ---
  at Mono.Net.Security.MobileAuthenticatedStream+<ProcessAuthentication>c__async0.MoveNext () [0x00333] in <697f158bf0a84348a1ef6ca3914dfe6b>:0
--- End of stack trace from previous location where exception was thrown ---
  at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (System.Threading.Tasks.Task task) [0x0004e] in <2851cc0911e843b2ad35b479c8e2a704>:0
  at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (System.Threading.Tasks.Task task) [0x0002e] in <2851cc0911e843b2ad35b479c8e2a704>:0
  at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd (System.Threading.Tasks.Task task) [0x0000b] in <2851cc0911e843b2ad35b479c8e2a704>:0
  at System.Runtime.CompilerServices.ConfiguredTaskAwaitable+ConfiguredTaskAwaiter.GetResult () [0x00000] in <2851cc0911e843b2ad35b479c8e2a704>:0
  at Mono.Net.Security.MonoTlsStream+<CreateStream>c__async0.MoveNext () [0x0018c] in <697f158bf0a84348a1ef6ca3914dfe6b>:0
--- End of stack trace from previous location where exception was thrown ---
  at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (System.Threading.Tasks.Task task) [0x0004e] in <2851cc0911e843b2ad35b479c8e2a704>:0
  at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (System.Threading.Tasks.Task task) [0x0002e] in <2851cc0911e843b2ad35b479c8e2a704>:0
  at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd (System.Threading.Tasks.Task task) [0x0000b] in <2851cc0911e843b2ad35b479c8e2a704>:0
  at System.Runtime.CompilerServices.ConfiguredTaskAwaitable`1+ConfiguredTaskAwaiter[TResult].GetResult () [0x00000] in <2851cc0911e843b2ad35b479c8e2a704>:0
  at System.Net.WebConnection+<CreateStream>c__async1.MoveNext () [0x001f5] in <697f158bf0a84348a1ef6ca3914dfe6b>:0
   --- End of inner exception stack trace ---
  at System.Net.WebConnection+<CreateStream>c__async1.MoveNext () [0x00275] in <697f158bf0a84348a1ef6ca3914dfe6b>:0
--- End of stack trace from previous location where exception was thrown ---
  at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (System.Threading.Tasks.Task task) [0x0004e] in <2851cc0911e843b2ad35b479c8e2a704>:0
  at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (System.Threading.Tasks.Task task) [0x0002e] in <2851cc0911e843b2ad35b479c8e2a704>:0
  at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd (System.Threading.Tasks.Task task) [0x0000b] in <2851cc0911e843b2ad35b479c8e2a704>:0
  at System.Runtime.CompilerServices.ConfiguredTaskAwaitable`1+ConfiguredTaskAwaiter[TResult].GetResult () [0x00000] in <2851cc0911e843b2ad35b479c8e2a704>:0
  at System.Net.WebConnection+<InitConnection>c__async2.MoveNext () [0x0015b] in <697f158bf0a84348a1ef6ca3914dfe6b>:0
--- End of stack trace from previous location where exception was thrown ---
  at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (System.Threading.Tasks.Task task) [0x0004e] in <2851cc0911e843b2ad35b479c8e2a704>:0
  at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (System.Threading.Tasks.Task task) [0x0002e] in <2851cc0911e843b2ad35b479c8e2a704>:0
  at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd (System.Threading.Tasks.Task task) [0x0000b] in <2851cc0911e843b2ad35b479c8e2a704>:0
  at System.Runtime.CompilerServices.ConfiguredTaskAwaitable`1+ConfiguredTaskAwaiter[TResult].GetResult () [0x00000] in <2851cc0911e843b2ad35b479c8e2a704>:0
  at System.Net.WebOperation+<Run>c__async2.MoveNext () [0x000c2] in <697f158bf0a84348a1ef6ca3914dfe6b>:0
--- End of stack trace from previous location where exception was thrown ---
  at System.Net.HttpWebRequest+<RunWithTimeoutWorker>c__async0`1[T].MoveNext () [0x0010e] in <697f158bf0a84348a1ef6ca3914dfe6b>:0
--- End of stack trace from previous location where exception was thrown ---
  at System.Net.HttpWebRequest.GetResponse () [0x00018] in <697f158bf0a84348a1ef6ca3914dfe6b>:0
  at System.Net.WebClient.GetWebResponse (System.Net.WebRequest request) [0x00000] in <697f158bf0a84348a1ef6ca3914dfe6b>:0
  at System.Net.WebClient.DownloadBits (System.Net.WebRequest request, System.IO.Stream writeStream) [0x00000] in <697f158bf0a84348a1ef6ca3914dfe6b>:0
--- End of stack trace from previous location where exception was thrown ---
  at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (System.Threading.Tasks.Task task) [0x0004e] in <2851cc0911e843b2ad35b479c8e2a704>:0
  at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (System.Threading.Tasks.Task task) [0x0002e] in <2851cc0911e843b2ad35b479c8e2a704>:0
  at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd (System.Threading.Tasks.Task task) [0x0000b] in <2851cc0911e843b2ad35b479c8e2a704>:0
  at System.Runtime.CompilerServices.ConfiguredTaskAwaitable`1+ConfiguredTaskAwaiter[TResult].GetResult () [0x00000] in <2851cc0911e843b2ad35b479c8e2a704>:0
  at System.Net.WebOperation+<FinishReading>c__async3.MoveNext () [0x00094] in <697f158bf0a84348a1ef6ca3914dfe6b>:0
--- End of stack trace from previous location where exception was thrown ---
  at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (System.Threading.Tasks.Task task) [0x0004e] in <2851cc0911e843b2ad35b479c8e2a704>:0
  at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (System.Threading.Tasks.Task task) [0x0002e] in <2851cc0911e843b2ad35b479c8e2a704>:0
  at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd (System.Threading.Tasks.Task task) [0x0000b] in <2851cc0911e843b2ad35b479c8e2a704>:0
  at System.Runtime.CompilerServices.ConfiguredTaskAwaitable`1+ConfiguredTaskAwaiter[TResult].GetResult () [0x00000] in <2851cc0911e843b2ad35b479c8e2a704>:0
  at System.Net.WebClient.DownloadBits (System.Net.WebRequest request, System.IO.Stream writeStream) [0x0011c] in <697f158bf0a84348a1ef6ca3914dfe6b>:0
  at System.Net.WebClient.DownloadDataInternal (System.Uri address, System.Net.WebRequest& request) [0x00069] in <697f158bf0a84348a1ef6ca3914dfe6b>:0
  at System.Net.WebClient.DownloadString (System.Uri address) [0x00011] in <697f158bf0a84348a1ef6ca3914dfe6b>:0
  at System.Net.WebClient.DownloadString (System.String address) [0x00008] in <697f158bf0a84348a1ef6ca3914dfe6b>:0
  at (wrapper remoting-invoke-with-check) System.Net.WebClient.DownloadString(string)
  at Curl.Main (System.String[] args) [0x00010] in <d1dd12e1d7f24c588d5df2bbbf98b09b>:0
[Thread 0xfffaf94f1c0 (LWP 6338) exited]
[Thread 0xfffb42ff1c0 (LWP 6337) exited]
[Thread 0xfffafdef1c0 (LWP 6336) exited]
[Thread 0xfffaffff1c0 (LWP 6335) exited]
[Thread 0xfffb46ff1c0 (LWP 6333) exited]
[Thread 0xfffb48ff1c0 (LWP 6332) exited]
[Thread 0xfffb77bf1c0 (LWP 6331) exited]
[Thread 0xfffb6fff1c0 (LWP 6330) exited]
[Thread 0xfffb7e012b0 (LWP 6329) exited]
[Inferior 1 (process 6329) exited with code 01]
NattyNarwhal commented 6 years ago

How's My SSL gives us:

{
    "given_cipher_suites": [
        "TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256",
        "TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256",
        "TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256",
        "TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256",
        "TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256",
        "TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256",
        "TLS_DHE_RSA_WITH_AES_128_GCM_SHA256",
        "TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384",
        "TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384",
        "TLS_DHE_RSA_WITH_AES_256_GCM_SHA384",
        "TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA",
        "TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256",
        "TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA",
        "TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256",
        "TLS_DHE_RSA_WITH_AES_128_CBC_SHA",
        "TLS_DHE_RSA_WITH_AES_128_CBC_SHA256",
        "TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA",
        "TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384",
        "TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA",
        "TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384",
        "TLS_DHE_RSA_WITH_AES_256_CBC_SHA",
        "TLS_DHE_RSA_WITH_AES_256_CBC_SHA256",
        "TLS_RSA_WITH_AES_128_GCM_SHA256",
        "TLS_RSA_WITH_AES_256_GCM_SHA384",
        "TLS_RSA_WITH_AES_128_CBC_SHA",
        "TLS_RSA_WITH_AES_128_CBC_SHA256",
        "TLS_RSA_WITH_AES_256_CBC_SHA",
        "TLS_RSA_WITH_AES_256_CBC_SHA256",
        "TLS_RSA_WITH_3DES_EDE_CBC_SHA"
    ],
    "ephemeral_keys_supported": true,
    "session_ticket_supported": true,
    "tls_compression_supported": false,
    "unknown_cipher_suite_supported": false,
    "beast_vuln": false,
    "able_to_detect_n_minus_one_splitting": false,
    "insecure_cipher_suites": {},
    "tls_version": "TLS 1.2",
    "rating": "Probably Okay"
}

My guess is it could be a broken ciphersuite; I think what'd need to happen is the unpacking of the state machine (our BT is from the failure point, it seems) and the determination of what cipher suite successful connections use vs. unsuccessful.

NattyNarwhal commented 6 years ago

may be a problem with prime256v1, from toying with ciphersuites; I had noticed that external/boringssl/crypto/ec/p256-64.c was allegedly patched for BE, though the definitions are seemingly incorrect for SLES. Fix it, doesn't seem to change anything though?

NattyNarwhal commented 6 years ago

good comparison: broken (api.nuget.org) vs. working (nuget.org) - what could it be? ciphers seem obvious, but...

NattyNarwhal commented 6 years ago

If you guessed external/boringssl/crypto/ec/p256-64.c, you'd be a winner:

calvin@wellnix:~/mono> mono/btls/build-shared/boringssl/crypto/ec/ec_test
Incorrect public key: b07cd1b3af3a31c374c07707f0df543c3878fb8da22c1d831ce39904efd9c633 aaef88d4811a86c97b6106d2ba6bdea800eaa5cd18999b0d873466d69ef05edf
failed
calvin@wellnix:~/mono> mono/btls/build-shared/boringssl/crypto/ecdsa/ecdsa_test 
testing ECDSA_sign(), ECDSA_verify(), ECDSA_do_sign(), and ECDSA_do_verify() with some internal curves:
secp224r1: ............. ok
secp256r1: ... failed

ECDSA test failed
NattyNarwhal commented 6 years ago

Shipping a workaround by disabling 64-bit optimized code for that cipher. Slower, but works until it's fixed.