Closed Bug 735206 Opened 12 years ago Closed 12 years ago

URLs for chained cloudfile uploads are wrong, causing permanent orange: TEST-UNEXPECTED-FAIL | test-cloudfile-backend-yousendit.js test-cloudfile-backend-dropbox.js | test_chained_uploads)

Categories

(Thunderbird :: Message Compose Window, defect)

x86
All
defect
Not set
normal

Tracking

(Not tracked)

RESOLVED FIXED
Thunderbird 13.0

People

(Reporter: mconley, Unassigned)

References

Details

(Keywords: intermittent-failure)

Attachments

(1 file)

We landed a few basic smoke tests for BigFiles last night, and it looks like two of them are permanently orange.

From the build log for Dropbox:

TEST-START | /builds/slave/comm-central-macosx64-opt-unittest-mozmill/build/mozmill/cloudfile/test-cloudfile-backend-dropbox.js | setupTest
TEST-PASS | /builds/slave/comm-central-macosx64-opt-unittest-mozmill/build/mozmill/cloudfile/test-cloudfile-backend-dropbox.js | test-cloudfile-backend-dropbox.js::setupTest
TEST-START | /builds/slave/comm-central-macosx64-opt-unittest-mozmill/build/mozmill/cloudfile/test-cloudfile-backend-dropbox.js | test_chained_uploads
Step Pass: {"function": "controller.waitFor()"}
Test Failure: a != b: 'http://www.example.com/testFile1' != 'http://www.example.com/testFile3'.
TEST-START | /builds/slave/comm-central-macosx64-opt-unittest-mozmill/build/mozmill/cloudfile/test-cloudfile-backend-dropbox.js | teardownTest
Step Pass: {"function": "controller.waitFor()"}
2012-03-12 23:55:27	Dropbox	INFO	uploading testFile1
2012-03-12 23:55:27	Dropbox	INFO	getting user info
2012-03-12 23:55:27	TBOAuth	INFO	sign and send aUrl = http://localhost:4444/server/account/info
2012-03-12 23:55:27	TBOAuth	INFO	in sign and send url = http://localhost:4444/server/account/info
urlSpec = http://localhost:4444/server/account/info
2012-03-12 23:55:27	TBOAuth	INFO	dataParams =
2012-03-12 23:55:27	TBOAuth	INFO	sig base = GET&http%3A%2F%2Flocalhost%3A4444%2Fserver%2Faccount%2Finfo&oauth_consumer_key%3D7xkhuze09iqkghm%26oauth_nonce%3DSXGrDU%26oauth_signature_method%3DHMAC-SHA1%26oauth_timestamp%3D1331621727%26oauth_token%3Drequestkey%26oauth_version%3D1.0
2012-03-12 23:55:27	Dropbox	INFO	user info = {"referral_link":"https://www.dropbox.com/referrals/r1a2n3d4m5s6t7","display_name":"John P. User","uid":12345678,"country":"US","quota_info":{"shared":253738410565,"quota":107374182400000,"normal":680031877871},"email":"john@example.com"}
2012-03-12 23:55:27	Dropbox	INFO	avail storage = 107374182400000
2012-03-12 23:55:27	Dropbox	INFO	new nsDropboxFileUploader file = testFile1
2012-03-12 23:55:27	Dropbox	INFO	ready to upload file testFile1
2012-03-12 23:55:27	TBOAuth	INFO	sign and send aUrl = http://localhost:4444/content/files_put/sandbox/testFile1?overwrite=false
2012-03-12 23:55:27	TBOAuth	INFO	in sign and send url = http://localhost:4444/content/files_put/sandbox/testFile1?overwrite=false
urlSpec = http://localhost:4444/content/files_put/sandbox/testFile1
2012-03-12 23:55:27	TBOAuth	INFO	dataParams = overwrite,false
2012-03-12 23:55:27	TBOAuth	INFO	sig base = PUT&http%3A%2F%2Flocalhost%3A4444%2Fcontent%2Ffiles_put%2Fsandbox%2FtestFile1&Content-Length%3D495%26oauth_consumer_key%3D7xkhuze09iqkghm%26oauth_nonce%3Dy80X6l%26oauth_signature_method%3DHMAC-SHA1%26oauth_timestamp%3D1331621727%26oauth_token%3Drequestkey%26oauth_version%3D1.0%26overwrite%3Dfalse
2012-03-12 23:55:27	Dropbox	INFO	success putting file {"size":"225.4KB","rev":"35e97029684fe","thumb_exists":false,"bytes":230783,"modified":"Tue, 19 Jul 2011 21:55:38 +0000","is_dir":false,"icon":"page_white_acrobat","root":"dropbox","mime_type":"application/pdf","revision":220823,"path":"testFile1"}
2012-03-12 23:55:27	TBOAuth	INFO	sign and send aUrl = http://localhost:4444/server/shares/sandbox/testFile1
2012-03-12 23:55:27	TBOAuth	INFO	in sign and send url = http://localhost:4444/server/shares/sandbox/testFile1
urlSpec = http://localhost:4444/server/shares/sandbox/testFile1
2012-03-12 23:55:27	TBOAuth	INFO	dataParams =
2012-03-12 23:55:27	TBOAuth	INFO	sig base = POST&http%3A%2F%2Flocalhost%3A4444%2Fserver%2Fshares%2Fsandbox%2FtestFile1&oauth_consumer_key%3D7xkhuze09iqkghm%26oauth_nonce%3DBA7ryV%26oauth_signature_method%3DHMAC-SHA1%26oauth_timestamp%3D1331621727%26oauth_token%3Drequestkey%26oauth_version%3D1.0
2012-03-12 23:55:27	Dropbox	INFO	Getting share URL successful with response text: {"url":"http://www.example.com/someFile","expires":"Wed, 17 Aug 2011 02:34:33 +0000"}
2012-03-12 23:55:27	Dropbox	INFO	Sending delete request to http://localhost:4444/server/fileops/delete/?root=sandbox&path=testFile1
2012-03-12 23:55:27	TBOAuth	INFO	sign and send aUrl = http://localhost:4444/server/fileops/delete/?root=sandbox&path=testFile1
TEST-PASS | /builds/slave/comm-central-macosx64-opt-unittest-mozmill/build/mozmill/cloudfile/test-cloudfile-backend-dropbox.js | test-cloudfile-backend-dropbox.js::teardownTest
NEXT ERROR TEST-UNEXPECTED-FAIL | /builds/slave/comm-central-macosx64-opt-unittest-mozmill/build/mozmill/cloudfile/test-cloudfile-backend-dropbox.js | test-cloudfile-backend-dropbox.js::test_chained_uploads


SUMMARY-UNEXPECTED-FAIL | test-cloudfile-backend-dropbox.js | test-cloudfile-backend-dropbox.js::test_chained_uploads
  EXCEPTION: a != b: 'http://www.example.com/testFile1' != 'http://www.example.com/testFile3'.
    at: test-folder-display-helpers.js line 2855
       assert_true(false,"a != b: 'http://www.example.com/testFile1' != 'http://www.example.com/testFile3'.") test-folder-display-helpers.js 2855
       assert_equals("http://www.example.com/testFile1","http://www.example.com/testFile3") test-folder-display-helpers.js 2842
       test_chained_uploads() test-cloudfile-backend-dropbox.js 154
            frame.js 557
            frame.js 626
            frame.js 669
            frame.js 497
            frame.js 675
            server.js 179
            server.js 183



and for YouSendIt:

TEST-START | /builds/slave/comm-central-macosx64-opt-unittest-mozmill/build/mozmill/cloudfile/test-cloudfile-backend-dropbox.js | setupTest
TEST-PASS | /builds/slave/comm-central-macosx64-opt-unittest-mozmill/build/mozmill/cloudfile/test-cloudfile-backend-dropbox.js | test-cloudfile-backend-dropbox.js::setupTest
TEST-START | /builds/slave/comm-central-macosx64-opt-unittest-mozmill/build/mozmill/cloudfile/test-cloudfile-backend-dropbox.js | test_chained_uploads
Step Pass: {"function": "controller.waitFor()"}
Test Failure: a != b: 'http://www.example.com/testFile1' != 'http://www.example.com/testFile3'.
TEST-START | /builds/slave/comm-central-macosx64-opt-unittest-mozmill/build/mozmill/cloudfile/test-cloudfile-backend-dropbox.js | teardownTest
Step Pass: {"function": "controller.waitFor()"}
2012-03-12 23:55:27	Dropbox	INFO	uploading testFile1
2012-03-12 23:55:27	Dropbox	INFO	getting user info
2012-03-12 23:55:27	TBOAuth	INFO	sign and send aUrl = http://localhost:4444/server/account/info
2012-03-12 23:55:27	TBOAuth	INFO	in sign and send url = http://localhost:4444/server/account/info
urlSpec = http://localhost:4444/server/account/info
2012-03-12 23:55:27	TBOAuth	INFO	dataParams =
2012-03-12 23:55:27	TBOAuth	INFO	sig base = GET&http%3A%2F%2Flocalhost%3A4444%2Fserver%2Faccount%2Finfo&oauth_consumer_key%3D7xkhuze09iqkghm%26oauth_nonce%3DSXGrDU%26oauth_signature_method%3DHMAC-SHA1%26oauth_timestamp%3D1331621727%26oauth_token%3Drequestkey%26oauth_version%3D1.0
2012-03-12 23:55:27	Dropbox	INFO	user info = {"referral_link":"https://www.dropbox.com/referrals/r1a2n3d4m5s6t7","display_name":"John P. User","uid":12345678,"country":"US","quota_info":{"shared":253738410565,"quota":107374182400000,"normal":680031877871},"email":"john@example.com"}
2012-03-12 23:55:27	Dropbox	INFO	avail storage = 107374182400000
2012-03-12 23:55:27	Dropbox	INFO	new nsDropboxFileUploader file = testFile1
2012-03-12 23:55:27	Dropbox	INFO	ready to upload file testFile1
2012-03-12 23:55:27	TBOAuth	INFO	sign and send aUrl = http://localhost:4444/content/files_put/sandbox/testFile1?overwrite=false
2012-03-12 23:55:27	TBOAuth	INFO	in sign and send url = http://localhost:4444/content/files_put/sandbox/testFile1?overwrite=false
urlSpec = http://localhost:4444/content/files_put/sandbox/testFile1
2012-03-12 23:55:27	TBOAuth	INFO	dataParams = overwrite,false
2012-03-12 23:55:27	TBOAuth	INFO	sig base = PUT&http%3A%2F%2Flocalhost%3A4444%2Fcontent%2Ffiles_put%2Fsandbox%2FtestFile1&Content-Length%3D495%26oauth_consumer_key%3D7xkhuze09iqkghm%26oauth_nonce%3Dy80X6l%26oauth_signature_method%3DHMAC-SHA1%26oauth_timestamp%3D1331621727%26oauth_token%3Drequestkey%26oauth_version%3D1.0%26overwrite%3Dfalse
2012-03-12 23:55:27	Dropbox	INFO	success putting file {"size":"225.4KB","rev":"35e97029684fe","thumb_exists":false,"bytes":230783,"modified":"Tue, 19 Jul 2011 21:55:38 +0000","is_dir":false,"icon":"page_white_acrobat","root":"dropbox","mime_type":"application/pdf","revision":220823,"path":"testFile1"}
2012-03-12 23:55:27	TBOAuth	INFO	sign and send aUrl = http://localhost:4444/server/shares/sandbox/testFile1
2012-03-12 23:55:27	TBOAuth	INFO	in sign and send url = http://localhost:4444/server/shares/sandbox/testFile1
urlSpec = http://localhost:4444/server/shares/sandbox/testFile1
2012-03-12 23:55:27	TBOAuth	INFO	dataParams =
2012-03-12 23:55:27	TBOAuth	INFO	sig base = POST&http%3A%2F%2Flocalhost%3A4444%2Fserver%2Fshares%2Fsandbox%2FtestFile1&oauth_consumer_key%3D7xkhuze09iqkghm%26oauth_nonce%3DBA7ryV%26oauth_signature_method%3DHMAC-SHA1%26oauth_timestamp%3D1331621727%26oauth_token%3Drequestkey%26oauth_version%3D1.0
2012-03-12 23:55:27	Dropbox	INFO	Getting share URL successful with response text: {"url":"http://www.example.com/someFile","expires":"Wed, 17 Aug 2011 02:34:33 +0000"}
2012-03-12 23:55:27	Dropbox	INFO	Sending delete request to http://localhost:4444/server/fileops/delete/?root=sandbox&path=testFile1
2012-03-12 23:55:27	TBOAuth	INFO	sign and send aUrl = http://localhost:4444/server/fileops/delete/?root=sandbox&path=testFile1
TEST-PASS | /builds/slave/comm-central-macosx64-opt-unittest-mozmill/build/mozmill/cloudfile/test-cloudfile-backend-dropbox.js | test-cloudfile-backend-dropbox.js::teardownTest
NEXT ERROR TEST-UNEXPECTED-FAIL | /builds/slave/comm-central-macosx64-opt-unittest-mozmill/build/mozmill/cloudfile/test-cloudfile-backend-dropbox.js | test-cloudfile-backend-dropbox.js::test_chained_uploads


SUMMARY-UNEXPECTED-FAIL | test-cloudfile-backend-yousendit.js | test-cloudfile-backend-yousendit.js::test_chained_uploads
  EXCEPTION: a != b: 'http://www.example.com/testFile1' != 'http://www.example.com/testFile3'.
    at: test-folder-display-helpers.js line 2855
       assert_true(false,"a != b: 'http://www.example.com/testFile1' != 'http://www.example.com/testFile3'.") test-folder-display-helpers.js 2855
       assert_equals("http://www.example.com/testFile1","http://www.example.com/testFile3") test-folder-display-helpers.js 2842
       test_chained_uploads() test-cloudfile-backend-yousendit.js 149
            frame.js 557
            frame.js 626
            frame.js 669
            frame.js 497
            frame.js 675
            server.js 179
            server.js 183
Assignee: nobody → mconley
Whiteboard: [tb-orange]
Blocks: BigFiles
Attached patch PatchSplinter Review
Ack, a major defect slipped through my review.

It looks like the urlsForFiles "hash" for nsDropbox.js and nsYouSendIt.js were both actually defined as Arrays.

This meant that if the key that was passed (in this case, an nsILocalFile) evaluated to the same integer (even though they weren't the same object), they'd return the same URL.

This patch fixes things in two ways:

1)  We define urlsForFiles as a hash this time.
2)  We key off on the file path, as opposed to the file object.
Assignee: mconley → nobody
Component: Testing Infrastructure → Message Compose Window
QA Contact: testing-infrastructure → message-compose
Summary: Permanent orange: TEST-UNEXPECTED-FAIL | test-cloudfile-backend-yousendit.js test-cloudfile-backend-dropbox.js | test_chained_uploads → URLs for chained cloudfile uploads are wrong, causing permanent orange: TEST-UNEXPECTED-FAIL | test-cloudfile-backend-yousendit.js test-cloudfile-backend-dropbox.js | test_chained_uploads)
Attachment #605408 - Flags: review?(dbienvenu)
Comment on attachment 605408 [details] [diff] [review]
Patch

I saw a test failure w/ this patch with a timeout waiting for the dropbox server to finish, but it only happened once (my machine was under load at the time). we'll have to watch for that, but this patch seems right and we should see if it fixes the tinderboxes.
Attachment #605408 - Flags: review?(dbienvenu) → review+
Committed to comm-central as http://hg.mozilla.org/comm-central/rev/b3d3b3afb05c
Status: NEW → RESOLVED
Closed: 12 years ago
Resolution: --- → FIXED
Target Milestone: --- → Thunderbird 13.0
Whiteboard: [tb-orange]
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: