ypbind won't start on Feisty (without -no-dbus)

Bug #90693 reported by Roland Dreier
6
Affects Status Importance Assigned to Milestone
nis (Debian)
Fix Released
Unknown
nis (Ubuntu)
In Progress
Undecided
Mark Brown

Bug Description

Binary package hint: nis

I use NIS/ypbind to get my account information on my workstation.

After my latest update of Feisty packages, I discovered that ypbind was stuck (apparently blocked on a dbus socket) and so I couldn't use NIS to login. Adding "-no-dbus" to the ypbind options in /etc/default/nis fixed things for me.

My workstation just has a single wired ethernet interface, configured with a static IP in /etc/network/interfaces. At some point after I upgraded from Edgy to Feisty, a network manager status bar icon showed up in my panel, but network manager doesn't show my wired network (just a grayed out "no network devices have been found").

Not sure if this is an edgy->feisty upgrade issue (perhaps network manager wasn't configured correctly) or a bug in the nis/network manager integration.

Revision history for this message
Mark Brown (broonie) wrote :

Could you please supply the output from 'nm-tool' (this will dump diagnostic information about what Network Manager thinks is going on)?

If Network Manager is running then ypbind does a blocking DBUS call to query the network interface status - I expect this is what is blocking.

Revision history for this message
Roland Dreier (roland.dreier) wrote :

Here's the output:

$ nm-tool

NetworkManager Tool

State: disconnected

print_devices(): didn't get a reply from NetworkManager.
There are no available network devices.

And just for the record (my exact IPs removed):

 $ cat /etc/network/interfaces
auto lo
iface lo inet loopback

auto eth0
iface eth0 inet static
address ---.---.---.---
netmask 255.255.254.0
gateway ---.---.---.---

auto eth1
iface eth1 inet dhcp

auto eth2
iface eth2 inet dhcp

auto ath0
iface ath0 inet dhcp

auto wlan0
iface wlan0 inet dhcp

Revision history for this message
Mark Brown (broonie) wrote :

Hrm. On the one hand that's not what I'd consider helpful output from Network Manager - I'm guessing that it has refused to play with eth0. On the other hand ypbind ought to be able to handle the situation better. The block on the dbus socket you're seeing is actually ypbind waiting for events from Network Manager telling it there's a network to use but since none will ever appear and Network Manager tells it the network is disconnected it sits waiting for that.

My initial thought is that ypbind ought to treat the Network Manager online/offline notifications as advisory, triggering rediscovery or new pings, rather than placing complete faith in their dubious accuracy (see the linked Debian bug for another example of misbehaviour).

Revision history for this message
Mark Brown (broonie) wrote :

Problem can be seen by comparing Network Manager output & code; it really seems like a Network Manager bug too but robustness seems good and this'd also break with a local master.

Changed in nis:
status: Unconfirmed → Confirmed
Changed in nis:
status: Unknown → Unconfirmed
Revision history for this message
Mark Brown (broonie) wrote :

Started work on this yesterday - suggested fix has trouble if we're in the middle of a broadcast.

Changed in nis:
assignee: nobody → broonie
status: Confirmed → In Progress
Revision history for this message
Jason McMullan (jason-mcmullan) wrote :

I also see this.

I my case, I have bound two ethernets together, and the Network manager thinks I'm disconnected.

----------- /etc/network/interfaces
# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).

# The loopback network interface
auto lo
iface lo inet loopback
address 127.0.0.1
netmask 255.0.0.0

iface eth1 inet manual
#iface eth1 inet dhcp
# hostname mcmullan-linux
# client mcmullan-linux
#
iface eth0 inet manual
#iface eth0 inet dhcp
# hostname mcmullan-linux-2
# client mcmullan-linux-2

auto bond0
iface bond0 inet dhcp
        hostname mcmullan-linux
        hwaddress ether 00:11:25:F5:42:EB
        pre-up ifconfig bond0 up
        pre-up ifenslave bond0 eth1 eth0
        post-down ifenslave -d bond0 eth1 eth0

------- nm-tool
root@mcmullan-linux:~# nm-tool

NetworkManager Tool

State: disconnected

print_devices(): didn't get a reply from NetworkManager.
There are no available network devices.

------ /sbin/ifconfig

bond0 Link encap:Ethernet HWaddr 00:11:25:F5:42:EB
          inet addr:10.98.27.52 Bcast:10.98.27.255 Mask:255.255.255.0
          inet6 addr: fe80::211:25ff:fef5:42eb/64 Scope:Link
          UP BROADCAST RUNNING MASTER MULTICAST MTU:1500 Metric:1
          RX packets:3851572 errors:0 dropped:2965 overruns:0 frame:0
          TX packets:5350513 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:2505085247 (2.3 GiB) TX bytes:2379203556 (2.2 GiB)

eth0 Link encap:Ethernet HWaddr 00:04:76:3B:39:25
          UP BROADCAST RUNNING SLAVE MULTICAST MTU:1500 Metric:1
          RX packets:238410 errors:0 dropped:0 overruns:0 frame:0
          TX packets:2166984 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:30645895 (29.2 MiB) TX bytes:954516081 (910.2 MiB)
          Interrupt:20

eth1 Link encap:Ethernet HWaddr 00:11:25:F5:42:EB
          UP BROADCAST RUNNING SLAVE MULTICAST MTU:1500 Metric:1
          RX packets:3613162 errors:0 dropped:2965 overruns:0 frame:0
          TX packets:3183529 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:2474439352 (2.3 GiB) TX bytes:1424687475 (1.3 GiB)
          Interrupt:19

Revision history for this message
Mark Brown (broonie) wrote :

Upstream believes that the only sane fix is for Network Manager to not start if it can't support the system. I'm beginning to agree with them on that although I'm still looking at workarounds off and on.

The set of network configurations Network Manager supports is really very limited; either deinstall Network Manager or use -no-dbus until this is fixed.

Revision history for this message
Roland Dreier (roland.dreier) wrote :

Yes, I added

YPBINDARGS=-no-dbus

to my /etc/default/nis to work around this issue. (Removing network-manager isn't that appealing, since it would require removing ubuntu-desktop and possibly losing out if new packages are added to the ubuntu-desktop metapackage)

By the way, for the record, at some point Network Manager started being able to cope with my network config; nm-tool now shows:

NetworkManager Tool

State: connected

- Device: eth0 ----------------------------------------------------------------
  NM Path: /org/freedesktop/NetworkManager/Devices/eth0
  Type: Wired
  Driver: e1000
  Active: yes
  HW Address: 00:19:D1:02:13:C8

  Capabilities:
    Supported: yes
    Carrier Detect: yes
    Speed: 100 Mb/s

  Wired Settings
    Hardware Link: yes

  IP Settings:
    IP Address: ---.---.---.---
    Subnet Mask: 255.255.254.0
    Broadcast: ---.---.---.---
    Gateway: ---.---.---.---
    Primary DNS: ---.---.---.---
    Secondary DNS: ---.---.---.---

(with correct info for the IP addresses I've removed).

I'm not sure which Feisty update fixed NM for me, but I guess I could revert my -no-bus option now. However I don't see any particular advantage to doing that given the fact that my config is totally static.

Changed in nis:
status: Unconfirmed → Confirmed
Changed in nis:
status: Confirmed → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.