Troubleshooting - OpenGroupware/OpenGroupware.org GitHub Wiki
Model cannot be found
Sep 16 12:49:13 ogo-webui-5.5 [13201]: [ERROR] <0x0xaaaaeb26edb0[OGoContextManager]> did not find bundle for model 'OpenGroupware.org_PostgreSQL' (type=EOModels)
This means that the bundle containing the EOModel could not be found.
The bundle should be installed in /usr/local/ and is looked up using
the NGBundleManager
.
This can happen if the NGBundlePath
is not set or not set properly.
defaults read NGBundlePath
Sample:
defaults write ogo-webui-5.5 NGBundlePath \
"/usr/local/lib/GNUstep/Bundles:/usr/local/lib/GNUstep/Models-5.5:/usr/local/lib/GNUstep/WOxElemBuilders-4.9:/usr/local/lib/GNUstep/WebUI-5.5"
Invalid Superclass Version
2024-09-16 11:57:56.191 ogo-webui-5.5[8207:8207] OpenGroupware.m:139 Assertion failed in OpenGroupware(instance), method initialize. invalid superclass (WOApplication) version 0 !
This happens if the SOGo.nu version of SOPE is being used. At some point SOPE dropped including version numbers, apparently to support FreeBSD. Unclear what the actual issue was.
Fix: The change is reverted in the SOPE repo contained in the org.
The versions are used to counter the fragile base class issue Objective-C used to have. It might have become a non problem in the current runtime, but it still seems to make sense to version APIs.
Cannot create database schema
When running the OGo schema build script:
ERROR: permission denied for schema public
LINE 1: CREATE TABLE staff (
Since PG 15 regular database users are not allowed to
modify the public
(the default) schema of databases
anymore.
Solution: Create the schema as the postgres
database
user, and then give access to the tables as shown below.
Cannot access database tables
psql -U OGo OGo
OGo=> SELECT * FROM staff;
ERROR: permission denied for table staff
The database schema was probably created using the
postgres
user and the OGo
database user does
not have access to it.
Solution: grant r/w access, but do not provide schema access:
GRANT SELECT, INSERT, UPDATE, DELETE
ON ALL TABLES IN SCHEMA public TO "OGo";
GRANT SELECT, UPDATE, USAGE
ON ALL SEQUENCES IN SCHEMA public TO "OGo";
GRANT EXECUTE
ON ALL FUNCTIONS IN SCHEMA public TO "OGo";
OGoContextManager: could not fetch login information
2024-10-02 13:46:06.924 ogo-webui-5.5[73:73] OGoContextManager: could not fetch login information: <PostgreSQL72Exception: 0x55e6b21e1e60> NAME:PostgreSQL72FatalError REASON:fatal pgsql error (channel=<0x55e6b1e0ba20[PostgreSQL72Channel]: connection=<0x55e6b21ddd20[PGConnection]: connection=0x55e6b21d4350>>): ERROR: relation "person" does not exist
LINE 1: SELECT t1.login, t1.is_locked, t1.password FROM person t1 W...
^
Oct 02 13:46:07 ogo-webui-5.5 [73]: 192.168.65.1 "GET /OpenGroupware HTTP/1.1" 200 1439/0 0.286 5030 71% 3M - 11
This likely means that the OGo database schema has not been loaded, or loaded into the wrong database. Make sure this works for user OGo, database OGo:
sql -h localhost OGo OGo
SELECT * FROM staff;