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
@Flet#13197 would have been my first guess too, but it was closed by a documentation change - ff07eaa
Later the underlying event mechanism was improved in libuv/libuv@6ad1e81 but that change was for Windows only, and your report states Darwin as the platform.
I'm not sure what broke exactly but it starts working again when you add a no-op process.on('SIGWINCH', () => {}) listener. Manual bisecting indicates it's not the libuv upgrade.
lib/internal/process/stdio.js installs a SIGWINCH handler but it doesn't fire until another one is added because the 'newListener' handler for signals hasn't been installed yet.
My initial guess was that some of the inspector changes broke it because the problem goes away with this patch but I haven't pinpointed the cause yet:
@maclover7 , @Flet can you devise a regression test for this? (something like: start a child node process in a terminal, then try to script a resize of that terminal)
Another good test to have is a unit test of the event on the node side (one that mocks the libuv behaviour)
Did a bisect, and it seems like f34e0f9 is what introduced the new behavior.
That commit was one of my suspects but its code does not exist anymore in v8.6.0, it was removed in 8ce0e9a (which is a somewhat suspect commit as well.)
Activity
refack commentedon Oct 13, 2017
/cc @nodejs/platform-macos
@Flet #13197 would have been my first guess too, but it was closed by a documentation change - ff07eaa
Later the underlying event mechanism was improved in libuv/libuv@6ad1e81 but that change was for Windows only, and your report states Darwin as the platform.
bnoordhuis commentedon Oct 14, 2017
I'm not sure what broke exactly but it starts working again when you add a no-op
process.on('SIGWINCH', () => {})listener. Manual bisecting indicates it's not the libuv upgrade.lib/internal/process/stdio.jsinstalls aSIGWINCHhandler but it doesn't fire until another one is added because the'newListener' handler for signals hasn't been installed yet.My initial guess was that some of the inspector changes broke it because the problem goes away with this patch but I haven't pinpointed the cause yet:
maclover7 commentedon Oct 14, 2017
Did a bisect, and it seems like f34e0f9 is what introduced the new behavior.
refack commentedon Oct 14, 2017
@maclover7 , @Flet can you devise a regression test for this? (something like: start a child node process in a terminal, then try to script a resize of that terminal)
Another good test to have is a unit test of the event on the node side (one that mocks the libuv behaviour)
bnoordhuis commentedon Oct 14, 2017
That commit was one of my suspects but its code does not exist anymore in v8.6.0, it was removed in 8ce0e9a (which is a somewhat suspect commit as well.)
Fishrock123 commentedon Oct 15, 2017
This sounds reasonable to me, we should set up the signal handlers before loading the console /
process.{stdio}.bnoordhuis commentedon Oct 15, 2017
#16225
tty: fix 'resize' event regression
tty: fix 'resize' event regression
tty: fix 'resize' event regression