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

Investigate new v12.19.0 segfaults in tests. #93

Closed
hertzg opened this issue Oct 19, 2020 · 8 comments
Closed

Investigate new v12.19.0 segfaults in tests. #93

hertzg opened this issue Oct 19, 2020 · 8 comments

Comments

@hertzg
Copy link
Owner

hertzg commented Oct 19, 2020

Describe the bug
Single test seems to be consistently failing
PR / test-integration (ubuntu-latest, 12) (pull_request) Failing after 59s — test-integration

The error seems to be tcpdump utility segfaulting but I'm not sure if it really is the problem as it only affects ubuntu-latest with node-12 so it might be node crashing due to various reasons.

@hertzg
Copy link
Owner Author

hertzg commented Oct 19, 2020

I'm more leaning towards segfault in node other than tcpdump as there seems to be keepalive packets being reported in the output.

Also the last passed PR workflow had Node 12.18.4/x64 and first failing one had 12.19.0/x64. This could be the reasons for segfault as well. Manual check would help.

References

@hertzg
Copy link
Owner Author

hertzg commented Oct 19, 2020

Seems to be segfaulting only on v12.19.0 which is currently the latest LTS release needs a bit more investigation on what changed in node to cause this or might be related to node-ffi.

Node version Release Date Workflow Run
v10.22.1 2020-09-15 ✔️ Passed
v12.18.4 2020-09-15 ✔️ Passed
v14.11.0 2020-09-15 ✔️ Passed
v14.12.0 2020-09-22 ✔️ Passed
v14.13.0 2020-09-29 ✔️ Passed
v12.19.0 2020-10-06 🛑 Failed
v14.13.1 2020-10-07 ✔️ Passed
v14.14.0 2020-10-15 ✔️ Passed

@hertzg hertzg changed the title Investigate tcpdump segfault in a single test in github actions Investigate new v12.19.0 segfaults in tests. Oct 19, 2020
@hertzg
Copy link
Owner Author

hertzg commented Oct 23, 2020

Seems like there will be a revert of a change that caused issues with ABI. Need to re-test after the change is reverted on node.

@hertzg
Copy link
Owner Author

hertzg commented Oct 30, 2020

Waiting for nodejs/node#35777 to "bake" and get released.

@hertzg
Copy link
Owner Author

hertzg commented Nov 4, 2020

Revert seems to be included for 2020-11-24 Version 12.20.0 `Erbium' (LTS) release (proposal).

@MylesBorins
Copy link

@hertzg can you confirm that the segfault is fixed with the rc?

https://nodejs.org/download/rc/v12.20.0-rc.1/

@hertzg
Copy link
Owner Author

hertzg commented Nov 4, 2020

@MylesBorins ✔️ No segfaults with v12.20.0-rc.1, so far the tests finish normally. 🎉

hertz@hertz-ThinkPad-P51:~/projects/node-net-keepalive$ node --version
v12.20.0-rc.1
hertz@hertz-ThinkPad-P51:~/projects/node-net-keepalive$ npm --version
6.14.8
hertz@hertz-ThinkPad-P51:~/projects/node-net-keepalive$ npm run test:integration

> net-keepalive@1.3.9 test:integration /home/hertz/projects/node-net-keepalive
> mocha --recursive test/integration



  tcp-dump
waiting 10.5s for: $ tcpdump -pl -c 10 -i lo (port 34357 or port 49534) and ( tcp[tcpflags] & tcp-ack != 0 and ( (ip[2:2] - ((ip[0]&0xf)<<2) ) - ((tcp[12]&0xf0)>>2) ) == 0 ) 
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on lo, link-type EN10MB (Ethernet), capture size 262144 bytes
20:29:40.382237 IP localhost.49534 > localhost.34357: Flags [.], ack 1301656948, win 64, options [nop,nop,TS val 953132890 ecr 953131880], length 0
20:29:40.382262 IP localhost.34357 > localhost.49534: Flags [.], ack 1, win 64, options [nop,nop,TS val 953132890 ecr 953131880], length 0
20:29:42.398217 IP localhost.49534 > localhost.34357: Flags [.], ack 1, win 64, options [nop,nop,TS val 953134906 ecr 953132890], length 0
20:29:42.398234 IP localhost.34357 > localhost.49534: Flags [.], ack 1, win 64, options [nop,nop,TS val 953134906 ecr 953131880], length 0
20:29:44.414230 IP localhost.49534 > localhost.34357: Flags [.], ack 1, win 64, options [nop,nop,TS val 953136922 ecr 953134906], length 0
20:29:44.414249 IP localhost.34357 > localhost.49534: Flags [.], ack 1, win 64, options [nop,nop,TS val 953136922 ecr 953131880], length 0
20:29:46.430224 IP localhost.49534 > localhost.34357: Flags [.], ack 1, win 64, options [nop,nop,TS val 953138938 ecr 953136922], length 0
20:29:46.430242 IP localhost.34357 > localhost.49534: Flags [.], ack 1, win 64, options [nop,nop,TS val 953138938 ecr 953131880], length 0
20:29:48.446238 IP localhost.49534 > localhost.34357: Flags [.], ack 1, win 64, options [nop,nop,TS val 953140954 ecr 953138938], length 0
20:29:48.446256 IP localhost.34357 > localhost.49534: Flags [.], ack 1, win 64, options [nop,nop,TS val 953140954 ecr 953131880], length 0
10 packets captured
20 packets received by filter
0 packets dropped by kernel
    ✓ should send keepalive packets on the wire (9126ms)


  1 passing (9s)

github-actions bot pushed a commit that referenced this issue Nov 9, 2020
## [1.4.0](v1.3.9...v1.4.0) (2020-11-09)

### Features

* add support for the TCP_USER_TIMEOUT option ([51462f7](51462f7))

### Bug Fixes

* requires node >=10.20.0 instead of >=4 ([b8fe01c](b8fe01c))
* temp monkey patch to allow tests to pass (ref: [#93](#93)) ([4cb944e](4cb944e))
* throw in (set|get)ters when constant == null ([b5f1ce4](b5f1ce4))
@hertzg
Copy link
Owner Author

hertzg commented Nov 28, 2020

Checks re-enabled in #119 as 12.20 was realeased fixing the issue

@hertzg hertzg closed this as completed Nov 28, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants