[SSSD] [PATCHES] Ding-libs patches.

Dmitri Pal dpal at redhat.com
Fri Dec 17 22:22:06 UTC 2010


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?

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 at lists.fedorahosted.org
https://fedorahosted.org/mailman/listinfo/sssd-devel

-- 
Thank you,
Dmitri Pal

Sr. Engineering Manager IPA project,
Red Hat Inc.


-------------------------------
Looking to carve out IT costs?
www.redhat.com/carveoutcosts/




More information about the sssd-devel mailing list