Bug 842792

Summary: man can't open systemd-binfmt page
Product: [openSUSE] openSUSE Tumbleweed Reporter: Michal Vyskocil <mvyskocil>
Component: BasesystemAssignee: systemd maintainers <systemd-maintainers>
Status: RESOLVED FIXED QA Contact: E-mail List <qa-bugs>
Severity: Normal    
Priority: P5 - None CC: fcrozat, i, pgajdos, tcech, vcizek, werner
Version: 13.1 Beta 1   
Target Milestone: ---   
Hardware: Other   
OS: Other   
Whiteboard:
Found By: Development Services Priority:
Business Priority: Blocker: ---
Marketing QA Status: --- IT Deployment: ---
Bug Depends on:    
Bug Blocks: 842844, 842872    
Attachments: An output of mandb command
strace of mandb
strace of man

Description Michal Vyskocil 2013-09-27 13:12:41 UTC
Disclaimer, I do have groff-full installed ;-)

# find /usr/share/man/ -name '*binfmt*' | xargs file
/usr/share/man/man8/systemd-binfmt.8.gz:         gzip compressed data, from Unix, max compression
/usr/share/man/man8/systemd-binfmt.service.8.gz: gzip compressed data, from Unix, max compression
/usr/share/man/man5/binfmt.d.5.gz:               gzip compressed data, from Unix, max compression

# man systemd-binfmt
man: can't open /usr/share/man/systemd-binfmt.service.8: No such file or directory
man: can't open /usr/share/man/systemd-binfmt.service.8: No such file or directory
man: can't open /usr/share/man/systemd-binfmt.service.8: No such file or directory
No manual entry for systemd-binfmt

# man -l /usr/share/man/man8/systemd-binfmt.8.gz
^^^ does work well

# man 8 systemd-binfmt.service
# man systemd-binfmt.service
# man binfmt.d
^^^ all those works well

According strace man does open the correct location, but then get SIGCHLD

This is an tail of man -d
Checking physical location: /usr/share/man/man8/systemd-binfmt.8.gz

ult_src: File /usr/share/man/man8/systemd-binfmt.8.gz in mantree /usr/share/man
ult_src: points to /usr/share/man/systemd-binfmt.service.8
man: can't open /usr/share/man/systemd-binfmt.service.8: No such file or directory
dbdelete_wrapper (systemd-binfmt, 0xf64100)
Attempting delete of systemd-binfmt(8) entry.
systemd-binfmt(8) not in db!
hashtable_free: 2 entries, 2 (100%) unique
No manual entry for systemd-binfmt
++priv_drop_count = 1
hashtable_free: 25 entries, 24 (96%) unique
Comment 1 Dr. Werner Fink 2013-09-27 13:47:12 UTC
And *which* child is dying ... zsoelim, nroff, groff?

Beside this : do you have run mandb ???
Comment 2 Michal Vyskocil 2013-09-27 14:16:59 UTC
Created attachment 560578 [details]
An output of mandb command
Comment 3 Michal Vyskocil 2013-09-27 14:17:49 UTC
Created attachment 560579 [details]
strace of mandb
Comment 4 Michal Vyskocil 2013-09-27 14:18:13 UTC
Created attachment 560580 [details]
strace of man
Comment 5 Michal Vyskocil 2013-09-27 14:20:02 UTC
(In reply to comment #1)
> And *which* child is dying ... zsoelim, nroff, groff?

guessing from man.strace, it was subprocess of man itself

> 
> Beside this : do you have run mandb ???

Yes, it printed a lot of 

mandb: can't update index cache /var/cache/man/uk/index.db: Resource temporarily unavailable

so maybe there is an another issue on my system ...
Comment 6 Dr. Werner Fink 2013-09-27 15:16:05 UTC
Btrfs?
Comment 7 Tomas Cech 2013-09-27 15:25:42 UTC
For me `man systemd-binfmt' works as expected, but I was able to reproduce the mandb errors even without btrfs and on oS Tumbleweed.
Comment 8 Dr. Werner Fink 2013-09-27 15:31:37 UTC
Now it becomes strange ... man and mandb use libgdbm for the database
Comment 9 Dr. Werner Fink 2013-09-27 15:35:44 UTC
Please install groff-full and run mandb as well as `man systemd-binfmt'
Comment 10 Dr. Werner Fink 2013-09-27 15:45:56 UTC
Just installed systemd and detect that the ROFF requests are wrong:

  noether:/ # zcat /usr/share/man/man8/systemd-vconsole-setup.8.gz
  .so systemd-vconsole-setup.service.8

... but there is no

  /usr/share/man/systemd-vconsole-setup.service.8

only a

  /usr/share/man/man8/systemd-vconsole-setup.service.8

args

... nevertheless both the db files as well as the CACHEDIR.TAG files below
/var/cache/man/ exists and are valid and I'm able to do

     man systemd-binfmt

...
Comment 11 Dr. Werner Fink 2013-09-27 15:48:48 UTC
In the source of systemd-207 the ROFF link is correct
Comment 12 Tomas Cech 2013-09-27 15:50:46 UTC
(In reply to comment #9)
> Please install groff-full and run mandb as well as `man systemd-binfmt'

(In reply to comment #0)
> Disclaimer, I do have groff-full installed ;-)
Comment 13 Dr. Werner Fink 2013-09-27 15:52:39 UTC
In the source of systemd-207 the ROFF link is correct
Comment 14 Dr. Werner Fink 2013-09-27 15:54:32 UTC
(In reply to comment #12)

Hmmm ... was this an update, that is the index.db files had exist before update?
Comment 15 Dr. Werner Fink 2013-09-27 15:57:02 UTC
.... if so please run

     mandb -c

as this creates the data base files from scratch
Comment 16 Dr. Werner Fink 2013-09-27 16:01:35 UTC
(In reply to comment #11)

Just build systemd and indeed the ROFF link is broken that is that somehow the files are modified but it is not visible in the /.build.log file :(
Comment 17 Dr. Werner Fink 2013-09-27 16:05:53 UTC
(In reply to comment #16)

--- systemd-207/man/systemd-vconsole-setup.8
+++ /abuild/oscbuild/openSUSE_Factory.systemd/home/abuild/rpmbuild/BUILD/systemd-207/man/systemd-vconsole-setup.8
@@ -1 +1 @@
-.so man8/systemd-vconsole-setup.service.8
+.so systemd-vconsole-setup.service.8

...
Comment 18 Dr. Werner Fink 2013-09-27 16:12:51 UTC
(In reply to comment #17)

xsltproc ...
Comment 19 Dr. Werner Fink 2013-09-27 16:21:16 UTC
OK ... found that xsltproc produces broken ROFF links ... remains the broken index.db files
Comment 20 systemd maintainers 2013-11-26 08:37:45 UTC
Ping ... any news
Comment 21 Michal Vyskocil 2013-11-26 13:39:37 UTC
(In reply to comment #19)
> OK ... found that xsltproc produces broken ROFF links ... remains the broken
> index.db files

Hi werner, I am on 13.1 and man systemd-binfmt does work well. I did not rebuild anything manually since then, so I assume this bug is fixed somehow. Marking as RESOLVED/FIXED.