[Spread-users] spread 4 bug on all platforms?
John Schultz
jschultz at spreadconcepts.com
Fri May 5 12:18:35 EDT 2006
Ed,
Thank you very much for the detailed core dump. I traced down the code
and there does seem to be a bug in G_compare_proc_ids_by_conf or
G_compare_daemon_vs_set. G_compare_daemon_vs_set calls
G_compare_proc_ids_by_conf like this:
G_compare_proc_ids_by_conf(&da->proc_id, &db->proc_id);
da->proc_id and db->proc_id are int32, so the call is passing two int32*
to G_compare_proc_ids_by_conf. But then in that function the pointers
are cast to int32** and then dereferenced twice. This is of course
incorrect and could cause all of the daemons to crash or at least misbehave.
I need to figure out which function is doing the wrong thing and then I
will commit the fix to SVN/CVS. I will also post my fix to the mailing
list so you can just manually update your code if you like.
Thanks!
John
Ed Holyat wrote:
>
> Has anyone run across a bug in this area of the membership code? It
> brings down all daemons when encountered and it is not readily
> reproducible at this point.
>
> spread.exe!G_compare_proc_ids_by_conf(const void *
> a=0x00f5d0d8, const void * b=0x007b8b38) Line 198 + 0x9 C
>
> spread.exe!G_compare_daemon_vs_set(const void * a=0x01266c8c,
> const void * b=0x00f9ecfc) Line 213 + 0x1b C
>
> spread.exe!stdskl_low_key_cmp(const stdskl * l=0x00127810,
> const void * k1=0x01266c8c, const void * k2=0x00f9ecfc) Line 59 +
> 0x35 C
>
> spread.exe!stdskl_low_insert(stdskl * l=0x00127810, stdit *
> it=0x00000000, const stdit * b=0x001277e4, const stdit * e=0x00000000,
> unsigned int num_ins=2, int hint=1, int overwrite=1, int advance=1)
> Line 346 + 0x4c C
>
> spread.exe!stdskl_put_seq_n(stdskl * l=0x00127810, stdit *
> it=0x00000000, const stdit * b=0x001277e4, unsigned int num_put=4, int
> hint=0) Line 946 + 0x1f C
>
> spread.exe!G_build_memb_vs_buf(dummy_group * grp=0x003e1448,
> dummy_big_scatter * msg=0x0129e2a8, char * buf=0x00491238, int
> caused=2048, dummy_member * joiner=0x00000000) Line 1743 + 0x3d C
>
>> spread.exe!G_send_heavyweight_join(dummy_group *
> grp=0x003e1448, dummy_member * joiner=0x00000000, int new_mbox=-1)
> Line 1242 + 0x1b C
>
> spread.exe!G_send_heavyweight_memb(dummy_group *
> grp=0x003e1448) Line 1223 + 0xd C
>
> spread.exe!G_handle_reg_memb(dummy_configuration
> reg_memb={...}, dummy_membership_id reg_memb_id={...}) Line 378 + 0x9 C
>
> spread.exe!Sess_deliver_reg_memb(dummy_configuration
> reg_memb={...}, dummy_membership_id reg_memb_id={...}) Line 1914 +
> 0x29 C
>
> spread.exe!Discard_packets() Line 1184 + 0x25 C
>
> spread.exe!Prot_handle_token() Line 647 C
>
> spread.exe!E_handle_events() Line 683 + 0x5d C
>
> spread.exe!_run_main(int argc=1, char * * argv=0x003e1620)
> Line 211 C
>
> spread.exe!main(int argc=1, char * * argv=0x003e1620) Line
> 139 + 0xd C
>
> spread.exe!mainCRTStartup() Line 259 + 0x12 C
>
> kernel32.dll!7c816d4f()
>
> kernel32.dll!7c8399f3()
>
>
>
> Ed Holyat
>
> Open Link Financial, Inc.
>
> (516) 394-1231
>
> (516) 227-6600 x 231
>
> _www.olf.com_
>
>------------------------------------------------------------------------
>
>_______________________________________________
>Spread-users mailing list
>Spread-users at lists.spread.org
>http://lists.spread.org/mailman/listinfo/spread-users
>
>
---
John Schultz
Spread Concepts LLC
Phn: 301 498 3233
Cell: 443 838 2200
More information about the Spread-users
mailing list