Giter Club home page Giter Club logo

Comments (15)

yenshirak avatar yenshirak commented on June 25, 2024 1

@mullermp No, but I will open a Bootsnap issue then. For now we disabled Bootsnap in CI as a workaround.

from aws-sdk-ruby.

alextwoods avatar alextwoods commented on June 25, 2024

This is very weird. The change in 1.148.0 of aws-sdk-ssm was only switching the EndpointProvider to a code generated rather than runtime ruleset (#2815 ) and did not change any of the API shapes. The shape thats giving the error, DescribeMaintenanceWindowTargetsRequest, is definitely defined as a StructShape here and even weirder, the stack trace gives an error at line 2172 on the struct_class= method, rather than lines 2168-2171 which are calling add_member, which also doesn't exist on StringShape.

I'm fairly certain there is something bootsnap related going on - my guess would be in the byte code caching, but I'm not an expert in bootsnap. Have you cleared your bootsnap cache(s)?

from aws-sdk-ruby.

aovertus avatar aovertus commented on June 25, 2024

We did cleared the cache, we took a corrupted image, as soon as we touch the file the cache is regenerate and the issue is fixed so its a bit tricky to pry inside and dig.

The main reason I'm bringing this here and not bootsnap is because:

  • This started as soon as we did the aws-ssm-sdk upgrade
  • There are closed issues on the bootsnap gem which exposed error from other library but only triggered through the bootsnap cache.

I'm a bit confused as how to solve this so I would take any bit. I don't want to remove the bootsnap integration as its providing a good performance boot to us so far.

from aws-sdk-ruby.

alextwoods avatar alextwoods commented on June 25, 2024

Yeah that makes sense - I know the SDK has had previous issues reveled by bootsnap.

Did you upgrade any other gems at the same time? Could you try pinning aws-sdk-ssm to 1.147.0 and see if it fixes the issue? What other SDK gems/versions do you have? I'm also a bit uncertain how to debug this - I haven't been able to reproduce locally yet and I dont see any potential/obvious issues in the code itself that might cause this behavior. You mentioned it was occurring in staging/production - have you been able to reproducing locally/development? Can you share any information on how you're deploying? Do you have a fixed Gemfile.lock?

from aws-sdk-ruby.

github-actions avatar github-actions commented on June 25, 2024

This issue has not received a response in 1 week. If you still think there is a problem, please leave a comment to avoid the issue from automatically closing.

from aws-sdk-ruby.

yenshirak avatar yenshirak commented on June 25, 2024

We see the same issue in GitHub Actions when we are running CI. It started when we added the aws-sdk-ec2 gem a few days ago. It didn't happen with the aws-sdk-s3 gem which we have used for a long time.
Stack trace:

NoMethodError: undefined method `new' for #<Seahorse::Model::Shapes::StructureShape:0x00007f3e02ea90b0 @members={}, @members_by_location_name={}, @required=#<Set: {}>, @metadata={}, @name="SpotFleetLaunchSpecification", @struct_class=Seahorse::Model::Shapes::ShapeRef>
/home/runner/work/angus/angus/vendor/bundle/ruby/3.2.0/gems/aws-sdk-ec2-1.366.0/lib/aws-sdk-ec2/client_api.rb:4844:in `<module:ClientApi>'
/home/runner/work/angus/angus/vendor/bundle/ruby/3.2.0/gems/aws-sdk-ec2-1.366.0/lib/aws-sdk-ec2/client_api.rb:12:in `<module:EC2>'
/home/runner/work/angus/angus/vendor/bundle/ruby/3.2.0/gems/aws-sdk-ec2-1.366.0/lib/aws-sdk-ec2/client_api.rb:10:in `<main>'
/home/runner/work/angus/angus/vendor/bundle/ruby/3.2.0/gems/aws-sdk-ec2-1.366.0/lib/aws-sdk-ec2.rb:[15](https://github.com/swiftvee/angus/actions/runs/4255787088/jobs/7403844708#step:6:16):in `require_relative'
/home/runner/work/angus/angus/vendor/bundle/ruby/3.2.0/gems/aws-sdk-ec2-1.366.0/lib/aws-sdk-ec2.rb:15:in `<main>'
/home/runner/work/angus/angus/vendor/bundle/ruby/3.2.0/gems/bootsnap-1.[16](https://github.com/swiftvee/angus/actions/runs/4255787088/jobs/7403844708#step:6:17).0/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:32:in `require'
/home/runner/work/angus/angus/vendor/bundle/ruby/3.2.0/gems/bootsnap-1.16.0/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:32:in `require'
/home/runner/work/angus/angus/vendor/bundle/ruby/3.2.0/gems/zeitwerk-2.6.7/lib/zeitwerk/kernel.rb:38:in `require'
/home/runner/work/angus/angus/config/application.rb:19:in `<main>'
/home/runner/work/angus/angus/Rakefile:4:in `require_relative'
/home/runner/work/angus/angus/Rakefile:4:in `<main>'
/home/runner/work/angus/angus/vendor/bundle/ruby/3.2.0/gems/railties-7.0.4.2/lib/rails/commands/rake/rake_command.rb:20:in `block in perform'
/home/runner/work/angus/angus/vendor/bundle/ruby/3.2.0/gems/railties-7.0.4.2/lib/rails/commands/rake/rake_command.rb:[18](https://github.com/swiftvee/angus/actions/runs/4255787088/jobs/7403844708#step:6:19):in `perform'
/home/runner/work/angus/angus/vendor/bundle/ruby/3.2.0/gems/railties-7.0.4.2/lib/rails/command.rb:51:in `invoke'
/home/runner/work/angus/angus/vendor/bundle/ruby/3.2.0/gems/railties-7.0.4.2/lib/rails/commands.rb:18:in `<main>'
/home/runner/work/angus/angus/vendor/bundle/ruby/3.2.0/gems/bootsnap-1.16.0/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:32:in `require'
/home/runner/work/angus/angus/vendor/bundle/ruby/3.2.0/gems/bootsnap-1.16.0/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:32:in `require'
bin/rails:4:in `<main>'

Sometimes a different error occurs:

NotImplementedError: ibf_dump_object_unsupported: 0x00007f9b0d09ffd8 [0      ] T_NONE 
/home/runner/work/angus/angus/vendor/bundle/ruby/3.2.0/gems/bootsnap-1.16.0/lib/bootsnap/compile_cache/iseq.rb:42:in `to_binary'
/home/runner/work/angus/angus/vendor/bundle/ruby/3.2.0/gems/bootsnap-1.16.0/lib/bootsnap/compile_cache/iseq.rb:42:in `input_to_storage'
/home/runner/work/angus/angus/vendor/bundle/ruby/3.2.0/gems/bootsnap-1.16.0/lib/bootsnap/compile_cache/iseq.rb:60:in `fetch'
/home/runner/work/angus/angus/vendor/bundle/ruby/3.2.0/gems/bootsnap-1.16.0/lib/bootsnap/compile_cache/iseq.rb:60:in `fetch'
/home/runner/work/angus/angus/vendor/bundle/ruby/3.2.0/gems/bootsnap-1.16.0/lib/bootsnap/compile_cache/iseq.rb:85:in `load_iseq'
/home/runner/work/angus/angus/vendor/bundle/ruby/3.2.0/gems/aws-sdk-ec2-1.366.0/lib/aws-sdk-ec2.rb:[15](https://github.com/swiftvee/angus/actions/runs/4255787088/jobs/7403844708#step:6:16):in `require_relative'
/home/runner/work/angus/angus/vendor/bundle/ruby/3.2.0/gems/aws-sdk-ec2-1.366.0/lib/aws-sdk-ec2.rb:15:in `<main>'
/home/runner/work/angus/angus/vendor/bundle/ruby/3.2.0/gems/bootsnap-1.[16](https://github.com/swiftvee/angus/actions/runs/4255787088/jobs/7403844708#step:6:17).0/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:32:in `require'
/home/runner/work/angus/angus/vendor/bundle/ruby/3.2.0/gems/bootsnap-1.16.0/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:32:in `require'
/home/runner/work/angus/angus/vendor/bundle/ruby/3.2.0/gems/zeitwerk-2.6.7/lib/zeitwerk/kernel.rb:38:in `require'
/home/runner/work/angus/angus/config/application.rb:19:in `<main>'
/home/runner/work/angus/angus/Rakefile:4:in `require_relative'
/home/runner/work/angus/angus/Rakefile:4:in `<main>'
/home/runner/work/angus/angus/vendor/bundle/ruby/3.2.0/gems/railties-7.0.4.2/lib/rails/commands/rake/rake_command.rb:20:in `block in perform'
/home/runner/work/angus/angus/vendor/bundle/ruby/3.2.0/gems/railties-7.0.4.2/lib/rails/commands/rake/rake_command.rb:[18](https://github.com/swiftvee/angus/actions/runs/4255787088/jobs/7403844708#step:6:19):in `perform'
/home/runner/work/angus/angus/vendor/bundle/ruby/3.2.0/gems/railties-7.0.4.2/lib/rails/command.rb:51:in `invoke'
/home/runner/work/angus/angus/vendor/bundle/ruby/3.2.0/gems/railties-7.0.4.2/lib/rails/commands.rb:18:in `<main>'
/home/runner/work/angus/angus/vendor/bundle/ruby/3.2.0/gems/bootsnap-1.16.0/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:32:in `require'
/home/runner/work/angus/angus/vendor/bundle/ruby/3.2.0/gems/bootsnap-1.16.0/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:32:in `require'
bin/rails:4:in `<main>'

We haven't seen it in production or during local development.
Please let me know if I can help with debugging.

from aws-sdk-ruby.

alextwoods avatar alextwoods commented on June 25, 2024

@yenshirak - Sorry you're running into this as well - I still haven't been able to reproduce or debug the issue.

Does it happen on every run or only sometimes? Anything else you can tell me about the environment? Can you try pinning aws-sdk-ec2 to version 1.357.0 or earlier?

from aws-sdk-ruby.

yenshirak avatar yenshirak commented on June 25, 2024

@alextwoods Only sometimes. Deleting the GitHub Actions bundler cache is fixing it. I will try to downgrade to 1.357.0.

from aws-sdk-ruby.

yenshirak avatar yenshirak commented on June 25, 2024

@alextwoods Unfortunately downgrading to 1.357.0 doesn't help:

Run bin/rails db:create db:schema:load
rails aborted!
NotImplementedError: ibf_dump_object_unsupported: 0x00007fccc5e4ff68 [0      ] T_NONE 
/home/runner/work/angus/angus/vendor/bundle/ruby/3.2.0/gems/bootsnap-1.16.0/lib/bootsnap/compile_cache/iseq.rb:42:in `to_binary'
/home/runner/work/angus/angus/vendor/bundle/ruby/3.2.0/gems/bootsnap-1.16.0/lib/bootsnap/compile_cache/iseq.rb:42:in `input_to_storage'
/home/runner/work/angus/angus/vendor/bundle/ruby/3.2.0/gems/bootsnap-1.16.0/lib/bootsnap/compile_cache/iseq.rb:60:in `fetch'
/home/runner/work/angus/angus/vendor/bundle/ruby/3.2.0/gems/bootsnap-1.16.0/lib/bootsnap/compile_cache/iseq.rb:60:in `fetch'
/home/runner/work/angus/angus/vendor/bundle/ruby/3.2.0/gems/bootsnap-1.16.0/lib/bootsnap/compile_cache/iseq.rb:85:in `load_iseq'
/home/runner/work/angus/angus/vendor/bundle/ruby/3.2.0/gems/aws-sdk-ec2-1.357.0/lib/aws-sdk-ec2.rb:[15](https://github.com/swiftvee/angus/actions/runs/4311912434/jobs/7521828401#step:6:16):in `require_relative'
/home/runner/work/angus/angus/vendor/bundle/ruby/3.2.0/gems/aws-sdk-ec2-1.357.0/lib/aws-sdk-ec2.rb:15:in `<main>'
/home/runner/work/angus/angus/vendor/bundle/ruby/3.2.0/gems/bootsnap-1.[16](https://github.com/swiftvee/angus/actions/runs/4311912434/jobs/7521828401#step:6:17).0/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:32:in `require'
/home/runner/work/angus/angus/vendor/bundle/ruby/3.2.0/gems/bootsnap-1.16.0/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:32:in `require'
/home/runner/work/angus/angus/vendor/bundle/ruby/3.2.0/gems/zeitwerk-2.6.7/lib/zeitwerk/kernel.rb:38:in `require'
/home/runner/work/angus/angus/config/application.rb:19:in `<main>'
/home/runner/work/angus/angus/Rakefile:4:in `require_relative'
/home/runner/work/angus/angus/Rakefile:4:in `<main>'
/home/runner/work/angus/angus/vendor/bundle/ruby/3.2.0/gems/railties-7.0.4.2/lib/rails/commands/rake/rake_command.rb:20:in `block in perform'
/home/runner/work/angus/angus/vendor/bundle/ruby/3.2.0/gems/railties-7.0.4.2/lib/rails/commands/rake/rake_command.rb:[18](https://github.com/swiftvee/angus/actions/runs/4311912434/jobs/7521828401#step:6:19):in `perform'
/home/runner/work/angus/angus/vendor/bundle/ruby/3.2.0/gems/railties-7.0.4.2/lib/rails/command.rb:51:in `invoke'
/home/runner/work/angus/angus/vendor/bundle/ruby/3.2.0/gems/railties-7.0.4.2/lib/rails/commands.rb:18:in `<main>'
/home/runner/work/angus/angus/vendor/bundle/ruby/3.2.0/gems/bootsnap-1.16.0/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:32:in `require'
/home/runner/work/angus/angus/vendor/bundle/ruby/3.2.0/gems/bootsnap-1.16.0/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:32:in `require'
bin/rails:4:in `<main>'

I didn't mention earlier that the error is thrown during the DB creation: bin/rails db:create db:schema:load

from aws-sdk-ruby.

yenshirak avatar yenshirak commented on June 25, 2024

@alextwoods This is the AWS section of our current Gemfile.lock:

    aws-eventstream (1.2.0)
    aws-partitions (1.716.0)
    aws-sdk-core (3.170.0)
      aws-eventstream (~> 1, >= 1.0.2)
      aws-partitions (~> 1, >= 1.651.0)
      aws-sigv4 (~> 1.5)
      jmespath (~> 1, >= 1.6.1)
    aws-sdk-ec2 (1.357.0)
      aws-sdk-core (~> 3, >= 3.165.0)
      aws-sigv4 (~> 1.1)
    aws-sdk-kms (1.62.0)
      aws-sdk-core (~> 3, >= 3.165.0)
      aws-sigv4 (~> 1.1)
    aws-sdk-s3 (1.119.1)
      aws-sdk-core (~> 3, >= 3.165.0)
      aws-sdk-kms (~> 1)
      aws-sigv4 (~> 1.4)
    aws-sigv4 (1.5.2)
      aws-eventstream (~> 1, >= 1.0.2)
    aws_cf_signer (0.1.3)

and

    jmespath (1.6.2)

from aws-sdk-ruby.

yenshirak avatar yenshirak commented on June 25, 2024

@alextwoods The issue disappeared after we replaced the webpacker gem with jsbundling-rails.

from aws-sdk-ruby.

yenshirak avatar yenshirak commented on June 25, 2024

@alextwoods Unfortunately it didn't disappear fully, but it occurs less frequently and the error is different:

Run bin/rails db:create db:schema:load
rails aborted!
NoMethodError: undefined method `add_member' for Seahorse::Model::Shapes::ShapeRef:Class
/home/runner/work/angus/angus/vendor/bundle/ruby/3.2.0/gems/aws-sdk-ec2-1.368.0/lib/aws-sdk-ec2/client_api.rb:10937:in `<module:ClientApi>'
/home/runner/work/angus/angus/vendor/bundle/ruby/3.2.0/gems/aws-sdk-ec2-1.368.0/lib/aws-sdk-ec2/client_api.rb:[12](https://github.com/swiftvee/angus/actions/runs/4362169048/jobs/7626753992#step:6:13):in `<module:EC2>'
/home/runner/work/angus/angus/vendor/bundle/ruby/3.2.0/gems/aws-sdk-ec2-1.368.0/lib/aws-sdk-ec2/client_api.rb:10:in `<main>'
/home/runner/work/angus/angus/vendor/bundle/ruby/3.2.0/gems/aws-sdk-ec2-1.368.0/lib/aws-sdk-ec2.rb:[15](https://github.com/swiftvee/angus/actions/runs/4362169048/jobs/7626753992#step:6:16):in `require_relative'
/home/runner/work/angus/angus/vendor/bundle/ruby/3.2.0/gems/aws-sdk-ec2-1.368.0/lib/aws-sdk-ec2.rb:15:in `<main>'
/home/runner/work/angus/angus/vendor/bundle/ruby/3.2.0/gems/bootsnap-1.[16](https://github.com/swiftvee/angus/actions/runs/4362169048/jobs/7626753992#step:6:17).0/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:32:in `require'
/home/runner/work/angus/angus/vendor/bundle/ruby/3.2.0/gems/bootsnap-1.16.0/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:32:in `require'
/home/runner/work/angus/angus/vendor/bundle/ruby/3.2.0/gems/zeitwerk-2.6.7/lib/zeitwerk/kernel.rb:38:in `require'
/home/runner/work/angus/angus/config/application.rb:19:in `<main>'
/home/runner/work/angus/angus/Rakefile:4:in `require_relative'
/home/runner/work/angus/angus/Rakefile:4:in `<main>'
/home/runner/work/angus/angus/vendor/bundle/ruby/3.2.0/gems/railties-7.0.4.2/lib/rails/commands/rake/rake_command.rb:20:in `block in perform'
/home/runner/work/angus/angus/vendor/bundle/ruby/3.2.0/gems/railties-7.0.4.2/lib/rails/commands/rake/rake_command.rb:[18](https://github.com/swiftvee/angus/actions/runs/4362169048/jobs/7626753992#step:6:19):in `perform'
/home/runner/work/angus/angus/vendor/bundle/ruby/3.2.0/gems/railties-7.0.4.2/lib/rails/command.rb:51:in `invoke'
/home/runner/work/angus/angus/vendor/bundle/ruby/3.2.0/gems/railties-7.0.4.2/lib/rails/commands.rb:18:in `<main>'
/home/runner/work/angus/angus/vendor/bundle/ruby/3.2.0/gems/bootsnap-1.16.0/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:32:in `require'
/home/runner/work/angus/angus/vendor/bundle/ruby/3.2.0/gems/bootsnap-1.16.0/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:32:in `require'
bin/rails:4:in `<main>'

from aws-sdk-ruby.

mullermp avatar mullermp commented on June 25, 2024

Have you tried opening an issue on the bootsnap repo for this?

from aws-sdk-ruby.

mullermp avatar mullermp commented on June 25, 2024

Until there's a solid reproduction case, I'm going to close this. I think the issue lies in bootsnap, but I agree it was surfaced by a change in the SDK.

from aws-sdk-ruby.

github-actions avatar github-actions commented on June 25, 2024

⚠️COMMENT VISIBILITY WARNING⚠️

Comments on closed issues are hard for our team to see.
If you need more assistance, please either tag a team member or open a new issue that references this one.
If you wish to keep having a conversation with other community members under this issue feel free to do so.

from aws-sdk-ruby.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.