Wind River Support Network

HomeDefectsLIN5-13937
Fixed

LIN5-13937 : pty: pty slave never wake up under heavy load.

Created: Nov 27, 2012    Updated: Dec 19, 2017
Resolved Date: Nov 19, 2015
Previous ID: LIN3-22552
Found In Version: 5.0
Fix Version: 5.0.1.33
Severity: Severe
Applicable for: Wind River Linux 5
Component/s: Kernel
Host OS: Linux Ubuntu

Description

The process which uses pty slave stops and doesn't wake up under heavy load on multiple telnet sessions.

This was filed as WIND00376270 and a patch was released.
But the problem is still there on WRL 3.0.3 RCPL-12.

Steps to Reproduce

1. configure a WRL 3.0.3 platform project.
/WindRiver/wrlinux-3.0/wrlinux/../ldat/configure
--with-product-dir=/WindRiver/wrlinux-3.0/wrlinux
--enable-board=intel_truxton
--enable-build=production --enable-jobs=4
--enable-kernel=standard

2. build root fs and kernel.
make -C build linux
make fs

3. boot the kernel on a target.

4. setup and start telnet server on the target.

5. build the attached test cases.

loop_usleep:
i586-wrs-linux-gnu-i686-glibc_small-gcc -g -march=pentium4 -mmmx \
-msse -msse2 -mfpmath=sse -O0 -fno-omit-frame-pointer -pipe \
-fPIC -MD -MP -c -DARCH=x86 -o loop_usleep.o loop_usleep.c
i586-wrs-linux-gnu-i686-glibc_small-gcc -g -o loop-usleep loop_usleep.o

window_dsp:
i586-wrs-linux-gnu-i686-glibc_small-gcc -g -march=pentium4 -mmmx \
-msse -msse2 -mfpmath=sse -O0 -fno-omit-frame-pointer -pipe \
-fPIC -MD -MP -c -DARCH=x86 -o window_dsp.o window_dsp.c
i586-wrs-linux-gnu-i686-glibc_small-gcc -g -o window_dsp window_dsp.o

6. open six telnet sessions on multiple terminals.

Window1:
telnet <target ip>

Window2:
telnet <target ip>

Window3:
telnet <target ip>

Window4:
telnet <target ip>

Window5:
telnet <target ip>

Window6:
telnet <target ip>

7. run loop_usleep on the target console.

Console:
# loop_usleep 2000 &

8. run window_disp on each telnet terminal.
Many characters are shown repeatedly on the each telnet session.

From Window1 to- Window6:
# window_dsp 0
ABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZAB
ABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZAB
ABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZAB
ABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZAB
ABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOP....

9. wait serveral minutes (or hours), then characters output
stops on one (or more) telnet terminal.

ABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZAB
ABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZAB
ABCDEFGHIJKLMNOPQRST <--- (stopped!!)

Other Downloads


Live chat
Online