Opened 10 years ago

Closed 10 years ago

#10 closed defect (fixed)

bind10 may use old msgq process

Reported by: jreed Owned by: shane
Priority: medium Milestone:
Component: ~Inter-module communication(obsolete) Version:
Keywords: msgq bind10 Cc:
CVSS Scoring: Parent Tickets:
Sensitive: no Defect Severity:
Sub-Project: Feature Depending on Ticket:
Estimated Difficulty: Add Hours to Ticket:
Total Hours: Internal?:

Description (last modified by jreed)

I was running latest parkinglot yesterday and noticed it sometimes started up fine and other times would hang at:

BIND 10 v20091030 (Paving the DNS Parking Lot)
Starting msgq using port 9912
Started msgq (PID 24325)

I tracked this down to my system running two msgq daemons including this old one:

reed      24468  0.0  0.0 2268   740 ttyp1- IWl  27Oct09  0:00.01 ./msgq 

When I killed that msgq daemon from over a month ago, my new bind10 crashed:

Traceback (most recent call last):
  File "", line 347, in <module>
    startup_result = boss_of_bind.startup()
  File "", line 119, in startup
    self.cc_session = ISC.CC.Session(self.c_channel_port)
  File "/home/reed/work/isc/bind10/svn/branches/parkinglot/src/lib/cc/python/ISC/CC/", line 41, in __init__
    self._lname = msg["lname"]
TypeError: 'NoneType' object is not subscriptable

And then bind10 would start fine.


Change History (4)

comment:1 Changed 10 years ago by jelte

There's actually a few different ways to deal with this;

  1. make cc-channel so that multiple msgqs can be run
  2. make boss kill any existing msgqs (i.e. assume only bind10 uses it), then always start a new one
  3. don't start own if there is an existing one and connect to that one (but needs version check then if that isn't there yet)

comment:2 Changed 10 years ago by jreed

  • Description modified (diff)

comment:3 Changed 10 years ago by shane

  • Owner set to shane
  • Status changed from new to accepted

comment:4 Changed 10 years ago by shane

  • Resolution set to fixed
  • Status changed from accepted to closed

BIND 10 now refuses to start if there is already a msgq running.

Note: See TracTickets for help on using tickets.