Closed Bug 897575 Opened 11 years ago Closed 11 years ago

[dev][traceback] Unable to register new accounts

Categories

(Firefox Affiliates Graveyard :: affiliates.mozilla.org, defect)

defect
Not set
major

Tracking

(Not tracked)

VERIFIED FIXED

People

(Reporter: mbrandt, Unassigned)

References

()

Details

(Whiteboard: [dev][traceback][fromAutomation])

Registering new accounts throws a 500 error.

Steps to reproduce:
1. goto affiliates.allizom.org
2. register a new account

Actual:
After the Personas workflow logs the user in, affiliates.allizom.org throws a 500 error. 

If the new user attempts to log in a 2nd time they will be successful, but a different 500 error will be thrown if they attempt to edit their profile


Traceback that is thrown when creating a new account:

Traceback (most recent call last):

  File "/data/www/affiliates-dev.allizom.org/affiliates-app/vendor/src/django/django/core/handlers/base.py", line 111, in get_response
    response = callback(request, *callback_args, **callback_kwargs)

  File "/data/www/affiliates-dev.allizom.org/affiliates-app/vendor/src/django-session-csrf/session_csrf/__init__.py", line 127, in wrapper
    response = f(request, *args, **kw)

  File "/data/www/affiliates-dev.allizom.org/affiliates-app/apps/users/views.py", line 71, in register
    return home(request, register_form=form)

  File "/data/www/affiliates-dev.allizom.org/affiliates-app/vendor/src/django-session-csrf/session_csrf/__init__.py", line 127, in wrapper
    response = f(request, *args, **kw)

  File "/data/www/affiliates-dev.allizom.org/affiliates-app/apps/shared/views.py", line 46, in home
    return browserid_home(request)

  File "/data/www/affiliates-dev.allizom.org/affiliates-app/apps/shared/views.py", line 65, in browserid_home
    response = browserid_register(request, register_form)

  File "/data/www/affiliates-dev.allizom.org/affiliates-app/vendor/src/django/django/views/decorators/http.py", line 45, in inner
    return func(request, *args, **kwargs)

  File "/data/www/affiliates-dev.allizom.org/affiliates-app/apps/browserid/views.py", line 70, in register
    UserProfile.objects.create(user=user, display_name=display_name)

  File "/data/www/affiliates-dev.allizom.org/affiliates-app/vendor/src/django/django/db/models/manager.py", line 138, in create
    return self.get_query_set().create(**kwargs)

  File "/data/www/affiliates-dev.allizom.org/affiliates-app/vendor/src/django/django/db/models/query.py", line 360, in create
    obj.save(force_insert=True, using=self.db)

  File "/data/www/affiliates-dev.allizom.org/affiliates-app/vendor/src/django/django/db/models/base.py", line 460, in save
    self.save_base(using=using, force_insert=force_insert, force_update=force_update)

  File "/data/www/affiliates-dev.allizom.org/affiliates-app/vendor/src/django/django/db/models/base.py", line 553, in save_base
    result = manager._insert(values, return_id=update_pk, using=using)

  File "/data/www/affiliates-dev.allizom.org/affiliates-app/vendor/src/django/django/db/models/manager.py", line 195, in _insert
    return insert_query(self.model, values, **kwargs)

  File "/data/www/affiliates-dev.allizom.org/affiliates-app/vendor/src/django/django/db/models/query.py", line 1436, in insert_query
    return query.get_compiler(using=using).execute_sql(return_id)

  File "/data/www/affiliates-dev.allizom.org/affiliates-app/vendor/src/django/django/db/models/sql/compiler.py", line 791, in execute_sql
    cursor = super(SQLInsertCompiler, self).execute_sql(None)

  File "/data/www/affiliates-dev.allizom.org/affiliates-app/vendor/src/django/django/db/models/sql/compiler.py", line 735, in execute_sql
    cursor.execute(sql, params)

  File "/data/www/affiliates-dev.allizom.org/affiliates-app/vendor-local/src/django-statsd/django_statsd/patches/utils.py", line 7, in wrapped
    return method(*args, **kw)

  File "/data/www/affiliates-dev.allizom.org/affiliates-app/vendor/src/django/django/db/backends/mysql/base.py", line 86, in execute
    return self.cursor.execute(query, args)

  File "/usr/lib/python2.6/site-packages/MySQLdb/cursors.py", line 173, in execute
    self.errorhandler(self, exc, value)

  File "/usr/lib/python2.6/site-packages/MySQLdb/connections.py", line 36, in defaulterrorhandler
    raise errorclass, errorvalue

OperationalError: (1364, "Field 'accept_email' doesn't have a default value")

===========================


Traceback that is thrown when trying to edit the account that was incorrectly created after the first run:

Traceback (most recent call last):

  File "/data/www/affiliates-dev.allizom.org/affiliates-app/vendor/src/django/django/core/handlers/base.py", line 111, in get_response
    response = callback(request, *callback_args, **callback_kwargs)

  File "/data/www/affiliates-dev.allizom.org/affiliates-app/vendor/src/django/django/contrib/auth/decorators.py", line 23, in _wrapped_view
    return view_func(request, *args, **kwargs)

  File "/data/www/affiliates-dev.allizom.org/affiliates-app/apps/users/views.py", line 99, in edit_profile
    form = forms.EditProfileForm(instance=request.user.get_profile())

  File "/data/www/affiliates-dev.allizom.org/affiliates-app/vendor/src/django/django/contrib/auth/models.py", line 383, in get_profile
    self._profile_cache = model._default_manager.using(self._state.db).get(user__id__exact=self.id)

  File "/data/www/affiliates-dev.allizom.org/affiliates-app/vendor/src/django/django/db/models/query.py", line 349, in get
    % self.model._meta.object_name)

DoesNotExist: UserProfile matching query does not exist.
Can't replicate. And those tracebacks are blowing my mind, they're referencing templates that are part of the old auth system, not the Persona one.

We'll reopen if it comes up again, but it seems to be working fine now. /me shrugs
Status: NEW → RESOLVED
Closed: 11 years ago
Resolution: --- → WORKSFORME
Reopening:

So sorry, it's reproducible only on dev. Sorry for leading you astray with sending you to stage.
Status: RESOLVED → VERIFIED
Resolution: WORKSFORME → FIXED
doh .. autopilot'd verified
Status: VERIFIED → REOPENED
Resolution: FIXED → ---
So apparently there was a column in the database leftover that got removed a loooooooooong time ago (before we used south for migrations) from the code. I can't figure out why it was still in dev but isn't in stage or prod, but given that we use south migrations to manage the database now there's little risk in an inconsistencies in the future.

I've removed the column from the database and signups are working again. Yay!
Status: REOPENED → RESOLVED
Closed: 11 years ago11 years ago
Resolution: --- → FIXED
Reopening this because it is still reproducible:
http://screencast.com/t/lR4wNOWd
Status: RESOLVED → REOPENED
Resolution: FIXED → ---
Ah, I forgot to wipe out the accounts created while the bug was still active, can you try again?
This is now fixed and working. Thanks ! :)
Status: REOPENED → RESOLVED
Closed: 11 years ago11 years ago
Resolution: --- → WORKSFORME
Bumping to resolved fixed per comment 5 and comment 7. Thanks mkelly!
Resolution: WORKSFORME → FIXED
Bumping to QA verified per comment 8.  Woot ya .. thanks for being on it Andrei
Status: RESOLVED → VERIFIED
Product: Firefox Affiliates → Firefox Affiliates Graveyard
You need to log in before you can comment on or make changes to this bug.