libnfsidmap-regex package broken in current LTS release (focal)

Bug #1915130 reported by Thimo E
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
libnfsidmap-regex (Ubuntu)
Invalid
Undecided
Unassigned

Bug Description

Dear professionals,

When using the regex translation method for idmapping, idmapd complains about an unresolved symbol (nfsidmap_config_get) in the regex.so shared object:

systemctl status -l nfs-idmapd.service
● nfs-idmapd.service - NFSv4 ID-name mapping service
     Loaded: loaded (/lib/systemd/system/nfs-idmapd.service; static; vendor preset: enabled)
     Active: failed (Result: exit-code) since Thu 2021-02-04 13:51:52 CET; 22min ago
    Process: 43954 ExecStart=/usr/sbin/rpc.idmapd $RPCIDMAPDARGS (code=exited, status=1/FAILURE)

Feb 04 13:51:52 defil37 rpc.idmapd[43954]: sss_nfs_init: use memcache: 1
Feb 04 13:51:52 defil37 rpc.idmapd[43954]: libnfsidmap: loaded plugin /lib/x86_64-linux-gnu/libnfsidmap/sss.so for method sss
Feb 04 13:51:52 defil37 rpc.idmapd[43954]: libnfsidmap: Unable to load plugin: /lib/x86_64-linux-gnu/libnfsidmap/regex.so: undefined symbol: nfsidmap_config_get
Feb 04 13:51:52 defil37 rpc.idmapd[43954]: libnfsidmap: requested translation method, 'regex', is not available
Feb 04 13:51:52 defil37 rpc.idmapd[43954]: rpc.idmapd: libnfsidmap: Unable to load plugin: /lib/x86_64-linux-gnu/libnfsidmap/regex.so: undefined symbol: nfsidmap_config_get
Feb 04 13:51:52 defil37 rpc.idmapd[43954]: rpc.idmapd: libnfsidmap: requested translation method, 'regex', is not available
Feb 04 13:51:52 defil37 rpc.idmapd[43954]: rpc.idmapd: Unable to create name to user id mappings.
Feb 04 13:51:52 defil37 systemd[1]: nfs-idmapd.service: Control process exited, code=exited, status=1/FAILURE
Feb 04 13:51:52 defil37 systemd[1]: nfs-idmapd.service: Failed with result 'exit-code'.
Feb 04 13:51:52 defil37 systemd[1]: Failed to start NFSv4 ID-name mapping service.

This symbol obviously does not exist in the libnfsidmap.so.0.3.0 shared object:
readelf -s /usr/lib/x86_64-linux-gnu/libnfsidmap.so.0.3.0 | grep nfsidmap_config_get
<Nothing>

When checking the sources at https://github.com/isginf/libnfsidmap-regex/blob/1179b2ec3392c91a40da228afada46fd210113a2/regex.c#L57 it seems this library is accidentally using the wrong interface since the symbol "conf_get_str" exists in libnfsidmap.so.0.3.0.

Since the groovy version of the package "libnfsidmap-regex" did not raise the dependencies, I also checked this one and could verify that it:
 a) uses the "conf_get_str" function
 b) loads cleanly

I would like to ask you to either re-compile this package correctly or publish the groovy package version also for focal.

Tags: idmapd nfsd regex
Revision history for this message
Lenin (gagarin) wrote :
Revision history for this message
Thimo E (thimoe) wrote :

Unfortunately, my glibc on Ubuntu 20.04 is too old:
rpc.idmapd: libnfsidmap: Unable to load plugin: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.33' not found (required by /lib/x86_64-linux-gnu/libnfsidmap/regex.so)

mememe@deatcsXXXfcYYY:/# dpkg-query --showformat=\${Version} --show libc6
2.31-0ubuntu9.42.31-0ubuntu9.4

A dry run analysis LGTM:

mememe@deatcsXXXfcYYY:/# readelf -s /tmp/nfsidmap-test/libnfsidmap.so.1.0.0 | egrep 'nfsidmap_config_get|conf_get_str'
    78: 00000000000041f0 10 FUNC GLOBAL DEFAULT 12 nfsidmap_config_get
mememe@deatcsXXXfcYYY:/# readelf -s /tmp/nfsidmap-test/libnfsidmap/regex.so | egrep 'nfsidmap_config_get|conf_get_str'
    12: 0000000000000000 0 NOTYPE GLOBAL DEFAULT UND nfsidmap_config_get

Lenin (gagarin)
Changed in libnfsidmap-regex (Ubuntu):
status: New → Invalid
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.