SystemStackError -Logging error with require 'dicom' + include DICOM
That's the only log I am getting.
SystemStackError (stack level too deep): dicom (0.9.6) lib/dicom/general/logging.rb:148
Ruby 1.9.3 dicom 0.9.6 Ubuntu 16.04.3
I've never seen this behaviour before. Quite strange. Are you able to try with a more recent version of Ruby?
Regards, Chris
Even I am getting this error, though not sure if it is ruby-dicom error. Rails 4.0.9 application using ruby-dicom was working fine. Recently added code to upload the files to AWS-S3 and started getting this error. Here is the trace from console.
Loading production environment (Rails 4.0.9)
2.2.9 :001 > s3 = Aws::S3::Resource.new
SystemStackError: stack level too deep
from /usr/local/rvm/gems/ruby-2.2.9/gems/dicom-0.9.8/lib/dicom/general/logging.rb:148:in logger' from /usr/local/rvm/gems/ruby-2.2.9/gems/dicom-0.9.8/lib/dicom/general/logging.rb:148:in logger'
from /usr/local/rvm/gems/ruby-2.2.9/gems/dicom-0.9.8/lib/dicom/general/logging.rb:148:in logger' from /usr/local/rvm/gems/ruby-2.2.9/gems/dicom-0.9.8/lib/dicom/general/logging.rb:148:in logger'
from /usr/local/rvm/gems/ruby-2.2.9/gems/dicom-0.9.8/lib/dicom/general/logging.rb:148:in logger' from /usr/local/rvm/gems/ruby-2.2.9/gems/dicom-0.9.8/lib/dicom/general/logging.rb:148:in logger'
from /usr/local/rvm/gems/ruby-2.2.9/gems/dicom-0.9.8/lib/dicom/general/logging.rb:148:in logger' from /usr/local/rvm/gems/ruby-2.2.9/gems/dicom-0.9.8/lib/dicom/general/logging.rb:148:in logger'
from /usr/local/rvm/gems/ruby-2.2.9/gems/dicom-0.9.8/lib/dicom/general/logging.rb:148:in logger' from /usr/local/rvm/gems/ruby-2.2.9/gems/dicom-0.9.8/lib/dicom/general/logging.rb:148:in logger'
from /usr/local/rvm/gems/ruby-2.2.9/gems/dicom-0.9.8/lib/dicom/general/logging.rb:148:in logger' from /usr/local/rvm/gems/ruby-2.2.9/gems/dicom-0.9.8/lib/dicom/general/logging.rb:148:in logger'
from /usr/local/rvm/gems/ruby-2.2.9/gems/dicom-0.9.8/lib/dicom/general/logging.rb:148:in logger' from /usr/local/rvm/gems/ruby-2.2.9/gems/dicom-0.9.8/lib/dicom/general/logging.rb:148:in logger'
from /usr/local/rvm/gems/ruby-2.2.9/gems/dicom-0.9.8/lib/dicom/general/logging.rb:148:in logger' from /usr/local/rvm/gems/ruby-2.2.9/gems/dicom-0.9.8/lib/dicom/general/logging.rb:148:in logger'
... 10030 levels...
from /usr/local/rvm/rubies/ruby-2.2.9/lib/ruby/2.2.0/set.rb:283:in each' from /usr/local/rvm/gems/ruby-2.2.9/gems/aws-sdk-core-3.14.0/lib/seahorse/client/configuration.rb:189:in resolve'
from /usr/local/rvm/gems/ruby-2.2.9/gems/aws-sdk-core-3.14.0/lib/seahorse/client/configuration.rb:177:in apply_defaults' from /usr/local/rvm/gems/ruby-2.2.9/gems/aws-sdk-core-3.14.0/lib/seahorse/client/configuration.rb:150:in build!'
from /usr/local/rvm/gems/ruby-2.2.9/gems/aws-sdk-core-3.14.0/lib/seahorse/client/base.rb:62:in build_config' from /usr/local/rvm/gems/ruby-2.2.9/gems/aws-sdk-core-3.14.0/lib/seahorse/client/base.rb:19:in initialize'
from /usr/local/rvm/gems/ruby-2.2.9/gems/aws-sdk-s3-1.8.0/lib/aws-sdk-s3/client.rb:197:in initialize' from /usr/local/rvm/gems/ruby-2.2.9/gems/aws-sdk-core-3.14.0/lib/seahorse/client/base.rb:99:in new'
from /usr/local/rvm/gems/ruby-2.2.9/gems/aws-sdk-s3-1.8.0/lib/aws-sdk-s3/resource.rb:14:in initialize' from (irb):1:in new'
from (irb):1
from /usr/local/rvm/gems/ruby-2.2.9/gems/railties-4.0.9/lib/rails/commands/console.rb:90:in start' from /usr/local/rvm/gems/ruby-2.2.9/gems/railties-4.0.9/lib/rails/commands/console.rb:9:in start'
from /usr/local/rvm/gems/ruby-2.2.9/gems/railties-4.0.9/lib/rails/commands.rb:62:in <top (required)>' from bin/rails:4:in require'
from bin/rails:4:in `
I am having this same issue, currently working on a Rake task to send a DICOM file to a server
ruby 2.3.1 rails 5.0.0 ruby-dicom 0.9.8
UPDATE:
Including include DICOM::Logging remove the error
What is your Operating system, Raul?
And can you also paste your exception trace?
i am using ubuntu 16.04
/home/raul/.rvm/gems/ruby-2.3.1/gems/dicom-0.9.8/lib/dicom/general/logging.rb:148:in `logger'
.
.
.
/home/raul/.rvm/gems/ruby-2.3.1/gems/dicom-0.9.8/lib/dicom/general/logging.rb:148:in `logger'
/home/raul/.rvm/gems/ruby-2.3.1/gems/dicom-0.9.8/lib/dicom/general/logging.rb:148:in `logger'
/home/raul/.rvm/gems/ruby-2.3.1/gems/actionpack-5.0.1/lib/action_controller/railtie.rb:39:in `block in <class:Railtie>'
/home/raul/.rvm/gems/ruby-2.3.1/gems/railties-5.0.1/lib/rails/initializable.rb:30:in `instance_exec'
/home/raul/.rvm/gems/ruby-2.3.1/gems/railties-5.0.1/lib/rails/initializable.rb:30:in `run'
/home/raul/.rvm/gems/ruby-2.3.1/gems/railties-5.0.1/lib/rails/initializable.rb:55:in `block in run_initializers'
/home/raul/.rvm/gems/ruby-2.3.1/gems/railties-5.0.1/lib/rails/initializable.rb:44:in `each'
/home/raul/.rvm/gems/ruby-2.3.1/gems/railties-5.0.1/lib/rails/initializable.rb:44:in `tsort_each_child'
/home/raul/.rvm/gems/ruby-2.3.1/gems/railties-5.0.1/lib/rails/initializable.rb:54:in `run_initializers'
/home/raul/.rvm/gems/ruby-2.3.1/gems/railties-5.0.1/lib/rails/application.rb:352:in `initialize!'
/home/raul/work/ingsw/my-fertility-ror-backend/config/environment.rb:5:in `<top (required)>'
/home/raul/.rvm/gems/ruby-2.3.1/gems/activesupport-5.0.1/lib/active_support/dependencies.rb:293:in `require'
/home/raul/.rvm/gems/ruby-2.3.1/gems/activesupport-5.0.1/lib/active_support/dependencies.rb:293:in `block in require'
/home/raul/.rvm/gems/ruby-2.3.1/gems/activesupport-5.0.1/lib/active_support/dependencies.rb:259:in `load_dependency'
/home/raul/.rvm/gems/ruby-2.3.1/gems/activesupport-5.0.1/lib/active_support/dependencies.rb:293:in `require'
/home/raul/.rvm/gems/ruby-2.3.1/gems/railties-5.0.1/lib/rails/application.rb:328:in `require_environment!'
/home/raul/.rvm/gems/ruby-2.3.1/gems/railties-5.0.1/lib/rails/application.rb:448:in `block in run_tasks_blocks'
/home/raul/.rvm/gems/ruby-2.3.1/gems/rake-12.0.0/exe/rake:27:in `<top (required)>'
/home/raul/.rvm/gems/ruby-2.3.1/bin/ruby_executable_hooks:15:in `eval'
/home/raul/.rvm/gems/ruby-2.3.1/bin/ruby_executable_hooks:15:in `<main>'
Tasks: TOP => dicom:send_file_to_server => environment
(See full trace by running task with --trace)
the problem occurs here:
def logger
self.class.logger
end
self.class return an ActiveSupport::OrderedOptions and when asking for the logger method it gets a #<SystemStackError: stack level too deep>
in rails console i get this:
2.3.1 :001 > ActiveSupport::OrderedOptions.logger
NoMethodError: undefined method `logger' for ActiveSupport::OrderedOptions:Class
I wonder if this is related to Rails 4.
My own project is still on Rails 3, so that may be why I havent experienced this issue.
I am actually planning to upgrade Rails on my project soon, so I will probably encounter it and (hopefully) fix it soonish.
That being said, please feel free to submit a fix yourself, if you are able to. That would definitely be appreciated!