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

ibmi: test.parallel.test-http-pipeline fails #48047

Open
abmusse opened this issue May 17, 2023 · 1 comment
Open

ibmi: test.parallel.test-http-pipeline fails #48047

abmusse opened this issue May 17, 2023 · 1 comment
Labels
ibm i Issues and PRs related to the IBM i platform.

Comments

@abmusse
Copy link
Contributor

abmusse commented May 17, 2023

I ran this test BEFORE applying this patch on IBM i, AIX, and Linux. The following were my results:

IBM i

$ NODE_DEBUG=net,http,timers ./node test/parallel/test-http-pipeline-flood.js
...

HTTP 388536: write ret = true
HTTP 388536: outgoing message end.
HTTP 388536: SERVER socketOnParserExecute 65535
HTTP 388536: pause parser
NET 388536: _onTimeout
NET 388536: SERVER _emitCloseIfDrained
NET 388536: SERVER handle? false   connections? 1
NET 388536: _onTimeout

AIX

$ NODE_DEBUG=net,http,timers ../node-v18.15.0-aix-ppc64/bin/node test/parallel/test-http-pipeline-flood.js

...

HTTP 12779906: write ret = true
HTTP 12779906: outgoing message end.
HTTP 12779906: SERVER socketOnParserExecute 32768
HTTP 12779906: pause parser
NET 12779906: _onTimeout
NET 12779906: destroy
NET 12779906: close
NET 12779906: close handle
NET 12779906: has server
NET 12779906: SERVER _emitCloseIfDrained
NET 12779906: SERVER handle? true   connections? 0
NET 12779906: emit close
HTTP 12779906: server socket close
NET 12779906: SERVER _emitCloseIfDrained
NET 12779906: SERVER: emit close

Linux

$ NODE_DEBUG=net,http,timers node test/parallel/test-http-pipeline-flood.js
...

HTTP 35447: write ret = true
HTTP 35447: outgoing message end.
HTTP 35447: SERVER socketOnParserExecute 65464
HTTP 35447: pause parser
NET 35447: _onTimeout
NET 35447: destroy
NET 35447: close
NET 35447: close handle
NET 35447: has server
NET 35447: SERVER _emitCloseIfDrained
NET 35447: SERVER handle? true   connections? 0
NET 35447: emit close
HTTP 35447: server socket close
NET 35447: SERVER _emitCloseIfDrained
NET 35447: SERVER: emit close

The main difference is that on IBM i destroying and closing the client socket doen't happen after the timeout:

NET 35447: _onTimeout
NET 35447: destroy
NET 35447: close
NET 35447: close handle

Instead the timeout gets called a second time and the server just hangs until the test runner times out.

After Applying this patch the output on IBM i is:

HTTP 388626: write ret = true
HTTP 388626: outgoing message end.
HTTP 388626: SERVER socketOnParserExecute 65535
HTTP 388626: pause parser
NET 388626: _onTimeout
NET 388626: destroy
NET 388626: close
NET 388626: close handle
NET 388626: has server
NET 388626: SERVER _emitCloseIfDrained
NET 388626: SERVER handle? true   connections? 0
NET 388626: SERVER _emitCloseIfDrained
NET 388626: SERVER: emit close
NET 388626: emit close
HTTP 388626: server socket close

Any Ideas on how we can get this to work properly without having to call closeAllConnections?

Originally posted by @abmusse in #47038 (comment)

@abmusse
Copy link
Contributor Author

abmusse commented May 17, 2023

I've been in contact with the IBM i sockets team and this looks like a bug. For now its on the backlog with no ETA for a fix. I propose that we skip this test on IBM i until there is a resolution.

CC @richardlau @nodejs/platform-ibmi

@richardlau richardlau added the ibm i Issues and PRs related to the IBM i platform. label May 17, 2023
nodejs-github-bot pushed a commit that referenced this issue May 22, 2023
PR-URL: #48048
Refs: #48047
Reviewed-By: Richard Lau <rlau@redhat.com>
Reviewed-By: Michael Dawson <midawson@redhat.com>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
targos pushed a commit that referenced this issue May 30, 2023
PR-URL: #48048
Refs: #48047
Reviewed-By: Richard Lau <rlau@redhat.com>
Reviewed-By: Michael Dawson <midawson@redhat.com>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
danielleadams pushed a commit that referenced this issue Jul 6, 2023
PR-URL: #48048
Refs: #48047
Reviewed-By: Richard Lau <rlau@redhat.com>
Reviewed-By: Michael Dawson <midawson@redhat.com>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
MoLow pushed a commit to MoLow/node that referenced this issue Jul 6, 2023
PR-URL: nodejs#48048
Refs: nodejs#48047
Reviewed-By: Richard Lau <rlau@redhat.com>
Reviewed-By: Michael Dawson <midawson@redhat.com>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Ceres6 pushed a commit to Ceres6/node that referenced this issue Aug 14, 2023
PR-URL: nodejs#48048
Refs: nodejs#48047
Reviewed-By: Richard Lau <rlau@redhat.com>
Reviewed-By: Michael Dawson <midawson@redhat.com>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Ceres6 pushed a commit to Ceres6/node that referenced this issue Aug 14, 2023
PR-URL: nodejs#48048
Refs: nodejs#48047
Reviewed-By: Richard Lau <rlau@redhat.com>
Reviewed-By: Michael Dawson <midawson@redhat.com>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
ibm i Issues and PRs related to the IBM i platform.
Projects
None yet
Development

No branches or pull requests

2 participants