False ABI checker errors in libndr

Jelmer Vernooij jelmer at samba.org
Mon Apr 9 16:22:55 MDT 2012


Am 09/04/12 23:08, schrieb Andrew Bartlett:
> Since you added ABI checking for libndr, there have been a number of
> false positive ABI checking errors for this library.
>
> The issue appears to be string formatting in gdb. 
>
> Oddly, it can be seen even on the same host, when built from smbtorture4
> under autoconf or from a top level waf build:
>
> autoconf:
> https://build.samba.org/build.cgi/build/a1bcbea7e78fe37377b68629a8f4fc5c8f30ceb2
> waf:
> https://build.samba.org/build.cgi/build/64fe1ec08ceb28651feb72584b70a9deb5f0ae04
>
> The issue is:
> enum ndr_err_code (struct ndr_pull *, int, gid_t *) -> enumlibndr.so:
> symbol ndr_transfer_syntax_ndr64 has changed - please update major
> version
> 	old_signature: uuid = {time_low = 1903232307, time_mid = 48826, time_hi_and_version = 18743, clock_seq = "\203\031", node = "\265\333\357\234\314\066"}, if_version = 1
> 	new_signature: uuid = {time_low = 1903232307, time_mid = 48826, time_hi_and_version = 18743, clock_seq = "\203\031", node = "���\234�6"}, if_version = 1
> libndr.so: symbol ndr_transfer_syntax_ndr has changed - please update major version
> 	old_signature: uuid = {time_low = 2324192516, time_mid = 7403, time_hi_and_version = 4553, clock_seq = "\237\350", node = "\b\000+\020H`"}, if_version = 2
> 	new_signature: uuid = {time_low = 2324192516, time_mid = 7403, time_hi_and_version = 4553, clock_seq = "\237�", node = "\b\000+\020H`"}, if_version = 2
> Waf: Leaving directory `/build/build_farm/samba_3_master/bin'
> Build failed: ABI for libndr.so has changed - please fix library version then build with --abi-update
>
> As you can see, the difference is the string formatting.  The actual
> structure values shouldn't be part of the ABI, but the regular
> expressions used on the gdb output scare me, so I'm not confident to fix
> this myself.
We've hit some other ways of formatting for this signature earlier as
well. I guess the differences must be related to the specific gdb versions?

We should add tests for this particular instance in
buildtools/wafsamba/tests/test_abi.py and fix the regexes to match. I'll
have a look at doing that towards the end of the week, unless somebody
else beats me to it.

Cheers,

Jelmer

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 900 bytes
Desc: OpenPGP digital signature
URL: <http://lists.samba.org/pipermail/samba-technical/attachments/20120410/2939d6bf/attachment.pgp>


More information about the samba-technical mailing list