We're getting ORA-03113: end-of-file on communication channel on
requests to /register/awaiting-email-verification.
ORA-03113's are particularly nasty because they kill the db
connection.
The problem appears to be with this query...
select member_state, email, rowid as row_id
from cc_users
where user_id = :user_id and
email_verified_p = 'f'
I think the issue is that CC_USERS is a VIEW and that selecting
ROWID from a view *should* be a problem.
Fooling around in sql*plus, I find that some queries involving
cc_users.rowid cause Oracle to die with ORA-03113 and others
don't. I haven't dug much further than that. But here's a pretty
interesting result:
SQL> select c.rowid as row_id, u.rowid as row2_id
from cc_users c, users u where c.user_id = u.user_id and rownum
< 1000;
2
ROW_ID ROW2_ID
------------------ ------------------
ACBALMAPLAANwPCBlW AAAThzAALAADNGGAAA
ACBALMAPLAANwPCDY7 AAAThzAALAADNGGAAB
ACBALMAPLAANwPCDZG AAAThzAALAADNGGAAC
ACBALMAPLAANwPCDZT AAAThzAALAADNGGAAD
...
Notice that the ROWID's are different. Digging through packages/acs-
subsite/www/register, it is clear that the code expects a ROWID from
the USERs table. So the solution is either to add a suitable column
to the cc_users view, i.e. "users.rowid as row_id", or modifiy the
queries in awaiting-email-verification and email-confirm to join
against users. We've done the latter for now.