When a puppet master is running under rack the first few seconds of running will cause it to use the wrong modules if the [main] section has a different modulepath (or environmentpath) from the [master] section.
Given a rack master with the following puppet.conf:
Install puppetlabs-stdlib into the /tmp/main-modules directory:
Restart the apache master (this is the command if you installed the puppetmaster-passenger package for debian):
Run the agent:
The agent will run and start to download the stdlib functions as part of pluginsync. Part way through downloading it will start failing to fetch files with the reason that the files don't exist.
The agent shouldn't pluginsync anything because the master's modulepath doesn't include any modules.