Great Circle Associates Majordomo-Workers
(November 1993)
 

Indexed By Date: [Previous] [Next] Indexed By Thread: [Previous] [Next]

Subject: I may have finally found the "subscribe" bug...
From: Brent Chapman <brent @ mycroft . GreatCircle . COM>
Date: Mon, 15 Nov 1993 14:09:18 -0800
To: majordomo-workers @ GreatCircle . COM

I think I just might have finally found the bug that occasionally causes
"subscribe" to trash a Majordomo-managed mailing list by partially
overwriting existing addresses, rather than appending the new one to
the end.

&do_subscribe calls &is_list_member to see if someone is already a
member of the list before appending them again.  To keep another Majordomo
process from modifying the list while this is in progress, &do_subscribe
locks and opens the list file for appending before calling &is_list_member.
Well, turns out &is_list_member happened to be using the same filehandle
("LIST") as &do_subscribe, and I'd neglected to make it local to
&is_list_member...  Oops.

Here's the patch to majordomo.pl.  Give this a try, and let me know if
you still see the overwrite problem after you've applied the patch.


-Brent
--
Brent Chapman                                   Great Circle Associates
Brent@GreatCircle.COM                           1057 West Dana Street
+1 415 962 0841                                 Mountain View, CA  94041

*** /tmp/T0a16480	Mon Nov 15 14:03:54 1993
--- majordomo.pl	Mon Nov 15 13:56:29 1993
***************
*** 1,12 ****
  # General subroutines for Majordomo
  
  # $Source: /mycroft/brent/majordomo/RCS/majordomo.pl,v $
! # $Revision: 1.20 $
! # $Date: 1993/08/31 00:36:46 $
  # $Author: brent $
  # $State: Exp $
  # 
! # $Header: /mycroft/brent/majordomo/RCS/majordomo.pl,v 1.20 1993/08/31 00:36:46 brent Exp $
  # 
  # $Locker:  $
  # 
--- 1,12 ----
  # General subroutines for Majordomo
  
  # $Source: /mycroft/brent/majordomo/RCS/majordomo.pl,v $
! # $Revision: 1.21 $
! # $Date: 1993/11/15 21:55:38 $
  # $Author: brent $
  # $State: Exp $
  # 
! # $Header: /mycroft/brent/majordomo/RCS/majordomo.pl,v 1.21 1993/11/15 21:55:38 brent Exp $
  # 
  # $Locker:  $
  # 
***************
*** 374,379 ****
--- 374,380 ----
      local($listdir) = shift;
      local($clean_list) = shift;
      local($matches);
+     local(*LIST);
  
      open(LIST, "$listdir/$clean_list")
  	|| &main'abort("Can't read $listdir/$clean_list: $!");

Indexed By Date Previous: New Majordomo "archive" toy
From: Brent Chapman <brent@mycroft.GreatCircle.COM>
Next: How much error checking is good, new config file release
From: "John P. Rouillard" <rouilj@terminus.cs.umb.edu>
Indexed By Thread Previous: New Majordomo "archive" toy
From: Brent Chapman <brent@mycroft.GreatCircle.COM>
Next: How much error checking is good, new config file release
From: "John P. Rouillard" <rouilj@terminus.cs.umb.edu>

Google
 
Search Internet Search www.greatcircle.com