Hello,
recently I tried to install the apps ERPNextSwiss by @lasalesi and IT Management by @wojosc. First of all thank you so much for your work and sharing the results.
I do not know whether it is specific to these apps, but depending on the way they are installed, they are bugged. Meaning some doctypes are not created and neither displayed in the modules cards, nor accessible via the awesome bar.
This is how it looks like versus how it is supposed to look like
Steps to reproduce:
- Take a site that has frappe and ERPNext installed and is in production mode
- Install one of those apps with the provided commands: bench get-app git.link; bench install-app appname
- Open the new app module on desk (!! This step produces the error !!)
- Install the other app
- The second app will be bugged
I can’t remember how I got both apps bugged on one of my lab-VMs but with these steps I could reproduce the erroneous state for one of the apps. Unfortunately the logs in frappe-bench/logs did not give me any clue as to what caused this.
Everytime I skipped the step of opening the first app on desk, both apps worked as should.
EDIT: I tried installing ERPNextSwiss on an instance that had been running for some time and it was also bugged. Restoring to a snapshot and rebooting before installing the app made it install properly. I guess the same would have happenned with IT Management.
I ran a diff on the app folders of a working and a bugged clone, which were configured with the exact same steps. Apart from the logs (timestamps), files in the respective .git-directories, .pid- and .pyc-files they are identical.
I was however able to make a bugged clone work again by restoring the database from one that was not bugged: bench --force --site site.url restore dump.sql
So it is definitively something wrong with the database, caused by opening the (or any 3rd-party?) app in desk before installing another one.
It is also curious that only very specific entries are bugged. For example ‘Bank Wizard’ in ERPNextSwiss is reachable via the awesome-bar but ‘Match payments’ is not.
Working through a diff of a working and non-working sql-dump has not been very fruitful.
Other unsuccessful steps tried to recover a bugged instance:
- Deleting all local site data and cache in browser
- Using different browsers (tested: current firefox, chromium, chrome)
- bench migrate (recompile), bench restart and chown -R frappe:frappe frappe-bench (permissions were already correct) inspired by the tueit IT Management install-wiki
- bench (–site site.url) clear-cache inspired by the documentation
- Creating a new user (and copying permissions of the administrator-user), thanks to lasalesi @ ERPNext Germany Telegram, inspired by [v12] Modules don't show on desk - #3 by jiloyssss (I guess this was a different issue after the fresh release of v12)
I am really nervous about the thought that a database could be corrupted without a trace in the logs and without knowing a fix to the issue beside completely overwriting the db.
I am more than happy to provide more details on my findings so far, if anybody is interested.
Does somebody have an idea as to what could cause this error or how to undestructively fix it?