Bug #9042
closedmultiples of tty streams modules cause weirdness
100%
Description
If libc believes itself to be in an xpg4 process, and it a pts device is opened, libc uses push_modules to push the tty streams modules.
In cases where a process doesn't expect this, this leaves you with multiples of the streams modules, like so:
; strconf
ttcompat
ldterm
ptem
ldterm
ptem
ttcompat
ldterm
ptem
pts
In this case, we are no longer able to get the terminal size information until modules are popped such that there is only one ptem on the stack.
Either the streams modules should not screw things if they're duplicated and stacked like this, or libc should be smart about not pushing them when they're already present. Or something.
See also #9041
Related issues
Updated by Rich Lowe over 5 years ago
- Related to Feature #9041: implement forkpty added
Updated by Andy Fiddaman over 5 years ago
Review posted at https://www.illumos.org/rb/r/1093/
Updated by Andy Fiddaman over 5 years ago
Testing proposed patch from above review link.
Using unpatched tmux compiled with gcc 7 and linked against xpg6-values.o.
Before:
bloody% strconf ttcompat ldterm ptem ldterm ptem ttcompat ldterm ptem pts
After:
bloody% strconf ttcompat ldterm ptem pts
Updated by Electric Monk over 5 years ago
- Status changed from New to Closed
- % Done changed from 0 to 100
git commit 6cfa0a7079eb1baa0a742f1e4def7cdabc8dcdab
commit 6cfa0a7079eb1baa0a742f1e4def7cdabc8dcdab Author: Andy Fiddaman <omnios@citrus-it.co.uk> Date: 2018-06-04T08:34:36.000Z 9042 multiples of tty streams modules cause weirdness Reviewed by: Randy Fishel <randyf@sibernet.com> Reviewed by: Carlos Neira <cneirabustos@gmail.com> Approved by: Hans Rosenfeld <rosenfeld@grumpf.hope-2000.org>
Updated by Fazal Majid almost 5 years ago
I contributed a patch to OpenSSH upstream to work around this:
https://bugzilla.mindrot.org/show_bug.cgi?id=2945
Updated by Andy Fiddaman over 3 years ago
- Related to Bug #12306: XPG4v2 slave pty behaviour should generally be disabled added