Juniper MCD decided to coredump on commit and rollback

On a Juniper EX3300 a colleague of mine entered an invalid statement:

interface-range some_ports {
    member ge0/0/2;
    member-range ge-0/0/0 to ge-0/0/1;
}

The member ge0/0/2 is missing a - between ge and 0/0/2. Juniper (for whatever reason) accepted the input but mcd decided to segfault when asked to delete or rollback the configuration.

pid 75982 (mgd), uid 0: exited on signal 11 (core dumped)

Recovering from that case is actually not that hard. You just know the right command(s) ;-)

You can load an older configuration via the load override <config file> command. I did also try the load replace <config file> command but that also segfaulted..

andi@foo# load override ?
Possible completions:
  <filename>           Filename (URL, local, remote, or floppy)
  db/                  Last changed: Oct 27 10:44:35
  juniper.conf+.gz     Size: 6000, Last changed: Nov 08 15:12:55
  juniper.conf.1.gz    Size: 5913, Last changed: Jun 30 13:36:52
  juniper.conf.2.gz    Size: 5881, Last changed: Jun 30 12:59:25
  juniper.conf.3.gz    Size: 5280, Last changed: Jun 30 12:54:02
  [...]
{master:0}[edit]
andi@foo# load override juniper.conf+.gz
load complete

In my case the juniper.conf+.gz was the desired config file. I recommend inspecting those files before loading them (they are stored in /config/).

Comments

Comments powered by Disqus