Forum OpenACS Development: Has anyone else seen this error?

Posted by Janine Ohmer on
This is on an old ACS 4.2 site - the last Tcl release from Arsdigita.

A new user comes along and fills out their personal info on /register/user-new. They hit submit, and they get hit with an error from ad_page_contract in user-new-2 telling them that none of the required variables have been specified. It's as though the form is entirely missing. Except it's not, because if they go back and try again they will find out that their user actually did get created and they can now log in.

I know it's not some kind of user error because it has happened to me, but I have never been able to figure out what is causing it. There is nothing obviously wrong in user-new or user-new-2.

Anyone else see this?

Posted by Richard Hamilton on
Yes, I have, but I think this had to do with the IE bug where IE ignores the reply from aolserver during the redirect. but if you are having this problem with another browser I don't know.

In your example (if a related issue) I wonder whether the browser error occurs after some of the insert queries have run but before the entire process or tcl script has been completed.

Maybe there is some stuff that has gone astray that might give a clue as to when the issue occurs.

Sorry I cannot be of more help.

Posted by Janine Ohmer on
I finally figured it out.

Many moons ago we had added a call to ec_create_new_session_if_necessary to user-new-2.tcl, so that if a user had already shopped and had stuff in their cart, then created a user, it would allow them to keep their cart. This worked, I suppose (it's been so long I have forgotten the exact reason and I'm not even sure I was the one who put it in) but in some circumstances it ended up returning the user back to the caller, which in this case was user-new-2. Of course it did not pass the expected form along and so this error was the result.

Now that I see what's happening the only mystery is why it happens to only a few users and not everyone, but that's a question for another day. :)