You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@deltacloud.apache.org by "Koper, Dies" <di...@fast.au.fujitsu.com> on 2013/04/23 01:26:40 UTC

500: [SystemStackError] stack level too deep when curling DC for a url that needs credentials

Hi Michal,

I thought you may be interested in this one:

When I list /cimi/cloudEntryPoint, it works fine.
When I list something that requires credentials
(/cimi/systems?format=xml), I get an error:

<error status='500' url='/cimi/systems'>
  <backend driver='fgcp' provider='default'></backend>
  <code>500</code>
  <message><![CDATA[stack level too deep]]></message>
  <backtrace>
 
<![CDATA[/home/dc/deltacloud/server/lib/deltacloud/helpers/driver_helper
.rb:57]]>
  </backtrace>
  <request>
    <param name='format'><![CDATA["xml"]]></param>
    <param name='splat'><![CDATA[[]]]></param>
    <param name='captures'><![CDATA[[#<SystemStackError: stack level too
deep>]]]></param>
  </request>
</error>

Adding a puts on the NameError gives:
uninitialized constant Deltacloud::Drivers::Fgcp

driver_source_name gives ../drivers/fgcp/fgcp_driver.rb

Line 57 has:
        require_relative(driver_source_name) ? retry :
raise(LoadError.new(e.message))

Looks like whatever caused the NameError is causing an infinite loop due
to the retry?
Relative patch from driver_helper.rb to fgcp_driver.rb looks fine, file
is at that location on my machine.

Any idea what caused the error and should the infinite loop be guarded
against or is it a rare case?

I'm running DC as a daemon on CentOS, current master repo, ruby
1.9.3p392 (2013-02-22 revision 39386) [x86_64-linux]:
I'm starting it with:
~/deltacloud/server/bin/deltacloudd -i fgcp -f cimi -r 192.168.0.12 -d
-c -u dc -g dc

With ~/.deltacloud/config containing credentials for fgcp:
fgcp:
  user: user
  password: mypwd

Cheers,
Dies Koper