             cb : required
         if @_address_cbs?
             @_address_cbs.push(opts.cb)
+            dbg("address already running, so adding callback to queue; it now has length #{@_address_cbs.length}")
             return
         @_synctable?.connect()
         @_address_cbs = [opts.cb]

                    cb(err)
            start_delay : 3000
            max_delay   : 15000
            max_time    : 3600*1000
            cb          : (err) =>
                if not address and not err
                    err = "failed to get address"
                for cb in @_address_cbs
                    cb(err, address)
                delete @_address_cbs

    copy_path: (opts) =>
        opts = defaults opts,

            cb(err, address)
        )

    # This will keep trying for up to 5 minutes to get the address, with exponential
    # decay backing off up to 15s between attempts.
    # If/when it works, the returned address object will definitely have the
    # host, port and secret_token set.
