Forum OpenACS Q&A: Response to Installing Packages in new OACS 4.5

Posted by Don Baccus on
Something's getting messed up, certainly.  The "Invalid database type" errors you're getting are because of an earlier failure, further back than the 2000 line dump on your site (boy, that log gets big if you enable debug level logging!).

So the table of valid database types hasn't been initialized.  This table isn't initialized until all of the datamodel create files in acs-kernel have completed.

Which is an indication that you gave up to soon?  Or that something broke earlier and you didn't notice the error message in your browser?

Here's the flow:

1. The installer detects which database you've configured in AOLserver (PG, Oracle).

2. Some basic sanity checks are run to make sure you've got a reasonably recent version of the DB.

3. If so, you get the welcome screen that tells you everything's hunky-dory with the first "Next" button inviting you to load the datamodel.

4. All of the datamodel create files in packages/acs-kernel/sql/postgresql are run.

5. Then the database types table is populated (can't do it earlier as it is created by step #4).

6. Then the package .info files are read - this is where it's failing in the log you put up at the website.  This step fails because step #5 never ran because step #4 failed or stalled or otherwise screwed up.

7. Then you're presented the "Next" button to continue onwards.

So ... the magic question is "why did step #4 fail/hang/etc?"  It only takes a few minutes to load the kernel datamodel so I assume you didn't just give up too soon.

What you should do, perhaps, is recycle the database again (drop/create), fire up, hit the first "next" button.

Then, when it stalls, don't hit "back" and try again.  Rather, kill AOLserver, snarf the log, and post it to your website.

Then we can take a look and perhaps can figure out why step #4 failed.

Unfortunately PSQL doesn't report errors in an exec-friendly way so we detect them by trying to tease them out from the log file that's being generated.  Not very successfully in some cases.