many manpages cut-off in RC1

Bug #370750 reported by anilg
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Nexenta Operating System
Confirmed
Medium
Unassigned

Bug Description

Many manpages (like apt-get) are cut off. For example ls and apt-get are cut off at 73/119 lines and 128/174 respectively.

apt-clone shows nothing except:
 Manual page apt-clone(8) line ?/? (END)

dpkg cuts off at 311 out of 357
 Manual page dpkg(1) line 311/357 (END)

etc.

Any ideas on what could be the issue?

Revision history for this message
anilg (anil-verve) wrote :

Found something interesting.. the issue itself is not consistent: it (seemingly randomly) shifs between 3 states:

* Shows 1 line : Manual page crontab(1) line ?/? (END)
* Shows the manpage, but cut-off
* Shows the complete manpage.

I;ve been able to reproduce this in my dist-upgraded devzone: try running

 while true; do man crontab;done

Any idea on this random behavior?

Revision history for this message
Tim Spriggs (tim-tajinc) wrote : Re: [Bug 370750] Re: many manpages cut-off in RC1

Another interesting datapoint:

    man {manpage} | cat

will sometimes display the entire manpage when nothing is otherwise
displayed. I wonder if TERM affects these things at all?

anilg wrote:
> Found something interesting.. the issue itself is not consistent: it
> (seemingly randomly) shifs between 3 states:
>
> * Shows 1 line : Manual page crontab(1) line ?/? (END)
> * Shows the manpage, but cut-off
> * Shows the complete manpage.
>
> I;ve been able to reproduce this in my dist-upgraded devzone: try
> running
>
> while true; do man crontab;done
>
> Any idea on this random behavior?
>
>

Revision history for this message
anilg (anil-verve) wrote :

root@lanai:/tmp# while true; do man crontab > /tmp/$a;a=$((a+1));echo $a;done
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
^C
root@lanai:/tmp# ls -l
total 60
-rw-r--r-- 1 root root 0 May 7 12:11 0
-rw-r--r-- 1 root root 0 May 7 12:11 1
-rw-r--r-- 1 root root 5120 May 7 12:12 10
-rw-r--r-- 1 root root 5120 May 7 12:12 11
-rw-r--r-- 1 root root 5120 May 7 12:12 12
-rw-r--r-- 1 root root 0 May 7 12:12 13
-rw-r--r-- 1 root root 0 May 7 12:12 14
-rw-r--r-- 1 root root 0 May 7 12:12 15
-rw-r--r-- 1 root root 0 May 7 12:11 2
-rw-r--r-- 1 root root 0 May 7 12:11 3
-rw-r--r-- 1 root root 5120 May 7 12:11 4
-rw-r--r-- 1 root root 5120 May 7 12:11 5
-rw-r--r-- 1 root root 0 May 7 12:11 6
-rw-r--r-- 1 root root 0 May 7 12:11 7
-rw-r--r-- 1 root root 0 May 7 12:11 8
-rw-r--r-- 1 root root 12690 May 7 12:12 9

Revision history for this message
Tim Spriggs (tim-tajinc) wrote :

anilg wrote:
> root@lanai:/tmp# while true; do man crontab > /tmp/$a;a=$((a+1));echo $a;done
> 1
> 2
> 3
> 4
> 5
> 6
> 7
> 8
> 9
> 10
> 11
> 12
> 13
> 14
> 15
> ^C
> root@lanai:/tmp# ls -l
> total 60
> -rw-r--r-- 1 root root 0 May 7 12:11 0
> -rw-r--r-- 1 root root 0 May 7 12:11 1
> -rw-r--r-- 1 root root 5120 May 7 12:12 10
> -rw-r--r-- 1 root root 5120 May 7 12:12 11
> -rw-r--r-- 1 root root 5120 May 7 12:12 12
> -rw-r--r-- 1 root root 0 May 7 12:12 13
> -rw-r--r-- 1 root root 0 May 7 12:12 14
> -rw-r--r-- 1 root root 0 May 7 12:12 15
> -rw-r--r-- 1 root root 0 May 7 12:11 2
> -rw-r--r-- 1 root root 0 May 7 12:11 3
> -rw-r--r-- 1 root root 5120 May 7 12:11 4
> -rw-r--r-- 1 root root 5120 May 7 12:11 5
> -rw-r--r-- 1 root root 0 May 7 12:11 6
> -rw-r--r-- 1 root root 0 May 7 12:11 7
> -rw-r--r-- 1 root root 0 May 7 12:11 8
> -rw-r--r-- 1 root root 12690 May 7 12:12 9
>
>

Sweet, we have a work-around!

Seriously though it looks like one of the child processes is killed on
sigpipe while trying to write to fd=1 (stdout ... piped to parent process):

http://pastebin.com/m6a25d098

There is no exec after the fork so the code is still inside of man. The
fun part is that the truss output is pretty much the same for cases that
succeed:

http://pastebin.com/m7b51da55

-Tim

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.