-
Notifications
You must be signed in to change notification settings - Fork 1.2k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
TypeError: superclass mismatch for class AbortIncompleteMultipartUpload #3119
Comments
Thanks for opening an issue. I'm not sure how I could reproduce this, but if I recall, that TypeError superclass mismatch is an error that Struct (which all types inherit from) could throw if you've defined and initialized that class twice. I think it just so happens that AbortIncompleteMultipartUpload is the first struct defined in types.rb. I see you're also using a vendor folder with the SDK in it? Quite possibly you have two versions of the SDK on your load path. |
Hi @enescakir, If @mullermp's advice did not work out for you, please share with us the following:
Since you mentioned it happens intermittently it lowers the probability of chances to reproduce but I'll try regardless if you can provide us with the requested info. Thanks, |
Thanks for the swift reply and advice. I've investigated it more. It seems this error message might just be a side effect. The root cause is different. The initial request failed due to the following exception:
Then, consecutive requests fail due to a
So, the main question is: why does it start to fail when freezing for the new version? The second exception likely arose because the first exception caused corruption, and it tried to reload the package. |
It works fine at |
In aws-sdk-core 3.208.0 we merged an autoloading strategy for performance optimizations. It's likely the setup you have was just happen to be working prior to this and after autoloading the symptoms are showing. I still think that you are somehow requiring and loading the SDK twice, somehow, in your environment. This is probably a question best answered by you since you are familiar with your own setup however with more details about how you are loading and requiring the SDK, we could possibly help there. |
Thanks for the information on autoloading. It seems that was the issue for us. We freeze everything to detect malicious self-modifying code from user input, so autoloading conflicts with it. We need to load S3 module before freezing. |
This issue is now closed. Comments on closed issues are hard for our team to see. |
Describe the bug
abort_multipart_upload
fails with the following error time to time.Regression Issue
Expected Behavior
Not raising an exception
Current Behavior
It raises an exception. It started with the new version
Reproduction Steps
Possible Solution
No response
Additional Information/Context
No response
Gem name ('aws-sdk', 'aws-sdk-resources' or service gems like 'aws-sdk-s3') and its version
aws-sdk-s3
Environment details (Version of Ruby, OS environment)
Ruby 3.2.5, Ubuntu 22.04
The text was updated successfully, but these errors were encountered: