Stephen Gallagher wrote:
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
Ah I see, how I understand. I added a new test config file and have not
added it to the distro.
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
_______________________________________________
sssd-devel mailing list
sssd-devel(a)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/