I can see how it's failing but not sure why I'm unable to reproduce. I must be executing the wrong facter binary but I'm not sure how I'm building it incorrectly. Which is why I'm asking how you're installing it. In any case, once I'm able to reproduce, it's just a one line fix. Good catch. 

On May 15, 2013, at 23:45, Hailee Kenney <notifications@github.com> wrote:

> In lib/facter/util/ip.rb:
> 
> >    end
> >  
> > -  def self.hpux_ifconfig_interface(interface)
> > -    Facter::Util::IP.exec_ifconfig([interface])
> > +  # Obtains the cooresponding Facter::Util::IP::Base subclass for the current
> > +  # kernel.
> > +  #
> > +  # @return Subclass of [Facter::Util::IP::Base]
> > +  #
> > +  # @api private
> > +  def kernel_class
> > +    kernel_classes.find { |klass| klass.to_s == Facter.value(:kernel) }
> So here is the SHA I'm working with fe71d7bcb49b47236ba720a0115af4472fcad0b1
> 
> In order to create the error I'm doing this:
> 
> $ FACTER_kernel=foo bundle exec facter        
> Error: undefined method `interfaces' for nil:NilClass
> And if you run with --trace you can see where things are blowing up:
> 
> $ FACTER_kernel=foo bundle exec facter --trace
> /Users/haileekenney/Projects/facter/lib/facter/util/ip.rb:92:in `interfaces': undefined method `interfaces' for nil:NilClass (NoMethodError)
>     from /Users/haileekenney/Projects/facter/lib/facter/util/ip.rb:229:in `refresh'
>     from /Users/haileekenney/Projects/facter/lib/facter/util/ip.rb:47:in `add_interface_facts'
>     from /Users/haileekenney/Projects/facter/lib/facter/interfaces.rb:10:in `<top (required)>'
>     from /Users/haileekenney/Projects/facter/lib/facter/util/loader.rb:96:in `load'
>     from /Users/haileekenney/Projects/facter/lib/facter/util/loader.rb:96:in `load_file'
>     from /Users/haileekenney/Projects/facter/lib/facter/util/loader.rb:47:in `block (2 levels) in load_all'
>     from /Users/haileekenney/Projects/facter/lib/facter/util/loader.rb:42:in `each'
>     from /Users/haileekenney/Projects/facter/lib/facter/util/loader.rb:42:in `block in load_all'
>     from /Users/haileekenney/Projects/facter/lib/facter/util/loader.rb:39:in `each'
>     from /Users/haileekenney/Projects/facter/lib/facter/util/loader.rb:39:in `load_all'
>     from /Users/haileekenney/Projects/facter/lib/facter/util/collection.rb:115:in `load_all'
>     from /Users/haileekenney/Projects/facter/lib/facter.rb:186:in `to_hash'
>     from /Users/haileekenney/Projects/facter/lib/facter/application.rb:45:in `run'
>     from /Users/haileekenney/Projects/facter/bin/facter:74:in `<top (required)>'
>     from /Users/haileekenney/.rvm/gems/ruby-1.9.3-p194/bin/facter:19:in `load'
>     from /Users/haileekenney/.rvm/gems/ruby-1.9.3-p194/bin/facter:19:in `<main>'
>     from /Users/haileekenney/.rvm/gems/ruby-1.9.3-p194/bin/ruby_noexec_wrapper:14:in `eval'
>     from /Users/haileekenney/.rvm/gems/ruby-1.9.3-p194/bin/ruby_noexec_wrapper:14:in `<main>'
> It looks to me like the problem is happening on line 47 of ip.rb with model.refresh since this statement is not within the confine.
> 
> Hopefully that helps! Let me know if you still need more information.
> 
> —
> Reply to this email directly or view it on GitHub.