Enabling Tapsure Password extension (on Fennec) throws exception in nsISupports.QueryInterface

RESOLVED DUPLICATE of bug 686362

Status

Cloud Services
Firefox Sync: Backend
RESOLVED DUPLICATE of bug 686362
6 years ago
5 years ago

People

(Reporter: tchung, Unassigned)

Tracking

Firefox Tracking Flags

(Not tracked)

Details

(URL)

(Reporter)

Description

6 years ago
on Fennec, i installed Tapsure, but also ran sync with password collections.   As a result, an exception in nsISupports.QueryInterface was thrown.

Note: Disabling Tapsure and re-sync'ing, doesnt show the error.

Repro:
1) install Fennec 6 beta 6, Nexus S.
 Mozilla/5.0 (Android; Linux armv7l; rv:6.0) Gecko/20110810 Firefox/6.0 Fennec/6.0
2) Install tapsure addon (3rd party password management addon -- https://addons.mozilla.org/en-US/mobile/addon/tapsure/)
3) Connect and Sync (include Passwords collection)
4) open error console, and verify the following errors:

1313039103516   Collection WARN     Got exception calling onProgress handler during fetch of https://phx-sync167.services.mozilla.com/1.1/3ywxyr3dlmcucey77j5jpa6hfq3mm4wn/storage/passwords?full=1&ids={bba89feb-72e9-5544-a4f6-c03bd4100847},{b00afa53-7997-fb4c-91d9-b352ee1057a3},{aef685d3-27aa-2f4e-9a71-8108f3ef3f34},{ae52e331-c1d8-8543-a538-57e3e8d13759},{adeb7b98-a3cf-7a49-b8be-31d8f37db040},{a9802696-70bf-b446-ac7a-12e2d2c12532},{a8924bf8-a2f0-4b49-af7b-59b11a3d5161},{a81f1abc-5a23-9b47-b35e-e91222f86d58},{a7fb588f-ea85-bb4c-8a3b-45c247fbb421},{a6bc7be9-785c-5b48-98a8-85e7e1c0461c},{a668724e-8807-584f-8f94-b26583899045},{a56b6075-9fb8-1e4c-9443-50aa50258ce8},{b1e65d7b-bb06-4b4a-9b8e-8eee7421f968},{b3006568-3300-5e47-baa8-9dc06385299f},{bb879a3a-bb7c-0745-9904-02552b9d3bd1},{bb0eb046-8229-7a4e-92fc-e82ecf278a71},{bad248ea-1a12-ba4c-ae38-4212b0f1d7a9},{bab97b4d-0699-3a40-b15b-e109b30a0386},{b9a5390a-ff92-b24c-9821-97ab04aea7b4},{b628e534-dc1c-5d47-bb53-2b2cedee118e},{b618eee6-9b20-6b4a-a31e-dd6d05b1b777},{b5a3bccb-512d-e849-8908-7c0ea9cca122},{b3eddc46-5511-df43-8f65-68ddbe424aa9},{b3cf3fcc-5064-4e40-b494-83dbdb9d8f4f},{b377db49-6917-0d48-9e8f-17f4e7ef491e},{a4a8d501-9351-ec48-a550-46b6931d88f3},{a25a9733-7a56-ca49-9724-240d2bcd71ac},{86e2d7de-e0d6-244c-815d-56110a6af95c},{8593828f-e5b6-ff4e-b1dc-ecc8f212904a},{855ae390-391b-c34c-8042-e8a334521d1b},{8470d7b8-3457-1b4b-94e4-ef0a78fa3e8d},{8354c07c-7213-9348-8c24-609177e09d8d},{8204b702-f3f8-844b-9a54-7f46736a8776},{81d10d4a-8cb4-4a41-9a4a-bca1fd5cccc1},{81bb8742-7560-a44e-b180-4028599fd57c},{801f1153-e834-fe45-88c4-894c76c4c716},{7f5139e8-c03f-4546-a3e9-d9a379fa297b},{7dc1e475-5d80-4442-a204-0512da65f66e},{88a2d8be-d08e-604e-b4b9-0097287ae5ce},{8b4de5af-7378-684a-a867-ded996982f4a},{9fe456dc-274f-9642-8240-edd46a086d8c},{9e2b20e4-da2c-9b46-a3df-0d507e787a42},{98c9ef95-7b44-484d-8612-a47b148d97f8},{951b1f47-14af-4f4a-998b-a16fbec9cf71},{95071c4a-d89e-4994-b5a5-4ea54fc2a073},{93862a24-2076-c446-b2a3-25fb5b4c4f50},{92c3099b-e393-2941-8ba8-7bc34c6b255f},{91267a95-0a58-954f-a3e6-397d62c07809},{90a48e7c-cb4c-6f4a-82e4-6ee2b11eb628},{8e65482d-03cd-5345-9f87-db4f2464cbf3}
    
[Exception... "Component returned failure code: 0x80004002 (NS_NOINTERFACE) [nsISupports.QueryInterface]"  nsresult: "0x80004002 (NS_NOINTERFACE)"  location: "JS frame :: resource://services-sync/engines/passwords.js :: <TOP_LEVEL> :: line 119"  data: no]
    resource://services-sync/engines/passwords.js 119 

Expected:
- no exception thrown with tapsure enabled

Actual:
- Exception thrown with tapsure enabled
I'm inclined to limit our options to:

* Defensive coding: disable password sync if we don't have the right password manager capabilities.

* Get the authors of TapSure to fix it.
It's really not our bug, if extensions are breaking the login manager contract, they're doing a bad thing and they should fix it.
Status: NEW → RESOLVED
Last Resolved: 6 years ago
Resolution: --- → INVALID
(In reply to Mike Connor [:mconnor] from comment #2)
> It's really not our bug, if extensions are breaking the login manager
> contract, they're doing a bad thing and they should fix it.

Yes and no. Very late in the Firefox 4 cycle we added the possibility to our password manager implementation to QI it to mozIStorageConnection, so that we can manually determine the transaction size. This means Sync is not pretty much tied to any password manager implementation that uses moz storage underneath, or at least fakes that contract.

Yes, I agree that Sync should not have to work with third party password managers, but it should handle that case gracefully and simply disable itself.
Status: RESOLVED → REOPENED
Resolution: INVALID → ---
Status: REOPENED → RESOLVED
Last Resolved: 6 years ago5 years ago
Resolution: --- → DUPLICATE
Duplicate of bug: 686362
You need to log in before you can comment on or make changes to this bug.