ubuntu man command display blank pages

Linux 3.8.0-31-generic #46-Ubuntu SMP Tue Sep 10 20:03:44 UTC 2013 x86_64 x86_64 x86_64 GNU/Linux

Hello, my manpages are blank; when I type something like man ls in my terminal it displays a blank page with only the following:

Manual page man(1) line ?/? (END) (press h for help or q to quit)

I already try to uninstall the man packages with both dpkg and apt-get command, check my path and the man config file ... but I obviously missing something; Is anyone can help me to solved this? Thanks.

sudo apt-get --purge remove manpages manpages-dev freebsd-manpages funny-manpages gmt-manpages man2html manpages-posix manpages-posix-dev asr-manpages

sudo apt-get install manpages manpages-dev freebsd-manpages funny-manpages gmt-manpages man2html manpages-posix manpages-posix-dev asr-manpages

which man

/usr/bin/man

echo $PATH

/home/franchin/bin:/usr/lib/lightdm/lightdm:/usr/local/sbin:/usr/local/bin:/usr/sbin:/> usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/usr/bin/man

sudo mandb -c

...
Processing manual pages under /usr/local/share/man...
131 man subdirectories contained newer manual pages.
5731 manual pages were added.
0 stray cats were added.

cat /etc/manpath.config

magic           magic.mime      mailcap         mailcap.order   manpath.config  
franchin@N53Jq:~$ cat /etc/manpath.config 
# manpath.config
#
# This file is used by the man-db package to configure the man and cat paths.
# It is also used to provide a manpath for those without one by examining
# their PATH environment variable. For details see the manpath(5) man page.
#
# Lines beginning with `#' are comments and are ignored. Any combination of
# tabs or spaces may be used as `whitespace' separators.
#
# There are three mappings allowed in this file:
# --------------------------------------------------------
# MANDATORY_MANPATH         manpath_element
# MANPATH_MAP       path_element    manpath_element
# MANDB_MAP     global_manpath  [relative_catpath]
#---------------------------------------------------------
# every automatically generated MANPATH includes these fields
#
#MANDATORY_MANPATH          /usr/src/pvm3/man
#
MANDATORY_MANPATH           /usr/man
MANDATORY_MANPATH           /usr/share/man
MANDATORY_MANPATH           /usr/local/share/man
#---------------------------------------------------------
# set up PATH to MANPATH mapping
# ie. what man tree holds man pages for what binary directory.
#
#       *PATH*        ->    *MANPATH*
#
MANPATH_MAP /bin            /usr/share/man
MANPATH_MAP /usr/bin        /usr/share/man
MANPATH_MAP /sbin           /usr/share/man
MANPATH_MAP /usr/sbin       /usr/share/man
MANPATH_MAP /usr/local/bin      /usr/local/man
MANPATH_MAP /usr/local/bin      /usr/local/share/man
MANPATH_MAP /usr/local/sbin     /usr/local/man
MANPATH_MAP /usr/local/sbin     /usr/local/share/man
MANPATH_MAP /usr/X11R6/bin      /usr/X11R6/man
MANPATH_MAP /usr/bin/X11        /usr/X11R6/man
MANPATH_MAP /usr/games      /usr/share/man
MANPATH_MAP /opt/bin        /opt/man
MANPATH_MAP /opt/sbin       /opt/man
#---------------------------------------------------------
# For a manpath element to be treated as a system manpath (as most of those
# above should normally be), it must be mentioned below. Each line may have
# an optional extra string indicating the catpath associated with the
# manpath. If no catpath string is used, the catpath will default to the
# given manpath.
#
# You *must* provide all system manpaths, including manpaths for alternate
# operating systems, locale specific manpaths, and combinations of both, if
# they exist, otherwise the permissions of the user running man/mandb will
# be used to manipulate the manual pages. Also, mandb will not initialise
# the database cache for any manpaths not mentioned below unless explicitly
# requested to do so.
#
# In a per-user configuration file, this directive only controls the
# location of catpaths and the creation of database caches; it has no effect
# on privileges.
#
# Any manpaths that are subdirectories of other manpaths must be mentioned
# *before* the containing manpath. E.g. /usr/man/preformat must be listed
# before /usr/man.
#
#       *MANPATH*     ->    *CATPATH*
#
MANDB_MAP   /usr/man        /var/cache/man/fsstnd
MANDB_MAP   /usr/share/man      /var/cache/man
MANDB_MAP   /usr/local/man      /var/cache/man/oldlocal
MANDB_MAP   /usr/local/share/man    /var/cache/man/local
MANDB_MAP   /usr/X11R6/man      /var/cache/man/X11R6
MANDB_MAP   /opt/man        /var/cache/man/opt
#
#---------------------------------------------------------
# Program definitions.  These are commented out by default as the value
# of the definition is already the default.  To change: uncomment a
# definition and modify it.
#
#DEFINE     pager   pager -s
#DEFINE     cat cat
#DEFINE     tr  tr '\255\267\264\327' '\055\157\047\170'
#DEFINE     grep    grep
#DEFINE     troff   groff -mandoc
#DEFINE     nroff   nroff -mandoc
#DEFINE     eqn     eqn
#DEFINE     neqn    neqn
#DEFINE     tbl     tbl
#DEFINE     col     col
#DEFINE     vgrind  vgrind
#DEFINE     refer   refer
#DEFINE     grap    grap
#DEFINE     pic     pic -S
#
#DEFINE     compressor  gzip -c7
#---------------------------------------------------------
# Misc definitions: same as program definitions above.
#
#DEFINE     whatis_grep_flags       -i
#DEFINE     apropos_grep_flags      -iEw
#DEFINE     apropos_regex_grep_flags    -iE
#---------------------------------------------------------
# Section names. Manual sections will be searched in the order listed here;
# the default is 1, n, l, 8, 3, 0, 2, 5, 4, 9, 6, 7. Multiple SECTION
# directives may be given for clarity, and will be concatenated together in
# the expected way.
# If a particular extension is not in this list (say, 1mh), it will be
# displayed with the rest of the section it belongs to. The effect of this
# is that you only need to explicitly list extensions if you want to force a
# particular order. Sections with extensions should usually be adjacent to
# their main section (e.g. "1 1mh 8 ...").
#
SECTION     1 n l 8 3 2 3posix 3pm 3perl 5 4 9 6 7
#
#---------------------------------------------------------
# Range of terminal widths permitted when displaying cat pages. If the
# terminal falls outside this range, cat pages will not be created (if
# missing) or displayed.
#
#MINCATWIDTH    80
#MAXCATWIDTH    80
#
# If CATWIDTH is set to a non-zero number, cat pages will always be
# formatted for a terminal of the given width, regardless of the width of
# the terminal actually being used. This should generally be within the
# range set by MINCATWIDTH and MAXCATWIDTH.
#
#CATWIDTH   0
#
#---------------------------------------------------------
# Flags.
# NOCACHE keeps man from creating cat pages.
#NOCACHE

The solution has been posted canonical launchpad:

Seems that problem in apparmor profile loading on older kernels. I
have the same issue on custom kernel 4.4, but with ubuntu kernel 4.15
everything ok.

Workaround for older kernels: 
apt install apparmor-utils 
aa-disable /usr/bin/man

Upstream Bug: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=889617

It works on kernel 4.12 too!


I found usefull nfo here: https://bugzilla.redhat.com/show_bug.cgi?id=127492

This post is talking about an nroff problème... On my ubuntu realease I think it's groff not nroff am I right?

I know I can deal with info command and the --help ... but it would be nice helping me to recover the man :/

using the following cmd solve my problem:

apt-get --reinstall install groff groff-base

The issue was well related to the groff invocation to display the man pages.

groff pkg nfo