-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
On 12/17/2010 05:22 PM, Dmitri Pal wrote:
Stephen Gallagher wrote:
> On 11/28/2010 08:52 PM, Dmitri Pal wrote:
>> Hello,
>
>> Thanksgiving was productive... ;-)
>> Please find attached 12 patches that I worked over the weekend.
>> Each patch has a thorough description inside the patch comment.
>> Some of them are independent but some rely on the previous patches so in
>> general it is better to apply them in order.
>> I tried to keep them small and readable.
>
>
>
> Nack.
>
> ini_parse_ut throws a segfault during "make distcheck".
>
> Backtrace:
> (gdb) bt full
> #0 col_destroy_collection_with_cb (ci=0xd0d0d0d0d0d0d0d, cb=0,
> custom_data=0x0) at ../collection/collection.c:2277
> header = <error reading variable header (Cannot access memory at
> address 0xd0d0d0d0d0d0d2d)>
> #1 0x00007fe99f3b80ea in ini_config_file_close (file_ctx=0x96dc10) at
> ../ini/ini_fileobj.c:82
> No locals.
> #2 0x00007fe99f3b830a in ini_config_file_open (filename=0x7fffa04ffdf0
> "../real.conf.out", error_level=1, collision_flags=0, metadata_flags=0,
> file_ctx=0x7fffa04fbdb0) at ../ini/ini_fileobj.c:151
> error = <value optimized out>
> new_ctx = 0x96dc10
> #3 0x0000000000400fdb in test_one_file (in_filename=0x7fffa04ffdf0
> "../real.conf.out", out_filename=0x7fffa04fedf0
"../real.conf.2.out")
> at ../ini/ini_parse_ut.c:68
> error = 0
> file_ctx = 0x0
> ff = 0x0
> ini_config = 0x9693f0
> ini_copy = 0x0
> error_list = 0x0
> sbobj = 0x0
> left = 0
> #4 0x0000000000401413 in read_again_test () at ../ini/ini_parse_ut.c:219
> error = 0
> i = <value optimized out>
> infile = "../real.conf.out\000.conf\000f", '\000'
<repeats 432
> times>, "D\374\240\327\071", '\000' <repeats 11
times>"\320,
> ]\341\327\071", '\000' <repeats 11 times>,
"2\201\240\327\071", '\000'
> <repeats 47 times>, "\001", '\000' <repeats 187
times>,
> "D\374\240\327\071", '\000' <repeats 11 times>"\220,
> y\236\351\177\000\000\000\000\000\000\000\000\000\000\062\201\240\327\071",
> '\000' <repeats 47 times>, "\001", '\000' <repeats
139 times>,
> "D\374\240\327\071", '\000' <repeats 11 times>"\312,
> \346^\351\177\000\000\000\000\000\000\000\000\000\000\062\201\240\327\071",
> '\000' <repeats 47 times>, "\001", '\000' <repeats
27 times>,
> ">m\240\327\071", '\000' <repeats 69 times>"\340,
>
\327\071\000\000\000\000\240\371\327\071\000\000\000\244\222\371\327\071\000\000\000\244"...
> outfile = "../real.conf.2.out", '\000' <repeats 4077
times>
> srcdir = 0x7fffa0501e6b ".."
> command = '\000' <repeats 7096 times>,
"\032\224\240\327\071",
> '\000' <repeats 11 times>, "`\332O\240\377\177",
'\000' <repeats 11
> times>"\334, O\240\377\177\000\000\006\000\000\000\000\000\000\000
> \333^\351\177\000\000CY\207\377\000\000\000\000\263\235\240\327\071",
> '\000' <repeats 11 times>,
> "0\334O\240\377\177\000\000\003\000\000\000\000\000\000\000
>
\333^\351\177\000\000\302\301]\266\000\000\000\000\263\235\240\327\071\000\000\000`<\340\327\071\000\000\000\aw\331\002\000\000\000\000\002\000\000\000\000\000\000\000\b\000\000\000\000\000\000\000d\002\372\236\351\177\000\000\220\332O\240\377\177\000\000h\002\372\236\351\177\000\000\310\005\372\236\351\177\000\000
>
\345:\237\351\177\000\000\000\000\000\000\000\000\000\000\340\334^\351\177\000\000\370\324^\351\177\000\000\037\006\372\236\351\177\000\000\000\b\341\327\071\000\000\000
> \345:\237\351\177", '\000' <repeats 18 times>, "
>
\345:\237\351\177\000\000\347\006\372\236\351\177\000\000\340\005\372\236\351\177\000\000\310"...
> files = {0x4020f7 "real", 0x4020fe "mysssd", 0x402105
"ipa",
> 0x402109 "test", 0x0}
> #5 0x0000000000401f67 in main (argc=<value optimized out>, argv=<value
> optimized out>) at ../ini/ini_parse_ut.c:458
> error = <value optimized out>
> tests = {0x4014a0 <read_save_test>, 0x401310 <read_again_test>,
> 0x401970 <merge_values_test>, 0}
> t = <value optimized out>
> i = <value optimized out>
> var = <value optimized out>
>
>
>
> It looks like there are two problems here:
> 1) real.conf is not configured to use $(srcdir) (or the env var SRCDIR)
> to be located
> 2) ini_config_file_open() is segfaulting if the file doesn't exist.
>
I think the segfault is one of the issues that coverity has found.
But I wonder what is different between make check and make distcheck and
why it works for make check?
'make distcheck' creates a tarball from the current sources, then
extracts them to a new directory, configures them in a parallel build
dir and then runs the build and all the checks.
If I manually do:
make dist
tar xfz ding-libs-0.2.0.tar.gz
cd ding-libs-0.2.0/
./configure && make check
It fails there as well. My conclusion is that you're forgetting to
include a file in the distribution somewhere (I don't yet know which one).
I do not know how you want me to handle this... I doubt I will be able
to send patches before the long weekend.
I will see what I can come up over this weekend. Let us talk on Monday.
_______________________________________________
sssd-devel mailing list
sssd-devel(a)lists.fedorahosted.org
https://fedorahosted.org/mailman/listinfo/sssd-devel
- --
Stephen Gallagher
RHCE 804006346421761
Delivering value year after year.
Red Hat ranks #1 in value among software vendors.
http://www.redhat.com/promo/vendor/
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.11 (GNU/Linux)
Comment: Using GnuPG with Fedora -
http://enigmail.mozdev.org/
iEYEARECAAYFAk0PXXkACgkQeiVVYja6o6NKigCeOs12Ih3LNgQnMHCjw9Ihc55c
UGUAoImmLL1ydaiOwFPEtWpztQvc02Ei
=0/5p
-----END PGP SIGNATURE-----