Problems with coming (i.e. future) operations and ING with two accounts of the same type
I had a problem since August, 7th with my ING account: Kresus was unable to fetch the operations. I solved the problem by commenting the fetching of coming operations in build/server/providers/weboob/py/main.py
.
Show Kresus stacktrace
Aug 25 21:24:11 bender kresus[694]: [2020-08-25T21:24:11.164] [ERROR] providers/weboob - Got error while running command "operations": Unknown error: .
Aug 25 21:24:11 bender kresus[694]: Traceback (most recent call last):
Aug 25 21:24:11 bender kresus[694]: File "~kresus_user/kresus/build/server/providers/weboob/py/main.py", line 687, in fetch
Aug 25 21:24:11 bender kresus[694]: results['values'] = self.get_operations(from_date)
Aug 25 21:24:11 bender kresus[694]: File "~kresus_user/kresus/build/server/providers/weboob/py/main.py", line 604, in get_operations
Aug 25 21:24:11 bender kresus[694]: op for op in self.backend.iter_coming(account)
Aug 25 21:24:11 bender kresus[694]: File "~kresus_user/.kresus/weboob-data/modules/2.0/ing/module.py", line 90, in iter_coming
Aug 25 21:24:11 bender kresus[694]: return self.browser.iter_coming(account)
Aug 25 21:24:11 bender kresus[694]: File "~kresus_user/.kresus/weboob-data/modules/2.0/ing/api_browser.py", line 67, in inner
Aug 25 21:24:11 bender kresus[694]: return func(self, *args, **kwargs)
Aug 25 21:24:11 bender kresus[694]: File "~kresus_user/.kresus/weboob-data/modules/2.0/ing/api_browser.py", line 433, in iter_coming
Aug 25 21:24:11 bender kresus[694]: return self.get_web_coming(account)
Aug 25 21:24:11 bender kresus[694]: File "~kresus_user/.kresus/weboob-data/modules/2.0/ing/api_browser.py", line 91, in wrapper
Aug 25 21:24:11 bender kresus[694]: return func(self, *args, **kwargs)
Aug 25 21:24:11 bender kresus[694]: File "~kresus_user/.kresus/weboob-data/modules/2.0/ing/api_browser.py", line 417, in get_web_coming
Aug 25 21:24:11 bender kresus[694]: return self.old_browser.get_coming(account)
Aug 25 21:24:11 bender kresus[694]: File "/usr/local/lib/python3.7/dist-packages/weboob/browser/browsers.py", line 824, in inner
Aug 25 21:24:11 bender kresus[694]: return func(browser, *args, **kwargs)
Aug 25 21:24:11 bender kresus[694]: File "~kresus_user/.kresus/weboob-data/modules/2.0/ing/browser.py", line 68, in wrapper
Aug 25 21:24:11 bender kresus[694]: return f(*args, **kwargs)
Aug 25 21:24:11 bender kresus[694]: File "~kresus_user/.kresus/weboob-data/modules/2.0/ing/browser.py", line 375, in get_coming
Aug 25 21:24:11 bender kresus[694]: account = self.get_account(account.id, space=account._space)
Aug 25 21:24:11 bender kresus[694]: File "~kresus_user/.kresus/weboob-data/modules/2.0/ing/browser.py", line 345, in get_account
Aug 25 21:24:11 bender kresus[694]: return find_object(self.get_accounts_list(fill_account=False, space=space), id=_id, error=AccountNotFound)
Aug 25 21:24:11 bender kresus[694]: File "/usr/local/lib/python3.7/dist-packages/weboob/capabilities/base.py", line 109, in find_object
Aug 25 21:24:11 bender kresus[694]: for a in mylist:
Aug 25 21:24:11 bender kresus[694]: File "~kresus_user/.kresus/weboob-data/modules/2.0/ing/browser.py", line 292, in get_accounts_list
Aug 25 21:24:11 bender kresus[694]: for acc in self.get_accounts_on_space(space, fill_account=fill_account):
Aug 25 21:24:11 bender kresus[694]: File "~kresus_user/.kresus/weboob-data/modules/2.0/ing/browser.py", line 239, in get_accounts_on_space
Aug 25 21:24:11 bender kresus[694]: assert acc._space == space
Aug 25 21:24:11 bender kresus[694]: AssertionError
Aug 25 21:24:11 bender kresus[694]: [2020-08-25T21:24:11.164] [ERROR] providers/weboob - #011(error code: GENERIC_EXCEPTION)
Aug 25 21:24:11 bender kresus[694]: [2020-08-25T21:24:11.222] [ERROR] helpers - when fetching accounts: Unknown error: .
Aug 25 21:24:11 bender kresus[694]: Traceback (most recent call last):
Aug 25 21:24:11 bender kresus[694]: File "~kresus_user/kresus/build/server/providers/weboob/py/main.py", line 687, in fetch
Aug 25 21:24:11 bender kresus[694]: results['values'] = self.get_operations(from_date)
Aug 25 21:24:11 bender kresus[694]: File "~kresus_user/kresus/build/server/providers/weboob/py/main.py", line 604, in get_operations
Aug 25 21:24:11 bender kresus[694]: op for op in self.backend.iter_coming(account)
Aug 25 21:24:11 bender kresus[694]: File "~kresus_user/.kresus/weboob-data/modules/2.0/ing/module.py", line 90, in iter_coming
Aug 25 21:24:11 bender kresus[694]: return self.browser.iter_coming(account)
Aug 25 21:24:11 bender kresus[694]: File "~kresus_user/.kresus/weboob-data/modules/2.0/ing/api_browser.py", line 67, in inner
Aug 25 21:24:11 bender kresus[694]: return func(self, *args, **kwargs)
Aug 25 21:24:11 bender kresus[694]: File "~kresus_user/.kresus/weboob-data/modules/2.0/ing/api_browser.py", line 433, in iter_coming
Aug 25 21:24:11 bender kresus[694]: return self.get_web_coming(account)
Aug 25 21:24:11 bender kresus[694]: File "~kresus_user/.kresus/weboob-data/modules/2.0/ing/api_browser.py", line 91, in wrapper
Aug 25 21:24:11 bender kresus[694]: return func(self, *args, **kwargs)
Aug 25 21:24:11 bender kresus[694]: File "~kresus_user/.kresus/weboob-data/modules/2.0/ing/api_browser.py", line 417, in get_web_coming
Aug 25 21:24:11 bender kresus[694]: return self.old_browser.get_coming(account)
Aug 25 21:24:11 bender kresus[694]: File "/usr/local/lib/python3.7/dist-packages/weboob/browser/browsers.py", line 824, in inner
Aug 25 21:24:11 bender kresus[694]: return func(browser, *args, **kwargs)
Aug 25 21:24:11 bender kresus[694]: File "~kresus_user/.kresus/weboob-data/modules/2.0/ing/browser.py", line 68, in wrapper
Aug 25 21:24:11 bender kresus[694]: return f(*args, **kwargs)
Aug 25 21:24:11 bender kresus[694]: File "~kresus_user/.kresus/weboob-data/modules/2.0/ing/browser.py", line 375, in get_coming
Aug 25 21:24:11 bender kresus[694]: account = self.get_account(account.id, space=account._space)
Aug 25 21:24:11 bender kresus[694]: File "~kresus_user/.kresus/weboob-data/modules/2.0/ing/browser.py", line 345, in get_account
Aug 25 21:24:11 bender kresus[694]: return find_object(self.get_accounts_list(fill_account=False, space=space), id=_id, error=AccountNotFound)
Aug 25 21:24:11 bender kresus[694]: File "/usr/local/lib/python3.7/dist-packages/weboob/capabilities/base.py", line 109, in find_object
Aug 25 21:24:11 bender kresus[694]: for a in mylist:
Aug 25 21:24:11 bender kresus[694]: File "~kresus_user/.kresus/weboob-data/modules/2.0/ing/browser.py", line 292, in get_accounts_list
Aug 25 21:24:11 bender kresus[694]: for acc in self.get_accounts_on_space(space, fill_account=fill_account):
Aug 25 21:24:11 bender kresus[694]: File "~kresus_user/.kresus/weboob-data/modules/2.0/ing/browser.py", line 239, in get_accounts_on_space
Aug 25 21:24:11 bender kresus[694]: assert acc._space == space
Aug 25 21:24:11 bender kresus[694]: AssertionError
Aug 25 21:24:11 bender kresus[694]: [2020-08-25T21:24:11.227] [INFO] helpers - Error
Aug 25 21:24:11 bender kresus[694]: at new KError (~kresus_user/kresus/build/server/helpers.js:59:22)
Aug 25 21:24:11 bender kresus[694]: at callWeboob (~kresus_user/kresus/build/server/providers/weboob/index.js:213:15)
Aug 25 21:24:11 bender kresus[694]: at runMicrotasks ()
Aug 25 21:24:11 bender kresus[694]: at processTicksAndRejections (internal/process/task_queues.js:97:5)
Aug 25 21:24:11 bender kresus[694]: at async _fetchHelper (~kresus_user/kresus/build/server/providers/weboob/index.js:258:16)
Aug 25 21:24:11 bender kresus[694]: at async Object.fetchOperations (~kresus_user/kresus/build/server/providers/weboob/index.js:281:12)
Aug 25 21:24:11 bender kresus[694]: at async AccountManager.retrieveOperationsByAccess (~kresus_user/kresus/build/server/lib/accounts-manager.js:218:25)
Aug 25 21:24:11 bender kresus[694]: at async fetchAccounts (~kresus_user/kresus/build/server/controllers/accesses.js:142:43)
I dumped some variables in weboob module and the assert acc._space == space
always failed because one was my Livret A
account and the other was my kid’s Livret A
. I think it’s a clue about the source of the problem.
If the problem can not be easily tracked and solved, I suggest a setting switch at bank level to disable fetching coming operations, with the indication This may solve problems, try disabling it if account fetching is in trouble
(well, something similar).