On Tue, 23 Apr 2002 11:09:00 +1000,
Keith Owens <[EMAIL PROTECTED]> wrote:
>On 22 Apr 2002 17:16:31 -0700,
>Thomas Duffy <[EMAIL PROTECTED]> wrote:
>>hrm. don't seem to have a core. lemme redo it with core dumps turned
>>on. since this is intermittent, I might need to try for a few times to
>>get it to fail...
>>tduffy@curie:/tmp/kbuild21$ ./scripts/pp_dbdump > /tmp/dbdump
>>unknown record, type l (108), recno 7693413, length 20
>
>'lude', data overwrite somewhere. That explains the failing assertion,
>record C-39973 has been overwritten. I will go and stare at the code.
Tom, please try this against core-6. Using a key directly from a
database record for an operation that might move records is wrong.
diff -ur 2.4.18-kbuild-2.5/scripts/pp_db.c 2.4.18-kbuild-2.5.new/scripts/pp_db.c
--- 2.4.18-kbuild-2.5/scripts/pp_db.c Thu Apr 25 11:35:38 2002
+++ 2.4.18-kbuild-2.5.new/scripts/pp_db.c Thu Apr 25 11:28:42 2002
@@ -802,14 +813,15 @@
new_db_##l##_list(PPDB * db, DB_TOKEN *list_p)
\
{ \
DB_REC_##U##_LIST d, *c = &d; \
- datum key = { \
- .dptr = (DPTR_T) list_p, \
- .dsize = sizeof (*list_p) \
- }; \
+ DB_TOKEN token; \
+ datum key; \
assert(DB_IS_NULL_TOKEN(*list_p)); \
memset(c, 0, sizeof (*c)); \
__empty_db_##l##_list \
assign_db_key(DB_RECTYPE_##U##_LIST, list_p); \
+ token = *list_p; \
+ key.dptr = (DPTR_T) &token; \
+ key.dsize = sizeof (token); \
new_db_chunk(db, key, c, sizeof(*c), 0, 0); \
} \
\
_______________________________________________
kbuild-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/kbuild-devel