<div>Hi</div><div>Maybe we can disable it in Makefile.</div><div><br></div><div>Best Regards</div><div>Yang Xu</div><div><br></div><div><!--emptysign--></div><div><div style="font-size:12px;padding:2px 0;">---Original---</div><div style="font-size:12px;background:#f0f0f0;color:#212121;padding:8px!important;border-radius:4px;line-height:1.5;"><div><b>From:</b> "Li Wang"<liwang@redhat.com></div><div><b>Date:</b> Wed, May 6, 2020 18:56 PM</div><div><b>To:</b> "Jan Stancek"<jstancek@redhat.com>;</div><div><b>Cc:</b> "LTP List"<ltp@lists.linux.it>;</div><div><b>Subject:</b> Re: [LTP] [PATCH v4 1/2] pty04: Use guarded buffers for transmission</div></div><br><div dir="ltr"><div dir="ltr"><div class="gmail_default" style="font-size:small"><br></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Wed, May 6, 2020 at 6:50 PM Jan Stancek <<a href="mailto:jstancek@redhat.com" target="_blank">jstancek@redhat.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0px 0px 0px 7.18516px; padding: 14px 16px 14px 8.98145px; color: rgb(149, 149, 149); background-color: rgb(245, 246, 250);"><br>
<br>
----- Original Message -----<br>
> Hi,<br>
> <br>
> Richard Palethorpe <<a href="mailto:rpalethorpe@suse.de" target="_blank">rpalethorpe@suse.de</a>> writes:<br>
> <br>
> > Hello,<br>
> ><br>
> > Petr Vorel <<a href="mailto:pvorel@suse.cz" target="_blank">pvorel@suse.cz</a>> writes:<br>
> ><br>
> >> Hi Richard,<br>
> >><br>
> >>> Signed-off-by: Richard Palethorpe <<a href="mailto:rpalethorpe@suse.com" target="_blank">rpalethorpe@suse.com</a>><br>
> >>> ---<br>
> >><br>
> >> Reviewed-by: Petr Vorel <<a href="mailto:pvorel@suse.cz" target="_blank">pvorel@suse.cz</a>><br>
> >><br>
> >> BTW Every second run with this patch it blocks after pty04.c:214: PASS:<br>
> >> Read netdev 1<br>
> >> and then:<br>
> >> tst_checkpoint.c:147: BROK: pty04.c:249: tst_checkpoint_wait(0, 10000):<br>
> >> ETIMEDOUT (110)<br>
> >> tst_test.c:373: BROK: Reported by child (26650)<br>
> >> safe_macros.c:258: BROK: pty04.c:215: read(5,0x7efebc306001,8191) failed,<br>
> >> returned -1: ENETDOWN (100)<br>
> >> pty04.c:139: PASS: Writing to PTY interrupted by hangup<br>
> >> tst_test.c:373: WARN: Reported by child (26648)<br>
> >><br>
> >> Tested on 5.7.0-rc3 in Tumbleweed.<br>
> >> But it looks this is not caused by this change, but was here before,<br>
> >> because the<br>
> >> same behavior I see when testing pty04 *without* this patch on various<br>
> >> kernels<br>
> >> (5.3.7, 5.6.0-rc5) and some of the never SLES (4.12 based).<br>
> >><br>
> >> Kind regards,<br>
> >> Petr<br>
> ><br>
> > This looks similar to the issue reported by Jan:<br>
> ><br>
> > <a href="https://github.com/linux-test-project/ltp/issues/674" rel="noreferrer" target="_blank">https://github.com/linux-test-project/ltp/issues/674</a><br>
> ><br>
> > Is this the full output?<br>
> ><br>
> > Thinking aloud: the following (probably) happens when writing to the PTY<br>
> ><br>
> > write() -> PTY -> SLIP/SLCAN -> netdev -> read()<br>
> ><br>
> > Writing to the PTY causes the PTY to write to the line discipline. What<br>
> > I found was that when the line discipline receive buffer got full and the<br>
> > PTY<br>
> > send buffer got full. The write would go to sleep and never wake up<br>
> > because the line discipline drained the receive buffer, but doesn't<br>
> > signal it is ready for more data (with tty_unthrottle). So I used<br>
> > nonblocking writes which just retry writing.<br>
> ><br>
> > From Jan's errors it looks like it might just be reading that is failing<br>
> > in one case and that writing is also failing in the other until we<br>
> > cancel the read. I doubt this is anything to do with the netdev code<br>
> > because it is generic networking code AFAICT and should work correctly<br>
> > with blocking reads...<br>
> <br>
> Probably the best thing todo for now is to remove the test before the<br>
> release as this requires some more investigation.<br>
<br>
We can keep it in tree, I'd just disable it in runtest file(s), so it's not<br>
run by default.<br></blockquote><div><br></div><div class="gmail_default" style="font-size:small">But we still facing the compiled errors in the old kernels, that will break the LTP build in the compiling phase.</div><div class="gmail_default" style="font-size:small"><br></div><div class="gmail_default" style="font-size:small">RHEL-7:</div><div class="gmail_default" style="font-size:small"><br></div><div class="gmail_default" style="font-size:small">pty04.c: In function ‘check_data’:<br>pty04.c:255:7: error: ‘struct can_frame’ has no member named ‘__pad’<br>   i = offsetof(struct can_frame, __pad);<br>       ^<br>pty04.c:256:10: error: ‘struct can_frame’ has no member named ‘__pad’<br>   if (frm.__pad != frm.__res0 || frm.__res0 != frm.__res1) {<br>          ^<br>pty04.c:256:23: error: ‘struct can_frame’ has no member named ‘__res0’<br>   if (frm.__pad != frm.__res0 || frm.__res0 != frm.__res1) {<br>                       ^<br>pty04.c:256:37: error: ‘struct can_frame’ has no member named ‘__res0’<br>   if (frm.__pad != frm.__res0 || frm.__res0 != frm.__res1) {<br>                                     ^<br>pty04.c:256:51: error: ‘struct can_frame’ has no member named ‘__res1’<br>   if (frm.__pad != frm.__res0 || frm.__res0 != frm.__res1) {<br></div></div><br clear="all"><div><br></div>-- <br><div dir="ltr"><div dir="ltr"><div>Regards,<br></div><div>Li Wang<br></div></div></div></div>

</div>