Re: ezmlm-list vs ezmlm-issubn on AMD64
Bruce Guenter <[email protected]>
| Newsgroups | gmane.mail.ezmlm |
|---|---|
| Message-ID | <[email protected]> |
On Wed, Aug 30, 2006 at 09:06:07PM -0400, Glen Stewart wrote: > I had an interesting problem crop up when migrating groups from ezmlm-idx .4x > on i686 to 5.x on AMD64... > > After the upgrade, I got lots of reports that people were unable to post to > the groups that they owned and were subscribed to. Upon investigating, I > discovered that the ezmlm-list command was able to list the subscriber, but > the ezmlm-issubn command didn't acknowledge the subscription. I can confirm this, and I know why. All subscribers are hashed down to a set of 53 directory tables, and ezmlm-idx only looks at one of those tables to determine if a subscriber exists. However, it looks at all tables when listing subscribers. The problem is that the variable used to compute the has is declared as an "unsigned long", which is a 64-bit integer on AMD64 (and any other 64-bit system) but only a 32-bit integer on ia32. This results in a differing hash code on different systems. Here's the problem, however: I can fix that to always use a 32-bit variable internally, but then any list that was created with the old version will break with the new version. I can leave it as-is, and the problem you describe will continue to happen. Either way, it's broken. > What I ended up doing was to use ezmlm-list to dump the members of each group > to a text file, delete the original subscriber data files, and rebuild them > from scratch using the ezmlm-sub command. After doing this, ezmlm-issubn AND > ezmlm-list seemed to be in sync. That's the only way to fix it, yes. > BUT, it appears the problem is creeping back again. I created a new group > yesterday, and see the same address subscribed TWICE, in the same lower-case. This however should not be possible, unless the list is being accessed by differing systems. -- Bruce Guenter <[email protected]> http://untroubled.org/ OpenPGP key: 699980E8 / D0B7 C8DD 365D A395 29DA 2E2A E96F B2DC 6999 80E8 I do custom software development. Email me for details.
signature.asc
(application/pgp-signature, 189 B)
-----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.5 (GNU/Linux) iD8DBQFFW9Ot6W+y3GmZgOgRAsMeAJ9BcbnkYGAnPcMSM/teHIAO7y6ZXQCfaGd7 DkViVRtOqSm941sACh7/A48= =Qw7V -----END PGP SIGNATURE-----