Closed Bug 1190674 Opened 4 years ago Closed 3 years ago

Intermittent test_tls_server.js | xpcshell return code: 0

Categories

(Core :: Networking, defect, P3)

Other Branch
x86
Windows XP
defect

Tracking

()

RESOLVED FIXED
mozilla52
Tracking Status
firefox48 --- wontfix
firefox49 --- wontfix
firefox-esr45 --- fixed
firefox50 --- fixed
firefox51 --- fixed
firefox52 --- fixed

People

(Reporter: RyanVM, Assigned: keeler)

References

Details

(Keywords: intermittent-failure, Whiteboard: [necko-backlog])

Attachments

(1 file)

17:45:46 INFO - TEST-START | netwerk/test/unit/test_tls_server.js
17:45:46 WARNING - TEST-UNEXPECTED-FAIL | netwerk/test/unit/test_tls_server.js | xpcshell return code: 0
17:45:46 INFO - TEST-INFO took 281ms
17:45:46 INFO - >>>>>>>
17:45:46 INFO - TEST-PASS | netwerk/test/unit/test_tls_server.js | None - true == true
17:45:46 INFO - (xpcshell/head.js) | test MAIN run_test pending (1)
17:45:46 INFO - (xpcshell/head.js) | test run_next_test 0 pending (2)
17:45:46 INFO - (xpcshell/head.js) | test MAIN run_test finished (2)
17:45:46 INFO - running event loop
17:45:46 INFO - netwerk/test/unit/test_tls_server.js | Starting
17:45:46 INFO - (xpcshell/head.js) | test pending (2)
17:45:46 INFO - (xpcshell/head.js) | test run_next_test 0 finished (2)
17:45:46 INFO - TEST-PASS | netwerk/test/unit/test_tls_server.js | - Got self-signed cert - true == true
17:45:46 INFO - "Accept TLS client connection"
17:45:46 INFO - "Output to server written"
17:45:46 INFO - "TLS handshake done"
17:45:46 INFO - TEST-PASS | netwerk/test/unit/test_tls_server.js | - Has peer cert - true == true
17:45:46 INFO - TEST-PASS | netwerk/test/unit/test_tls_server.js | - Peer cert matches expected cert - true == true
17:45:46 INFO - TEST-PASS | netwerk/test/unit/test_tls_server.js | - Using TLS 1.2 - 771 == 771
17:45:46 INFO - TEST-PASS | netwerk/test/unit/test_tls_server.js | - Using expected cipher - "TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256" == "TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256"
17:45:46 INFO - TEST-PASS | netwerk/test/unit/test_tls_server.js | - Using 128-bit key - 128 == 128
17:45:46 INFO - TEST-PASS | netwerk/test/unit/test_tls_server.js | - Using 128-bit MAC - 128 == 128
17:45:46 INFO - TEST-PASS | netwerk/test/unit/test_tls_server.js | - Echoed data received - "HELLO" == "HELLO"
17:45:46 INFO - (xpcshell/head.js) | test run_next_test 1 pending (2)
17:45:46 INFO - (xpcshell/head.js) | test finished (2)
17:45:46 INFO - netwerk/test/unit/test_tls_server.js | Starting
17:45:46 INFO - (xpcshell/head.js) | test pending (2)
17:45:46 INFO - (xpcshell/head.js) | test run_next_test 1 finished (2)
17:45:46 INFO - TEST-PASS | netwerk/test/unit/test_tls_server.js | - Got self-signed cert - true == true
17:45:46 INFO - "Accept TLS client connection"
17:45:46 INFO - "Output to server written"
17:45:46 INFO - Unexpected exception NS_ERROR_NET_RESET: Component returned failure code: 0x804b0014 (NS_ERROR_NET_RESET) [nsIInputStream.available]
17:45:46 INFO - startClient/handler.onInputStreamReady@C:/slave/test/build/tests/xpcshell/tests/netwerk/test/unit/test_tls_server.js:120:59
17:45:46 INFO - _do_main@C:\slave\test\build\tests\xpcshell\head.js:207:5
17:45:46 INFO - _execute_test@C:\slave\test\build\tests\xpcshell\head.js:513:5
17:45:46 INFO - @-e:1:1
17:45:46 INFO - _run_next_test@C:\slave\test\build\tests\xpcshell\head.js:1460:9
17:45:46 INFO - do_execute_soon/<.run@C:\slave\test\build\tests\xpcshell\head.js:653:9
17:45:46 INFO - _do_main@C:\slave\test\build\tests\xpcshell\head.js:207:5
17:45:46 INFO - _execute_test@C:\slave\test\build\tests\xpcshell\head.js:513:5
17:45:46 INFO - @-e:1:1
17:45:46 INFO - exiting test
17:45:46 INFO - <<<<<<<
Flags: needinfo?(dkeeler)
Shoot. Well, I'll keep an eye on this and see if I can figure out what's going on.
Flags: needinfo?(dkeeler)
Whiteboard: [necko-backlog]
Bulk assigning P3 to all open intermittent bugs without a priority set in Firefox components per bug 1298978.
Priority: -- → P3
This is pretty frequent, can you please take a look?
Flags: needinfo?(dkeeler)
Looks like this is what's failing:

 20:32:45     INFO -  Unexpected exception NS_ERROR_NET_RESET: Component returned failure code: 0x804b0014 (NS_ERROR_NET_RESET) [nsIInputStream.available]
 20:32:45     INFO -  startClient/handler.onInputStreamReady@C:/slave/test/build/tests/xpcshell/tests/netwerk/test/unit/test_tls_server.js:124:59

Which is:

122  onInputStreamReady: function(input) {
123    try {
124      let data = NetUtil.readInputStreamToString(input, input.available());

So perhaps the TLS server implementation is falling over and resetting the connection? (We're not expecting any resets of that kind in this test.) I think someone on the networking team would know better than I (or maybe :jryans, who it looks like wrote the initial TLSServerSocket implementation?

That said, this happens almost entirely only on Windows XP (there's one linux failure from a year ago and one OS X failure more recently), so I'm not sure it's worth investigating and fixing (we could just disable this on XP).
Flags: needinfo?(dkeeler) → needinfo?(jryans)
(In reply to David Keeler [:keeler] (use needinfo?) from comment #52)
> Looks like this is what's failing:
> 
>  20:32:45     INFO -  Unexpected exception NS_ERROR_NET_RESET: Component
> returned failure code: 0x804b0014 (NS_ERROR_NET_RESET)
> [nsIInputStream.available]
>  20:32:45     INFO - 
> startClient/handler.onInputStreamReady@C:/slave/test/build/tests/xpcshell/
> tests/netwerk/test/unit/test_tls_server.js:124:59
> 
> Which is:
> 
> 122  onInputStreamReady: function(input) {
> 123    try {
> 124      let data = NetUtil.readInputStreamToString(input,
> input.available());
> 
> So perhaps the TLS server implementation is falling over and resetting the
> connection? (We're not expecting any resets of that kind in this test.) I
> think someone on the networking team would know better than I (or maybe
> :jryans, who it looks like wrote the initial TLSServerSocket implementation?
> 
> That said, this happens almost entirely only on Windows XP (there's one
> linux failure from a year ago and one OS X failure more recently), so I'm
> not sure it's worth investigating and fixing (we could just disable this on
> XP).

It's been a long time since I've worked on this area, so I don't know that I am best one to investigate this...  I think it would take me quite long time page this all back in, and even more time would be spent if only WinXP is affected since that's a painful environment to work in.

In my opinion, disabling the test on XP is the best approach for the moment given the high cost of investigation.
Flags: needinfo?(jryans)
Sounds good to me.
Assignee: nobody → dkeeler
Comment on attachment 8795059 [details]
bug 1190674 - skip test_tls_server.js on XP for intermittent failures

https://reviewboard.mozilla.org/r/81242/#review79842

::: netwerk/test/unit/xpcshell.ini:338
(Diff revision 1)
>  [test_udp_multicast.js]
>  [test_redirect_history.js]
>  [test_reply_without_content_type.js]
>  [test_websocket_offline.js]
>  [test_tls_server.js]
>  # The local cert service used by this test is not currently shipped on Android

nit: update the comment
Comment on attachment 8795059 [details]
bug 1190674 - skip test_tls_server.js on XP for intermittent failures

https://reviewboard.mozilla.org/r/81242/#review79844
Attachment #8795059 - Flags: review?(hurley) → review+
Comment on attachment 8795059 [details]
bug 1190674 - skip test_tls_server.js on XP for intermittent failures

https://reviewboard.mozilla.org/r/81242/#review79986

Thanks!
Attachment #8795059 - Flags: review?(jryans) → review+
Thanks for the reviews!
Pushed by dkeeler@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/c3d6cc14a148
skip test_tls_server.js on XP for intermittent failures r=jryans,nwgh
https://hg.mozilla.org/mozilla-central/rev/c3d6cc14a148
Status: NEW → RESOLVED
Closed: 3 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla52
Whiteboard: [necko-backlog] → [necko-backlog][checkin-needed-esr45]
https://hg.mozilla.org/releases/mozilla-esr45/rev/1c6f476d64e9
Whiteboard: [necko-backlog][checkin-needed-esr45] → [necko-backlog]
You need to log in before you can comment on or make changes to this bug.