Skip to content

Pass node 18.x branch tests when compiled against shared openssl 3.2#52482

@kapouer

Description

@kapouer

Version

18.20.1

Platform

linux debian/trixie

Subsystem

No response

What steps will reproduce the bug?

Compile node against shared openssl 3.2.1 on debian/trixie, run tests.

How often does it reproduce? Is there a required condition?

Always reproduce.

What is the expected behavior? Why is that the expected behavior?

Tests pass or fail in an expected way :)

What do you see instead?

One test hangs:
test/parallel/test-tls-junk-closes-server.js

TLS 3832: server emit tlsClientError: [Error: 00E8D1B9EE7F0000:error:0A0000C6:SSL routines:tls_get_more_records:packet length too long:../ssl/record/methods/tls_common.c:654: ]{library: 'SSL routines', reason: 'packet length too long', code: 'ERR_SSL_PACKET_LENGTH_TOO_LONG' } NET 3832: destroy NET 3832: close NET 3832: close handle NET 3832: has server NET 3832: SERVER _emitCloseIfDrained NET 3832: SERVER handle? true connections? 0 NET 3832: emit close NET 3832: emit close STREAM 3832: readableAddChunk <Buffer 15 03 03 00 02 02 16> STREAM 3832: emitReadable true false STREAM 3832: emitReadable null STREAM 3832: emitReadable_ false 7 false STREAM 3832: flow null STREAM 3832: maybeReadMore read 0 STREAM 3832: read 0 STREAM 3832: need readable true STREAM 3832: length less than watermark true STREAM 3832: do read NET 3832: _read - n 16384 isConnecting? false hasHandle? true STREAM 3832: readableAddChunk null STREAM 3832: onEofChunk STREAM 3832: emitReadable_ false 7 true STREAM 3832: flow null STREAM 3832: read 0 

to be compared with the same setup but shared openssl 3.0:

TLS 510254: server emit tlsClientError: [Error: 00786A80367F0000:error:0A00010B:SSL routines:ssl3_get_record:wrong version number:../ssl/record/ssl3_record.c:354: ]{library: 'SSL routines', reason: 'wrong version number', code: 'ERR_SSL_WRONG_VERSION_NUMBER' } NET 510254: destroy NET 510254: close NET 510254: close handle NET 510254: has server NET 510254: SERVER _emitCloseIfDrained NET 510254: SERVER handle? true connections? 0 NET 510254: emit close NET 510254: emit close STREAM 510254: readableAddChunk null STREAM 510254: onEofChunk STREAM 510254: emitReadable_ false 0 true STREAM 510254: flow null STREAM 510254: read 0 STREAM 510254: endReadable false STREAM 510254: endReadableNT false 0 NET 510254: SERVER _emitCloseIfDrained NET 510254: SERVER: emit close NET 510254: _final: not ended, call shutdown() NET 510254: afterShutdown destroyed=false NET 510254: destroy NET 510254: close NET 510254: close handle NET 510254: emit close 

Additional information

The fact openssl 3.2 continues to provide (probably garbarge) data is reminiscent of "marvin" issue.

Metadata

Metadata

Assignees

No one assigned

    Labels

    opensslIssues and PRs related to the OpenSSL dependency.

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions