You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
just using http.createServer to create a simple http server
in chrome ,using a input<type=file> then using fetch to POST the File Obj, your file MUST be large enough(20G+)
on httpServer, pipe the req to a fs.createWriteStream("xxxxx")
just wait, when the file uploaded to about 10~12G, you maybe can get 【abortIncoming (node:_http_server:806:17)】
Although this is NOT 100% to reproduce, BUT try 2-3 times ,you will get this error
IF you use other http-server (such as uWebsocket ) everything woked well
see below:
`【request from client(chrome OR edge), client JUST use xmlhttp OR fetch to post a File object】
recv post {
host: '192.168.1.140:65535',
'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36 Edg/131.0.0.0',
'content-length': '20981630881',
accept: '/',
'accept-encoding': 'gzip, deflate',
'accept-language': 'zh-CN,zh;q=0.9,en;q=0.8,en-GB;q=0.7,en-US;q=0.6',
batchseq: '0',
'cache-control': 'no-cache',
'content-type': 'application/octet-stream',
name: 'paligemma-jax-paligemma-3b-pt-224-v1.tar.gz',
origin: 'http://192.168.1.140:65535',
pragma: 'no-cache',
referer: 'http://192.168.1.140:65535/',
size: '20981630881',
type: 'application%2Fx-gzip',
uiseq: 'events'
}
传输20981630881总耗时314.401s 文件位于 /home/cs6666-upld-srv/file/2024-11-21T12:56:35.146Z::0::paligemma-jax-paligemma-3b-pt-224-v1.tar.gz
[
false,
Error: aborted
at abortIncoming (node:_http_server:806:17)
at socketOnClose (node:_http_server:800:3)
at Socket.emit (node:events:532:35)
at TCP. (node:net:339:12) {
code: 'ECONNRESET'
}
]
//------------【
after the Abort message , the server report it receive a second POST from client(chrome OR edge)
BUT acturally
//-------------】
recv post {
host: '192.168.1.140:65535',
'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36 Edg/131.0.0.0',
'content-length': '20981630881',
accept: '/',
'accept-encoding': 'gzip, deflate',
'accept-language': 'zh-CN,zh;q=0.9,en;q=0.8,en-GB;q=0.7,en-US;q=0.6',
batchseq: '0',
'cache-control': 'no-cache',
'content-type': 'application/octet-stream',
name: 'paligemma-jax-paligemma-3b-pt-224-v1.tar.gz',
origin: 'http://192.168.1.140:65535',
pragma: 'no-cache',
referer: 'http://192.168.1.140:65535/',
size: '20981630881',
type: 'application%2Fx-gzip',
uiseq: 'events'
}
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
306856 root 20 0 19.1g 14.7g 7248 D 8.3 94.2 4:44.11 node --------------------【IT COST nearly all memory】
【-----------------------------
client upload ONE
but server received two POST (each post i will creat a new file)
-> server (req,res ) handle triggered post
->abortIncoming (node:_http_server:806:17)
-> server (req,res ) handle triggered post
the tcp socket is same
】
ls -l file/
total 14874992
-rw-r--r-- 1 root root 12621333720 Nov 21 21:01 2024-11-21T12:56:35.146Z::0::paligemma-jax-paligemma-3b-pt-224-v1.tar.gz
-rw-r--r-- 1 root root 2610647040 Nov 21 21:03 2024-11-21T13:01:49.563Z::0::paligemma-jax-paligemma-3b-pt-224-v1.tar.gz`
How often does it reproduce? Is there a required condition?
you need to upload a BIG-FILE (20G+) to triggered it
NOT always。
BUT high. (try 2-3 times)
What is the expected behavior? Why is that the expected behavior?
IF 'ECONNRESET' triggered, node should tear down the tcp-socket.
What do you see instead?
when 'ECONNRESET' triggered, node-js http-server still live, AND wrongly report recv NEW request
Additional information
it NOT 100% to trigger it. you maybe need try it on different machine FOR serveral times
The text was updated successfully, but these errors were encountered:
[9809629.918039] Out of memory: Killed process 306856 (node) total-vm:21659964kB, anon-rss:15465044kB, file-rss:2268kB, shmem-rss:0kB, UID:0 pgtables:45924kB oom_score_adj:0
Version
Node.js v22.4.1.
Platform
Subsystem
No response
What steps will reproduce the bug?
see below:
`【request from client(chrome OR edge), client JUST use xmlhttp OR fetch to post a File object】
recv post {
host: '192.168.1.140:65535',
'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36 Edg/131.0.0.0',
'content-length': '20981630881',
accept: '/',
'accept-encoding': 'gzip, deflate',
'accept-language': 'zh-CN,zh;q=0.9,en;q=0.8,en-GB;q=0.7,en-US;q=0.6',
batchseq: '0',
'cache-control': 'no-cache',
'content-type': 'application/octet-stream',
name: 'paligemma-jax-paligemma-3b-pt-224-v1.tar.gz',
origin: 'http://192.168.1.140:65535',
pragma: 'no-cache',
referer: 'http://192.168.1.140:65535/',
size: '20981630881',
type: 'application%2Fx-gzip',
uiseq: 'events'
}
传输20981630881总耗时314.401s 文件位于 /home/cs6666-upld-srv/file/2024-11-21T12:56:35.146Z::0::paligemma-jax-paligemma-3b-pt-224-v1.tar.gz
[
false,
Error: aborted
at abortIncoming (node:_http_server:806:17)
at socketOnClose (node:_http_server:800:3)
at Socket.emit (node:events:532:35)
at TCP. (node:net:339:12) {
code: 'ECONNRESET'
}
]
//------------【
after the Abort message , the server report it receive a second POST from client(chrome OR edge)
BUT acturally
//-------------】
recv post {
host: '192.168.1.140:65535',
'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36 Edg/131.0.0.0',
'content-length': '20981630881',
accept: '/',
'accept-encoding': 'gzip, deflate',
'accept-language': 'zh-CN,zh;q=0.9,en;q=0.8,en-GB;q=0.7,en-US;q=0.6',
batchseq: '0',
'cache-control': 'no-cache',
'content-type': 'application/octet-stream',
name: 'paligemma-jax-paligemma-3b-pt-224-v1.tar.gz',
origin: 'http://192.168.1.140:65535',
pragma: 'no-cache',
referer: 'http://192.168.1.140:65535/',
size: '20981630881',
type: 'application%2Fx-gzip',
uiseq: 'events'
}
top - 21:33:52 up 113 days, 12:51, 12 users, load average: 3.21, 3.11, 2.17
Tasks: 295 total, 1 running, 294 sleeping, 0 stopped, 0 zombie
%Cpu(s): 0.8 us, 2.0 sy, 0.0 ni, 76.3 id, 21.0 wa, 0.0 hi, 0.0 si, 0.0 st
MiB Mem : 15988.4 total, 163.1 free, 15663.0 used, 162.4 buff/cache
MiB Swap: 4096.0 total, 794.5 free, 3301.5 used. 42.8 avail Mem
306856 root 20 0 19.1g 14.7g 7248 D 8.3 94.2 4:44.11 node --------------------【IT COST nearly all memory】
【-----------------------------
client upload ONE
but server received two POST (each post i will creat a new file)
-> server (req,res ) handle triggered post
->abortIncoming (node:_http_server:806:17)
-> server (req,res ) handle triggered post
the tcp socket is same
】
ls -l file/
total 14874992
-rw-r--r-- 1 root root 12621333720 Nov 21 21:01 2024-11-21T12:56:35.146Z::0::paligemma-jax-paligemma-3b-pt-224-v1.tar.gz
-rw-r--r-- 1 root root 2610647040 Nov 21 21:03 2024-11-21T13:01:49.563Z::0::paligemma-jax-paligemma-3b-pt-224-v1.tar.gz`
How often does it reproduce? Is there a required condition?
you need to upload a BIG-FILE (20G+) to triggered it
NOT always。
BUT high. (try 2-3 times)
What is the expected behavior? Why is that the expected behavior?
IF 'ECONNRESET' triggered, node should tear down the tcp-socket.
What do you see instead?
when 'ECONNRESET' triggered, node-js http-server still live, AND wrongly report recv NEW request
Additional information
it NOT 100% to trigger it. you maybe need try it on different machine FOR serveral times
The text was updated successfully, but these errors were encountered: