This error appeared when adstrtal.sh was done on an instance. This came immediately after upgrading the OS of the instance from Solaris 8 to Solaris 10. So the usual suspect was the OS upgrade. However 356434.1 says that this happens when GUEST user is end dated. We queried the DB:
SQL> select end_date from fnd_user
2 where user_name='GUEST';
Sure enough it was end-dated. What a co-incidence ! It was end dated with the date on which OS upgrade was planned. So we issued this command:
update fnd_user set end_date=null where user_name='GUEST';
Issue was solved.