#24080: Sqlite segmentation fault regression when running tests (since 1.7.2)
-----------------------------------+------------------------------------
Reporter: stevejalim | Owner: nobody
Type: Bug | Status: new
Component: Testing framework | Version: master
Severity: Normal | Resolution:
Keywords: sqlite | Triage Stage: Accepted
Has patch: 0 | Needs documentation: 0
Needs tests: 0 | Patch needs improvement: 0
Easy pickings: 0 | UI/UX: 0
-----------------------------------+------------------------------------
Comment (by matteius):
Our software organization is also having the same issues outlined in this
bug report, and I wanted to expand on my own findings.
The issue: Segfault in running unit tests which haven't changed in months
to years when upgrading from Django 1.6.x to Django 1.8.x
Running faulthandler prior to py.test reveals the same kind of stack trace
everyone is posting which is essentially that in the new _rollback_atomics
code that happens it causes the seg-fault. I break-pointed some of the
code and generally the error happens for us when we catch an
IntegrityError and handle it outside of an atomic() block. The thing is
running the same test in isolation allows the test it segfaulted on to
pass, but running in the group it causes the failure.
I have experienced the failure originally on:
Ubuntu 14.04 LTS with Python 2.7 and sqlite3 3.8.7.1.
Upgraded sqlite3 3.8.7.1 to 3.8.11.1 as outlined by stebunovd, but issue
persisted.
Installed Ubuntu 15.04 w/ Python 2.7 and sqlite3 3.8.7.1 (default) to a
VM and the issue persisted.
Upgraded Ubuntu 15.04 sqlite3 3.8.7.1 to 3.8.11.1 as outlined by
stebunovd, but issue persisted.
In both cases I ensured that the old version of sqlite3 was removed and
python was rebuilt after the CLI returned the updated version info for
sqlite3.
One interesting point to note is that upgrading sqlite3 did postpone the
segmentation fault until later in the test suite, but it too happened in
the same manner suggesting that the new version doesn't actually fix the
problem here.
--
Ticket URL: <https://code.djangoproject.com/ticket/24080#comment:35>
Django <https://code.djangoproject.com/>
The Web framework for perfectionists with deadlines.
--
You received this message because you are subscribed to the Google Groups
"Django updates" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To post to this group, send email to [email protected].
To view this discussion on the web visit
https://groups.google.com/d/msgid/django-updates/068.5412b7b52ad8d7e4621f2daf3113da62%40djangoproject.com.
For more options, visit https://groups.google.com/d/optout.