View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
0004748 | Taler | wallet (WebExtension) | public | 2016-10-21 20:17 | 2020-01-20 12:25 |
Reporter | tg | Assigned To | Florian Dold | ||
Priority | normal | Severity | feature | Reproducibility | always |
Status | closed | Resolution | won't fix | ||
Platform | Edge | OS | Windows | OS Version | 10 |
Product Version | git (master) | ||||
Target Version | 0.6 | Fixed in Version | 0.6 | ||
Summary | 0004748: errors in edge | ||||
Description | extension icon is not displayed in toolbar, setIcon does not seem to work popup: - balance is not shown - history is not shown payment: - have to click twice on 'confirm payment' button otherwise both withdrawal and payment work tested 0.6.22 | ||||
Steps To Reproduce | 1. download VM: https://developer.microsoft.com/en-us/microsoft-edge/tools/vms/ 2. convert chrome to edge extension: https://www.microsoft.com/en-us/store/p/microsoft-edge-extension-toolkit/9nblggh4txvb 3. enable developer mode: https://developer.microsoft.com/en-us/microsoft-edge/platform/documentation/extensions/guides/adding-and-removing-extensions/ | ||||
Tags | No tags attached. | ||||
|
tg: can you look into this one? |
|
TG: Can you try with the most recent demo and the most recent Edge? |
|
Microsoft Edge 38.14393.0.0 Taler 0.2.2 / 0.6.39, POPUP - balance page is empty WITHDRAW - stuck at waiting for exchange.demo.taler.net.. error console: XMLHttpRequest: Network Error 0x2, The system cannot find the file specified. this shows up about 10x, some even before Jed loads if I enable break on exception and press ctrl+R, then I get two breaks on src/pages/confirm-create-reserve.js:271 let r = yield wxApi_1.getReserveCreationInfo(url, this.props.amount); somehow I also got this two times while stepping thru some code there, but then couldn't reproduce it anymore: CSP14312: Resource violated directive 'script-src 'self'' in Host Defined Policy: script eval. Resource will be blocked. |
|
looks like this exception only happens if I press ctrl+R, when the page loads for the first time there's no exception and the xmlhttprequest errors only show up 10 seconds after the page loaded |
|
after enabling background page debugging, I got this when trying to withdraw: got connect! wxBackend.js (569,25) making fresh exchange wallet.js (981,29) src/query.js:415 tx.objectStore(store.name).put(obj); DataError then the error is bubbling up: wallet.js:1022 yield this.q() .putAll(Stores.denominations, Object.keys(newAndUnseenDenoms).map((d) => newAndUnseenDenoms[d])) .putAll(Stores.denominations, Object.keys(existingDenoms).map((d) => existingDenoms[d])) .finish(); wallet.js:992 let updatedExchangeInfo = yield this.updateExchangeInfo(exchangeInfo,exchangeKeysJson); wallet.js:910 let exchangeInfo = yield this.updateExchangeFromUrl(baseUrl); DataError wxBackend.js:240 let r = yield p; DataError also, wxBackend.js:255 e.stack is undefined (e is of type DOMException) further entries console log: exception during wallet handler for 'reserve-creation-info' wxBackend.js (248,17) request.type: "reserve-creation-info" SCRIPT7002: XMLHttpRequest: Network Error 0x2, The system cannot find the file specified. 9 SCRIPT7002: XMLHttpRequest: Network Error 0x2, The system cannot find the file specified. 9 SCRIPT7002: XMLHttpRequest: Network Error 0x2, The system cannot find the file specified. 9 SCRIPT7002: XMLHttpRequest: Network Error 0x2, The system cannot find the file specified. 9 SCRIPT7002: XMLHttpRequest: Network Error 0x2, The system cannot find the file specified. 9 SCRIPT7002: XMLHttpRequest: Network Error 0x2, The system cannot find the file specified. 9 SCRIPT7002: XMLHttpRequest: Network Error 0x2, The system cannot find the file specified. 9 SCRIPT7002: XMLHttpRequest: Network Error 0x2, The system cannot find the file specified. 9 SCRIPT7002: XMLHttpRequest: Network Error 0x2, The system cannot find the file specified. 9 SCRIPT7002: XMLHttpRequest: Network Error 0x2, The system cannot find the file specified. 9 got connect! wxBackend.js (569,25) got connect! wxBackend.js (569,25) making fresh exchange wallet.js (981,29) console.dir() undefined obj { [functions]: , __proto__: { }, denomPub: "51R7ARKCD5HJTTV5F4G0M818E9SP280A40G2GVH04CR30GSG68S3JC9N88WK6G9N8H2M8H2460R3CGT38GTM2DJ66X138GA46S1K2DSN8MTM4C9K6WS3AE1P6CR3AH1G710KCDHM6WR4CG9P84TM4CSN6MSKCHA3650M4C228D2KJE268RRKEE9N8H248CA474V30GJ38GV4AD1J6GRM6DT16RVM4EA36MSM2CHM68SK2DSK8RW30E9Q6CS44HHM6CWK0G9Q8CR3GD9R68TMCDSR8MSMAEA56MTM8CSH6MW3AGHR6RS3GGJ38GT3CE1J60VM2GA56WT34DJ364T48C9K6GR3ACHQ6WRK4HJ36GT30H1K8H33GDA28RS44D1K6GW42HHS6CRK6GT38534CH9H60RK6HHN8H34AD9J6RTM6H1G6WR3JH2660T46C9K60R3AH1R84RK6G9M6CSKJD248GRKGGA575332DSG8N348D1Q6X2K2C1M6X146H9M8MRM4DHJ8GV3AEA56D1K8H1M710KAE1J74RMCCA674SMCDSH6GS46H9K8CT3GD9N8RS3CC1S712K6DHG6N2K4C9H6N248GA2851KGD1M8RWMAD1G611MCG9N6RVK4GT58CSM2D226WWK4E1S6D1KEC9N84RKJCHS8D0MADJ374TKAH9K6S2K2EA18934CDA46CV30GA68RV32GSJ8S1MCH9G891K0DHQ6WRKGGA58H33JGHS8RW30E9Q8GV46CA26S0K2C216MS30C9S6WT30D9N6MW38H1G8N130HHH6MSKGG9G84V34DA28RVKECA26GVKAD9N6D1K0HA56CR32E9N6WR30E9Q4CMGM81051JJ08SG64R30C1H4CMGM81054520A8A00", exchangeBaseUrl: "https://exchange.demo.taler.net/", feeDeposit: { [functions]: , __proto__: { }, currency: "KUDOS", fraction: 1000000, value: 0 }, feeRefresh: { [functions]: , __proto__: { }, currency: "KUDOS", fraction: 1000000, value: 0 }, feeRefund: { [functions]: , __proto__: { }, currency: "KUDOS", fraction: 1000000, value: 0 }, feeWithdraw: { [functions]: , __proto__: { }, currency: "KUDOS", fraction: 1000000, value: 0 }, isOffered: true, masterSig: "859X0D9PB1G9MS6RK970W73VXPM1BBZZ0FN8DJQFG50JYJX0ZSYH4H1QPTE5R1WJCNXPKX95RVE92F5RVH4ZNVDSRNF8MRGV2V0PR3G", stampExpireDeposit: "/Date(1646839844)/", stampExpireLegal: "/Date(1804519844)/", stampExpireWithdraw: "/Date(1583767844)/", stampStart: "/Date(1489159844)/", status: 0, value: { [functions]: , __proto__: { }, currency: "KUDOS", fraction: 0, value: 1000 } } exception during wallet handler for 'reserve-creation-info' wxBackend.js (248,17) request [object Object] wxBackend.js (249,17) "request" { [functions]: , __proto__: { }, detail: { }, type: "reserve-creation-info" } DataError wxBackend.js (250,17) { [functions]: , __proto__: { }, ABORT_ERR: 20, code: 0, DATA_CLONE_ERR: 25, DOMSTRING_SIZE_ERR: 2, HIERARCHY_REQUEST_ERR: 3, INDEX_SIZE_ERR: 1, INUSE_ATTRIBUTE_ERR: 10, INVALID_ACCESS_ERR: 15, INVALID_CHARACTER_ERR: 5, INVALID_MODIFICATION_ERR: 13, INVALID_NODE_TYPE_ERR: 24, INVALID_STATE_ERR: 11, message: "DataError", name: "DataError", NAMESPACE_ERR: 14, NETWORK_ERR: 19, NO_DATA_ALLOWED_ERR: 6, NO_MODIFICATION_ALLOWED_ERR: 7, NOT_FOUND_ERR: 8, NOT_SUPPORTED_ERR: 9, PARSE_ERR: 81, QUOTA_EXCEEDED_ERR: 22, SECURITY_ERR: 18, SERIALIZE_ERR: 82, SYNTAX_ERR: 12, TIMEOUT_ERR: 23, TYPE_MISMATCH_ERR: 17, URL_MISMATCH_ERR: 21, VALIDATION_ERR: 16, WRONG_DOCUMENT_ERR: 4 } making fresh exchange wallet.js (981,29) exception during wallet handler for 'reserve-creation-info' wxBackend.js (248,17) request [object Object] wxBackend.js (249,17) "request" { [functions]: , __proto__: { }, detail: { [functions]: , __proto__: { }, amount: { [functions]: , __proto__: { }, currency: "KUDOS", fraction: 0, value: 10 }, baseUrl: "https://exchange.demo.taler.net/" }, type: "reserve-creation-info" } DataError wxBackend.js (250,17) { [functions]: , __proto__: { }, ABORT_ERR: 20, code: 0, DATA_CLONE_ERR: 25, DOMSTRING_SIZE_ERR: 2, HIERARCHY_REQUEST_ERR: 3, INDEX_SIZE_ERR: 1, INUSE_ATTRIBUTE_ERR: 10, INVALID_ACCESS_ERR: 15, INVALID_CHARACTER_ERR: 5, INVALID_MODIFICATION_ERR: 13, INVALID_NODE_TYPE_ERR: 24, INVALID_STATE_ERR: 11, message: "DataError", name: "DataError", NAMESPACE_ERR: 14, NETWORK_ERR: 19, NO_DATA_ALLOWED_ERR: 6, NO_MODIFICATION_ALLOWED_ERR: 7, NOT_FOUND_ERR: 8, NOT_SUPPORTED_ERR: 9, PARSE_ERR: 81, QUOTA_EXCEEDED_ERR: 22, SECURITY_ERR: 18, SERIALIZE_ERR: 82, SYNTAX_ERR: 12, TIMEOUT_ERR: 23, TYPE_MISMATCH_ERR: 17, URL_MISMATCH_ERR: 21, VALIDATION_ERR: 16, WRONG_DOCUMENT_ERR: 4 } then all of the above repeats once more |
|
Payment page in the essay store: cryptoWorker.js produces the following two types of errors: 1. taler-emscripten-lib.js lookup:(function(parent,name){throw FS.genericErrors[ERRNO_CODES.ENOENT]}) Error: No such file or directory the above repeats for these paths: /tmp /home /home/web_user /dev /dev/null /dev/tty /dev/tty1 /dev/random /dev/urandom /dev/shm /dev/shm/tmp /proc /proc/self /proc/self/fd /dev/stdin /dev/stdout /dev/stderr /etc /proc/sys /proc/sys/crypto/fips_enabled /etc /etc/gcrypt/hwf.deny 2. system-csp-production.src.js:4519 throw new Error('_'); then there's this error from the main thread: Unknown code: function v(i,r){var o,u,e; return t(r)!="undefined"&&(o=f.stringify(r)),u=n.genericSynchronousFunction(i,o),typeof u=="string"?e=f.parse(u):u&&(e=u),e} The handle is invalid call stack: [Main Thread] v [Line: 1, Col: 6262], Unknown script code (1) b [Line: 1, Col: 6122], Unknown script code (1) pi [Line: 1, Col: 3967], Unknown script code (1) ChromeNotifier.prototype.notify [Line: 584, Col: 25], wxBackend.js Anonymous function [Line: 454, Col: 25], wallet.js Generator.prototype.next fulfilled [Line: 26, Col: 47], wallet.js [Worker#2 cryptoWorker.js (background.html)] wxBackend.js:240 let r = yield p; The handle is invalid console log: exception during wallet handler for 'save-offer' wxBackend.js (248,17) request [object Object] wxBackend.js (249,17) "request" { [functions]: , __proto__: { }, detail: { }, type: "save-offer" } Error: The handle is invalid. wxBackend.js (250,17) { [functions]: , __proto__: { }, description: "The handle is invalid. ", message: "The handle is invalid. ", name: "Error", number: -2147024890, stack: "Error: The handle is invalid. at v (Unknown script code:2:6261) at b (Unknown script code:2:6121) at pi (Unknown script code:2:3966) at ChromeNotifier.prototype.notify (ms-browser-extension://GNUTalerWallet_s1h8er1fc6q4m/src/wxBackend.js:584:25) at Anonymous function (ms-browser-extension://GNUTalerWallet_s1h8er1fc6q4m/src/wallet.js:461:25) at Generator.prototype.next (native code) at fulfilled (ms-browser-extension://GNUTalerWallet_s1h8er1fc6q4m/src/wallet.js:26:47)" } |
|
First issue is that edge has problems with using an array as indexeddb key, we use currently: super("denominations", {keyPath: ["exchangeBaseUrl", "denomPub"] as any as IDBKeyPath}); there's an open bug report about this: https://developer.microsoft.com/en-us/microsoft-edge/platform/issues/3766542/ one suggestion is to use a concatenated string as key instead: http://stackoverflow.com/questions/20710884/using-arrays-as-indexeddb-keypaths-in-ie-10-11 The second issue is when using Port.postMessage() returning "The handle is invalid", this may be because Port.onDisconnect() has only been implemented recently: https://docs.microsoft.com/en-us/microsoft-edge/extensions/api-support/extension-api-roadmap Placing postMessage() inside a try/catch block is a workaround for now. Another issue is that edge does not like passing an undefined argument to openCursor(), as in query.ts:480 let req = s.openCursor(kr); Replacing this with two different calls, one with an argument and one without, solves this issue. Then what happens next is that due to having 0 coins in the wallet, checkPay() is called in an infinite loop, resulting in after 50 or so iterations edge starting to return an error on every operation on this.q(), e.g: let transaction = yield this.q().get(Stores.transactions, offer.H_contract); Error: Object doesn't support property or method 'get' It should give up after the first insufficient coins message. |
|
This is based on a very old wallet, and Edge will be based on Chromium in the future, so it doesn't make sense to investigate errors for the old Edge. |
Date Modified | Username | Field | Change |
---|---|---|---|
2016-10-21 20:17 | tg | New Issue | |
2016-10-21 20:17 | tg | Status | new => assigned |
2016-10-21 20:17 | tg | Assigned To | => Florian Dold |
2016-10-21 22:00 | Christian Grothoff | Severity | minor => feature |
2016-10-21 22:00 | Christian Grothoff | Product Version | 0.6 => git (master) |
2016-11-15 15:55 | Christian Grothoff | Target Version | => 0.3 |
2017-03-02 08:08 | Christian Grothoff | Note Added: 0011880 | |
2017-03-23 19:27 | Florian Dold | Note Added: 0011969 | |
2017-03-23 19:27 | Florian Dold | Assigned To | Florian Dold => tg |
2017-04-09 00:27 | Christian Grothoff | Priority | low => normal |
2017-04-09 00:27 | Christian Grothoff | Target Version | 0.3 => 0.7.1 |
2017-04-27 17:17 | tg | Note Added: 0012073 | |
2017-04-27 17:28 | tg | Note Added: 0012074 | |
2017-04-27 19:13 | tg | Note Added: 0012075 | |
2017-04-27 19:14 | tg | Note Added: 0012076 | |
2017-04-28 19:28 | tg | Note Added: 0012080 | |
2017-04-28 19:31 | tg | Assigned To | tg => Florian Dold |
2019-12-28 15:53 | Florian Dold | Status | assigned => resolved |
2019-12-28 15:53 | Florian Dold | Resolution | open => won't fix |
2019-12-28 15:53 | Florian Dold | Note Added: 0015225 | |
2020-01-20 12:25 | Christian Grothoff | Status | resolved => closed |
2020-01-20 12:25 | Christian Grothoff | Fixed in Version | => 0.6 |
2020-01-20 12:25 | Christian Grothoff | Target Version | 0.7.1 => 0.6 |
2023-04-13 20:37 | Florian Dold | Category | wallet (WebExtensions) => wallet (WebExtension) |