Issue #8491 has been updated by Adrien Thebo.

Category set to library
Status changed from In Topic Branch Pending Merge to Merged - Pending Release

Merged in commit:8e944ff046ee1044a6da5aab9e94ca4dfaaaaa38
----------------------------------------
Bug #8491: "Stack level too deep" when unknown fact is requested
https://projects.puppetlabs.com/issues/8491

Author: Dominic Cleal
Status: Merged - Pending Release
Priority: High
Assignee: Adrien Thebo
Category: library
Target version: 1.6.1
Keywords: 
Branch: 
https://github.com/adrienthebo/facter/tree/ticket/master/8491-remove_multiple_fact_loading
Affected Facter version: 1.6.0


When an extra facts .rb file tries to call Facter.value(:foo) for a 
non-existent fact, Facter goes into an infinite recursion.  Eventually it fails 
with the error message "stack level too deep".

For example, stack/stack.rb contains:
    Facter.value(:foo)

When running Facter:
<pre>
$ FACTERLIB=../stack bin/facter
        [ ctrl+c, partial stack trace shown ]
        from /home/dcleal/code/facter/stack/stack.rb:1
        from /home/dcleal/code/facter/facter/lib/facter/util/loader.rb:73:in 
`load'
        from /home/dcleal/code/facter/facter/lib/facter/util/loader.rb:73:in 
`load_file'
        from /home/dcleal/code/facter/facter/lib/facter/util/loader.rb:38:in 
`load_all'
        from /home/dcleal/code/facter/facter/lib/facter/util/loader.rb:33:in 
`each'
        from /home/dcleal/code/facter/facter/lib/facter/util/loader.rb:33:in 
`load_all'
        from /home/dcleal/code/facter/facter/lib/facter/util/loader.rb:30:in 
`each'
        from /home/dcleal/code/facter/facter/lib/facter/util/loader.rb:30:in 
`load_all'
        from 
/home/dcleal/code/facter/facter/lib/facter/util/collection.rb:73:in `fact'
        from 
/home/dcleal/code/facter/facter/lib/facter/util/collection.rb:118:in `value'
        from /home/dcleal/code/facter/facter/lib/facter.rb:97:in `send'
        from /home/dcleal/code/facter/facter/lib/facter.rb:97:in `value'
        from /home/dcleal/code/facter/stack/stack.rb:1
        from /home/dcleal/code/facter/facter/lib/facter/util/loader.rb:73:in 
`load'
        from /home/dcleal/code/facter/facter/lib/facter/util/loader.rb:73:in 
`load_file'
        from /home/dcleal/code/facter/facter/lib/facter/util/loader.rb:38:in 
`load_all'
        from /home/dcleal/code/facter/facter/lib/facter/util/loader.rb:33:in 
`each'
        from /home/dcleal/code/facter/facter/lib/facter/util/loader.rb:33:in 
`load_all'
        from /home/dcleal/code/facter/facter/lib/facter/util/loader.rb:30:in 
`each'
        from /home/dcleal/code/facter/facter/lib/facter/util/loader.rb:30:in 
`load_all'
        from 
/home/dcleal/code/facter/facter/lib/facter/util/collection.rb:94:in `load_all'
        from /home/dcleal/code/facter/facter/lib/facter.rb:103:in `to_hash'
        from /home/dcleal/code/facter/facter/lib/facter/application.rb:26:in 
`run'
        from /home/dcleal/code/facter/facter/bin/facter:60
</pre>

The bug first appears after this commit:
<pre>
2255abee7bdb9b6478ca228546e3d275dbac0ec3 is the first bad commit
commit 2255abee7bdb9b6478ca228546e3d275dbac0ec3
Author: Nick Lewis <[email protected]>
Date:   Tue May 31 13:14:18 2011 -0700

    (#7670) Never fail to find a fact that is present</pre>


-- 
You have received this notification because you have either subscribed to it, 
or are involved in it.
To change your notification preferences, please click here: 
http://projects.puppetlabs.com/my/account

-- 
You received this message because you are subscribed to the Google Groups 
"Puppet Bugs" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/puppet-bugs?hl=en.

Reply via email to