Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Many warnings occur when running check-manpages with groff 1.23.0. #5863

Closed
jackchan-x opened this issue Aug 11, 2023 · 3 comments
Closed

Many warnings occur when running check-manpages with groff 1.23.0. #5863

jackchan-x opened this issue Aug 11, 2023 · 3 comments
Labels
Type: Bug A previously unknown bug in PMDK

Comments

@jackchan-x
Copy link

jackchan-x commented Aug 11, 2023

ISSUE: Many warnings occur when running check-manpages with groff 1.23.0

Environment Information

  • PMDK package version(s): 2.0.0
  • OS(es) version(s): OpenCloudOS Stream 23
  • ndctl version(s): 74
  • kernel version(s): 5.4.119-1-tlinux4-0009.3
  • compiler, libraries, packaging and other related tools version(s): gcc 12.3.0, groff 1.23.0

Please provide a reproduction of the bug:

  1. wget https://github.com/pmem/pmdk/releases/download/2.0.0/pmdk-2.0.0.tar.gz
  2. tar zxvf pmdk-2.0.0.tar.gz
  3. cd pmdk-2.0.0/ && ./utils/check-manpages

How often bug is revealed: (always, often, rare): always

Actual behavior:

pmem_ctl.5: troff::49: warning: cannot select font 'C'
troff::58: warning: cannot select font 'C'
troff::67: warning: cannot select font 'C'
troff::81: warning: cannot select font 'C'
troff::89: warning: cannot select font 'C'
troff::97: warning: cannot select font 'C'
troff::114: warning: cannot select font 'C'
pmempool_rm.3: troff::13: warning: cannot select font 'C'
pmempool_feature_query.3: troff::14: warning: cannot select font 'C'
poolset.5: troff::13: warning: cannot select font 'C'
troff::90: warning: cannot select font 'C'
troff::98: warning: cannot select font 'C'
...
troff::159: warning: cannot select font 'C'
pmempool_check_init.3: troff::14: warning: cannot select font 'C'
troff::50: warning: cannot select font 'C'
troff::115: warning: cannot select font 'C'
troff::190: warning: cannot select font 'C'
troff::202: warning: cannot select font 'C'
pmreorder.1: troff::14: warning: cannot select font 'C'
troff::38: warning: cannot select font 'C'
troff::54: warning: cannot select font 'C'
...
troff::435: warning: cannot select font 'C'
pmempool-feature.1: troff::13: warning: cannot select font 'C'
troff::52: warning: cannot select font 'C'
troff::63: warning: cannot select font 'C'
troff::67: warning: cannot select font 'C'
troff::71: warning: cannot select font 'C'
troff::75: warning: cannot select font 'C'
troff::79: warning: cannot select font 'C'
troff::88: warning: cannot select font 'C'
troff::92: warning: cannot select font 'C'
troff:💯 warning: cannot select font 'C'
troff::108: warning: cannot select font 'C'
pmempool-check.1: troff::13: warning: cannot select font 'C'
troff::42: warning: cannot select font 'C'
troff::46: warning: cannot select font 'C'
troff::50: warning: cannot select font 'C'
troff::55: warning: cannot select font 'C'
troff::57: warning: cannot select font 'C'
troff::59: warning: cannot select font 'C'
troff::65: warning: cannot select font 'C'
troff::69: warning: cannot select font 'C'
troff::71: warning: cannot select font 'C'
troff::75: warning: cannot select font 'C'
troff::79: warning: cannot select font 'C'
troff::85: warning: cannot select font 'C'
libpmempool.7: troff::13: warning: cannot select font 'C'
troff::21: warning: cannot select font 'C'
troff::30: warning: cannot select font 'C'
troff::86: warning: cannot select font 'C'
troff::192: warning: cannot select font 'C'
pmempool_sync.3: troff::14: warning: cannot select font 'C'
pmempool-sync.1: troff::14: warning: cannot select font 'C'
troff::42: warning: cannot select font 'C'
troff::72: warning: cannot select font 'C'
troff::78: warning: cannot select font 'C'
troff::82: warning: cannot select font 'C'
pmempool-info.1: troff::13: warning: cannot select font 'C'
troff::73: warning: cannot select font 'C'
troff::89: warning: cannot select font 'C'
...
troff::343: warning: cannot select font 'C'
pmempool-transform.1: troff::13: warning: cannot select font 'C'
pmempool-dump.1: troff::13: warning: cannot select font 'C'
troff::20: warning: cannot select font 'C'
troff::21: warning: cannot select font 'C'
...
troff::125: warning: cannot select font 'C'
pmempool-rm.1: troff::13: warning: cannot select font 'C'
troff::32: warning: cannot select font 'C'
troff::36: warning: cannot select font 'C'
troff::40: warning: cannot select font 'C'
troff::45: warning: cannot select font 'C'
troff::49: warning: cannot select font 'C'
troff::53: warning: cannot select font 'C'
troff::57: warning: cannot select font 'C'
troff::63: warning: cannot select font 'C'
troff::71: warning: cannot select font 'C'
troff::80: warning: cannot select font 'C'
pmempool.1: troff::13: warning: cannot select font 'C'
troff::38: warning: cannot select font 'C'
troff::42: warning: cannot select font 'C'
pmempool-create.1: troff::13: warning: cannot select font 'C'
troff::42: warning: cannot select font 'C'
troff::46: warning: cannot select font 'C'
...
troff::110: warning: cannot select font 'C'
pmem_is_pmem.3: troff::14: warning: cannot select font 'C'
libpmem.7: troff::13: warning: cannot select font 'C'
troff::21: warning: cannot select font 'C'
troff::30: warning: cannot select font 'C'
troff::92: warning: cannot select font 'C'
troff::307: warning: cannot select font 'C'
pmem_memmove_persist.3: troff::18: warning: cannot select font 'C'
troff::45: warning: cannot select font 'C'
troff::84: warning: cannot select font 'C'
pmem_flush.3: troff::18: warning: cannot select font 'C'
troff::80: warning: cannot select font 'C'
troff::109: warning: cannot select font 'C'
troff::146: warning: cannot select font 'C'
pmem2_get_persist_fn.3: troff::13: warning: cannot select font 'C'
troff::61: warning: cannot select font 'C'
troff::70: warning: cannot select font 'C'
daxio.1: troff::14: warning: cannot select font 'C'
troff::41: warning: cannot select font 'C'
...
troff::79: warning: cannot select font 'C'
pmem2_badblock_next.3: troff::14: warning: cannot select font 'C'
pmem2_deep_flush.3: troff::14: warning: cannot select font 'C'
pmem2_map_get_store_granularity.3: troff::14: warning: cannot select font 'C'
pmem2_vm_reservation_map_find.3: troff::18: warning: cannot select font 'C'
pmem2_config_set_vm_reservation.3: troff::15: warning: cannot select font 'C'
pmem2_source_device_id.3: troff::14: warning: cannot select font 'C'
pmem2_source_get_fd.3: troff::14: warning: cannot select font 'C'
pmem2_source_from_fd.3: troff::14: warning: cannot select font 'C'
pmem2_perror.3: troff::13: warning: cannot select font 'C'
pmem2_vm_reservation_extend.3: troff::15: warning: cannot select font 'C'
pmem2_map_get_address.3: troff::13: warning: cannot select font 'C'
pmem2_map_delete.3: troff::13: warning: cannot select font 'C'
pmem2_get_drain_fn.3: troff::13: warning: cannot select font 'C'
pmem2_vm_reservation_get_size.3: troff::14: warning: cannot select font 'C'
pmem2_config_set_offset.3: troff::14: warning: cannot select font 'C'
pmem2_map_from_existing.3: troff::14: warning: cannot select font 'C'
pmem2_errormsg.3: troff::13: warning: cannot select font 'C'
pmem2_config_set_required_store_granularity.3: troff::14: warning: cannot select font 'C'
pmem2_source_from_anon.3: troff::14: warning: cannot select font 'C'
pmem2_config_set_protection.3: troff::14: warning: cannot select font 'C'
pmem2_config_new.3: troff::14: warning: cannot select font 'C'
pmem2_map_get_size.3: troff::13: warning: cannot select font 'C'
pmem2_badblock_clear.3: troff::13: warning: cannot select font 'C'
pmem2_source_numa_node.3: troff::13: warning: cannot select font 'C'
troff::26: warning: cannot select font 'C'
troff::27: warning: cannot select font 'C'
pmem2_get_flush_fn.3: troff::13: warning: cannot select font 'C'
pmem2_source_device_usc.3: troff::14: warning: cannot select font 'C'
pmem2_config_set_length.3: troff::14: warning: cannot select font 'C'
pmem2_source_pread_mcsafe.3: troff::15: warning: cannot select font 'C'
pmem2_vm_reservation_get_address.3: troff::14: warning: cannot select font 'C'
pmem2_badblock_context_new.3: troff::16: warning: cannot select font 'C'
pmem2_get_memmove_fn.3: troff::15: warning: cannot select font 'C'
troff::49: warning: cannot select font 'C'
troff::59: warning: cannot select font 'C'
troff::86: warning: cannot select font 'C'
pmem2_config_set_sharing.3: troff::14: warning: cannot select font 'C'
libpmem2.7: troff::13: warning: cannot select font 'C'
troff::115: warning: cannot select font 'C'
troff::115: warning: cannot select font 'C'
pmem2_source_size.3: troff::13: warning: cannot select font 'C'
pmem2_map_new.3: troff::13: warning: cannot select font 'C'
pmem2_vm_reservation_new.3: troff::15: warning: cannot select font 'C'
pmem2_source_alignment.3: troff::13: warning: cannot select font 'C'
pmemobj_open.3: troff::17: warning: cannot select font 'C'
toid_declare.3: troff::20: warning: cannot select font 'C'
oid_is_null.3: troff::18: warning: cannot select font 'C'
troff::170: warning: cannot select font 'C'
pmemobj_action.3: troff::19: warning: cannot select font 'C'
troff::61: warning: cannot select font 'C'
troff::67: warning: cannot select font 'C'
troff::148: warning: cannot select font 'C'
pmemobj_tx_alloc.3: troff::24: warning: cannot select font 'C'
pmemobj_mutex_zero.3: troff::26: warning: cannot select font 'C'
pmemobj_first.3: troff::18: warning: cannot select font 'C'
pobj_layout_begin.3: troff::16: warning: cannot select font 'C'
troff::76: warning: cannot select font 'C'
troff:💯 warning: cannot select font 'C'
pmemobj_ctl_get.3: troff::15: warning: cannot select font 'C'
troff::190: warning: cannot select font 'C'
troff::191: warning: cannot select font 'C'
troff::204: warning: cannot select font 'C'
...
troff::418: warning: cannot select font 'C'
pmemobj_tx_add_range.3: troff::25: warning: cannot select font 'C'
pmemobj_alloc.3: troff::20: warning: cannot select font 'C'
pmemobj_list_insert.3: troff::15: warning: cannot select font 'C'
pmemobj_tx_begin.3: troff::35: warning: cannot select font 'C'
troff::179: warning: cannot select font 'C'
troff::295: warning: cannot select font 'C'
troff::319: warning: cannot select font 'C'
troff::578: warning: cannot select font 'C'
pmemobj_memcpy_persist.3: troff::18: warning: cannot select font 'C'
troff::160: warning: cannot select font 'C'
troff::177: warning: cannot select font 'C'
libpmemobj.7: troff::13: warning: cannot select font 'C'
troff::21: warning: cannot select font 'C'
troff::30: warning: cannot select font 'C'
troff::41: warning: cannot select font 'C'
troff::119: warning: cannot select font 'C'
pmemobj_root.3: troff::15: warning: cannot select font 'C'
pobj_list_head.3: troff::33: warning: cannot select font 'C'
troff::117: warning: cannot select font 'C'
troff::138: warning: cannot select font 'C'

Expected behavior:

No warnings.

Details

Additional information about Priority and Help Requested:

Are you willing to submit a pull request with a proposed change? (Yes, No) Yes

Requested priority: (Showstopper, High, Medium, Low) Low

@jackchan-x jackchan-x added the Type: Bug A previously unknown bug in PMDK label Aug 11, 2023
@yuzibo
Copy link

yuzibo commented Aug 11, 2023

I can confirm that the issue also happened on Debian:
see: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1042252

It seems man cmd was not able to correctly recongnize macro for 'C' :

libpmemblk.7: troff:<standard input>:19: warning: cannot select font 'C'
troff:<standard input>:27: warning: cannot select font 'C'
troff:<standard input>:36: warning: cannot select font 'C'
troff:<standard input>:47: warning: cannot select font 'C'
troff:<standard input>:134: warning: cannot select font 'C'
troff:<standard input>:258: warning: cannot select font 'C'
...
``` cat ./doc/libpmemblk/libpmemblk.7 
.\" Automatically generated by Pandoc 2.9.2.1
.\"
.TH "" "" "2023-05-31" "PMDK - " "PMDK Programmer's Manual"
.hy
.\" SPDX-License-Identifier: BSD-3-Clause
.\" Copyright 2016-2023, Intel Corporation
.SH NAME
.PP
\f[B]libpmemblk\f[R] - persistent memory resident array of blocks
(DEPRECATED)
.RS
.PP
NOTE: Support for Windows and FreeBSD deprecated since PMDK 1.13.0
release and will be removed in the PMDK 1.14.0 release.
.RE
.SH SYNOPSIS
.IP
.nf
\f[C]
#include <libpmemblk.h>
cc ... -lpmemblk -lpmem
\f[R]
.fi
.SS Library API versioning:
.IP
.nf
\f[C]
const char *pmemblk_check_version(
    unsigned major_required,
    unsigned minor_required);
\f[R]
.fi
.SS Managing library behavior:
.IP
.nf
\f[C]
void pmemblk_set_funcs(
    void *(*malloc_func)(size_t size),
    void (*free_func)(void *ptr),
    void *(*realloc_func)(void *ptr, size_t size),
    char *(*strdup_func)(const char *s));
\f[R]
...

@kilobyte
Copy link
Contributor

This is a problem that should be fixed in Pandoc itself (to align it to what new groff demands, see eg. Perl/perl5#21239). Thus, while the fallout hits PMDK, I see no reason to fix it here, other than maybe temporarily disable a test if a combination of old pandoc with new groff hits a CI system.

@yuzibo
Copy link

yuzibo commented Aug 11, 2023

other than maybe temporarily disable a test if a combination of old pandoc with new groff hits a CI system.

Thanks. in fact I built the PMDK with old pandoc only but still get the fail, this mislead me.

@janekmi janekmi closed this as completed Aug 31, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Type: Bug A previously unknown bug in PMDK
Projects
None yet
Development

No branches or pull requests

4 participants