Follow-up Comment #14, bug #15757 (project make):
So this is what's goig on:
merge_variable_set_lists is being called with two non-disjoint lists with the
second list longer than the first. The last part of the function where the
tail of list1 is appended to list0 results in a circular list.
In this particular instance (*setlist0)->next points to global_setlist,
setlist1->next->next->next also points to global_setlist. This is the
situation before merge_variable_set_lists is called:
(dbx) where
[1] _kill(0x0, 0x6, 0xffbfe0f8, 0x0, 0x0, 0x0), at 0xff31ffb0
[2] abort(0x4b, 0xffbfe188, 0x4b, 0x7efefeff, 0x81010100, 0xff00), at
0xff2b6ce0
[3] __assert(0x73c7c, 0x73c9c, 0x2f7, 0x0, 0x6b007261, 0x6b007261), at
0xff2b6f80
=>[4] merge_variable_set_lists(setlist0 = 0xf2ea8, setlist1 = 0x3cfbf98),
line 759 in "variable.c"
[5] rehash_file(from_file = 0xb71e98, to_hname = 0x3d0c728
"/view/normanw_9.1/vobs/CONNECT_ROOT/bin/rules.mk"), line 294 in "file.c"
[6] f_mtime(file = 0xb71e98, search = 1), line 1245 in "remake.c"
[7] check_dep(file = 0xb71e98, depth = 3U, this_mtime = 1ULL, must_make_ptr
= 0xffbfe668), line 969 in "remake.c"
[8] check_dep(file = 0xd7ff0, depth = 2U, this_mtime = 1ULL, must_make_ptr
= 0xffbfe71c), line 1008 in "remake.c"
[9] update_file_1(file = 0x970d8, depth = 1U), line 505 in "remake.c"
[10] update_file(file = 0x970d8, depth = 0), line 307 in "remake.c"
[11] update_goal_chain(goals = 0x1edc00), line 156 in "remake.c"
[12] main(argc = 5, argv = 0xffbff594, envp = 0xffbff5ac), line 2203 in
"main.c"
(dbx) print &global_setlist
&global_setlist = 0x870e4
(dbx) print **setlist0
**setlist0 = {
(**setlist0).next = 0x870e4
(**setlist0).set = 0x2ac8b40
}
(dbx) print *setlist1->next->next
*setlist1->next->next = {
(*setlist1->next->next).next = 0x870e4
(*setlist1->next->next).set = 0x2be45c8
}
I'm currently investigating rehash_file to try and find the root cause.
_______________________________________________________
Reply to this item at:
<http://savannah.gnu.org/bugs/?func=detailitem&item_id=15757>
_______________________________________________
Message sent via/by Savannah
http://savannah.gnu.org/
_______________________________________________
Bug-make mailing list
[email protected]
http://lists.gnu.org/mailman/listinfo/bug-make