S3Sync.net

General Category => Questions => Topic started by: bck on July 31, 2007, 06:20:00 AM



Title: undefined method `http_response'
Post by: bck on July 31, 2007, 06:20:00 AM
Hey all, just trying to get a backup of my web server to S3 using s3sync, but I'm coming up against the following error:
Code:
######.com@cl26:~/scripts/s3sync$ ./s3sync.rb -r --ssl -v -d s3backup/ bck-backup:webserver
s3Prefix webserver
localPrefix /home/12145/users/.home/scripts/s3sync/s3backup/
localTreeRecurse /home/12145/users/.home/scripts/s3sync/s3backup
Test /home/12145/users/.home/scripts/s3sync/s3backup/httpdocs_backup_20070731.tar.gz
Test /home/12145/users/.home/scripts/s3sync/s3backup/#######_db_backup_20070731.tar.gz
local item /home/12145/users/.home/scripts/s3sync/s3backup/httpdocs_backup_20070731.tar.gz
local node object init. Name:httpdocs_backup_20070731.tar.gz Path:/home/12145/users/.home/scripts/s3sync/s3backup/httpdocs_backup_20070731.tar.gz Size:31584513 Tag:80be73ebcf88ac53831615d675d3e63c
s3TreeRecurse bck-backup webserver
Trying command list_bucket bck-backup max-keys 200 prefix webserver delimiter / with 100 retries left
Null stream error:
./s3sync.rb:288:in `s3TreeRecurse': undefined method `http_response' for nil:NilClass (NoMethodError)
        from ./s3sync.rb:348:in `main'
        from ./thread_generator.rb:79:in `call'
        from ./thread_generator.rb:79:in `initialize'
        from ./thread_generator.rb:76:in `new'
        from ./thread_generator.rb:76:in `initialize'
        from ./s3sync.rb:269:in `new'
        from ./s3sync.rb:269:in `main'
        from ./s3sync.rb:708

I have everything set up correctly in s3config.yml, my Ruby version is 1.8.5, and the bucket and prefix are there. Any help?


Title: Re: undefined method `http_response'
Post by: ferrix on July 31, 2007, 07:06:15 AM
The first s3 command (list_bucket) is throwing NoMethodError. 

I'm not sure whether this is a real "i don't know where that method is" problem, like if your s3 or http streaming code is borked, or if instead it just can't contact the s3 server.  Ever since I implemented --progress the errors coming out of the stream code are just *useless*.

Can you back up and try something else like "./s3cmd.rb listbuckets" or list bck-backup


Title: Re: undefined method `http_response'
Post by: bck on July 31, 2007, 05:43:49 PM
Both the s3cmd.rb commands work fine, listing the bck-backup bucket with the first command and showing the files with the second. No errors at all.


Title: Re: undefined method `http_response'
Post by: ferrix on July 31, 2007, 09:29:40 PM
"listing the files".. what's already in that bucket?  Maybe it's something strange that I'm not expecting?  it's going to be a bit tricky to debug this when I can't cause the problem to occur here.  Bear with me, I want to help!


Title: Re: undefined method `http_response'
Post by: bck on July 31, 2007, 10:10:15 PM
Not a problem, I appreciate the help. I just put a test file up (not using s3sync) to see if it could list, when I'm running the actual s3sync.rb command the bucket is completely empty.


Title: Re: undefined method `http_response'
Post by: ferrix on August 01, 2007, 12:45:03 PM
Even with a totally empty bucket I still can't repro the issue.  I have ruby 1.8.6 here but I'm pretty sure that's not "it".


Title: Re: undefined method `http_response'
Post by: bck on August 01, 2007, 05:44:15 PM
Are there any other versions or settings that would be of interest to you that I could pull? I could probably give you SSH access to the box if you are really keen to fix it.


Title: Re: undefined method `http_response'
Post by: ferrix on August 01, 2007, 07:06:00 PM
Well I want to help, but for the rest of the week my time is no longer my own  :-\