AttributeError: 'NoneType' object has no attribute 'utf_8_decode'
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Launchpad itself |
Fix Released
|
High
|
Gary Poster |
Bug Description
We're seeing operational issues in the app servers when they are brought up in r/o mode.
I'll attach more backtraces to the bug, but briefly:
encodings.utf_8 has its global variable codecs set to None, which is something the VM does when it thinks a module is being finalised, to make things cleanup safely and racefree.
This patch http://
My theory is:
14:11 < lifeless> I'm thinking a thread that starts up and does some naughty 'probe'
14:12 < lifeless> and thus sometimes it wins, and the system breaks
14:12 < lifeless> and other times it loses and the system doesn't break
Which sounded plausible to spiv, so I think bears investigating.
It happened with several (but not all app servers) and restarting them manually usually work.
Related branches
- Paul Hummer (community): Approve (code)
-
Diff: 1984 lines (+225/-353)147 files modifiedbuildout-templates/_pythonpath.py.in (+17/-114)
buildout-templates/bin/jstest.in (+1/-6)
buildout-templates/bin/py.in (+0/-2)
buildout-templates/bin/test.in (+5/-6)
buildout.cfg (+11/-24)
cronscripts/allocate-revision-karma.py (+1/-1)
cronscripts/branch-scanner.py (+1/-1)
cronscripts/buildd-queue-builder.py (+1/-1)
cronscripts/buildd-retry-depwait.py (+1/-1)
cronscripts/buildd-slave-scanner.py (+1/-1)
cronscripts/calculate-bug-heat.py (+1/-1)
cronscripts/check-teamparticipation.py (+1/-1)
cronscripts/checkwatches.py (+1/-1)
cronscripts/code-import-dispatcher.py (+1/-1)
cronscripts/create-debwatches.py (+1/-1)
cronscripts/create_merge_proposals.py (+1/-1)
cronscripts/distributionmirror-prober.py (+1/-1)
cronscripts/expire-bugtasks.py (+1/-1)
cronscripts/expire-ppa-files.py (+1/-1)
cronscripts/expire-questions.py (+1/-1)
cronscripts/flag-expired-memberships.py (+1/-1)
cronscripts/foaf-update-karma-cache.py (+12/-12)
cronscripts/garbo-daily.py (+1/-1)
cronscripts/garbo-hourly.py (+1/-1)
cronscripts/generate-ppa-htaccess.py (+1/-1)
cronscripts/language-pack-exporter.py (+1/-1)
cronscripts/librarian-gc.py (+1/-1)
cronscripts/mpcreationjobs.py (+1/-1)
cronscripts/oops-prune.py (+1/-1)
cronscripts/parse-librarian-apache-access-logs.py (+1/-1)
cronscripts/ppa-generate-keys.py (+1/-1)
cronscripts/process-hwdb-submissions.py (+1/-1)
cronscripts/process-mail.py (+1/-1)
cronscripts/process-pending-packagediffs.py (+1/-1)
cronscripts/product-release-finder.py (+1/-1)
cronscripts/reclaimbranchspace.py (+1/-1)
cronscripts/rosetta-approve-imports.py (+1/-1)
cronscripts/rosetta-branches.py (+1/-1)
cronscripts/rosetta-export-queue.py (+1/-1)
cronscripts/rosetta-pofile-stats-daily.py (+1/-1)
cronscripts/rosetta-pofile-stats.py (+1/-1)
cronscripts/rosetta-poimport.py (+1/-1)
cronscripts/scan_branches.py (+1/-1)
cronscripts/send-bug-notifications.py (+1/-1)
cronscripts/send-person-notifications.py (+1/-1)
cronscripts/sendbranchmail.py (+1/-1)
cronscripts/supermirror-pull.py (+1/-1)
cronscripts/translations-export-to-branch.py (+1/-1)
cronscripts/update-bugtask-targetnamecaches.py (+1/-1)
cronscripts/update-cve.py (+1/-1)
cronscripts/update-debwatches.py (+1/-1)
cronscripts/update-pkgcache.py (+1/-1)
cronscripts/update-remote-product.py (+1/-1)
cronscripts/update-sourceforge-remote-products.py (+1/-1)
cronscripts/update-standing.py (+1/-1)
cronscripts/update-stats.py (+1/-1)
cronscripts/update_preview_diffs.py (+1/-1)
cronscripts/upgrade_branches.py (+1/-1)
lib/canonical/launchpad/mailman/runmailman.py (+0/-4)
lib/lp/registry/tests/test_mlists.py (+0/-1)
lib/lp_sitecustomize.py (+22/-0)
lib/site.py (+0/-30)
scripts/branch-distro.py (+1/-1)
scripts/branch-rewrite.py (+1/-1)
scripts/bug-export.py (+1/-1)
scripts/bug-import.py (+1/-1)
scripts/bugzilla-import.py (+1/-1)
scripts/cache-country-mirrors.py (+1/-1)
scripts/clean-sourceforge-project-entries.py (+1/-1)
scripts/close-account.py (+2/-2)
scripts/code-import-worker-db.py (+1/-1)
scripts/code-import-worker.py (+1/-1)
scripts/convert-person-to-team.py (+1/-1)
scripts/copy-translations-from-parent.py (+1/-1)
scripts/entitlements-to-lp.py (+1/-1)
scripts/find-email-clusters.py (+1/-1)
scripts/ftpmaster-tools/archive-cruft-check.py (+1/-1)
scripts/ftpmaster-tools/archive-override-check.py (+1/-1)
scripts/ftpmaster-tools/buildd-mass-retry.py (+1/-1)
scripts/ftpmaster-tools/change-override.py (+1/-1)
scripts/ftpmaster-tools/copy-package.py (+1/-1)
scripts/ftpmaster-tools/initialise-from-parent.py (+1/-1)
scripts/ftpmaster-tools/lp-query-distro.py (+1/-1)
scripts/ftpmaster-tools/lp-remove-package.py (+1/-1)
scripts/ftpmaster-tools/manage-chroot.py (+1/-1)
scripts/ftpmaster-tools/obsolete-distroseries.py (+1/-1)
scripts/ftpmaster-tools/ppa-report.py (+1/-1)
scripts/ftpmaster-tools/queue (+1/-1)
scripts/ftpmaster-tools/remove-package.py (+1/-1)
scripts/ftpmaster-tools/sync-source.py (+1/-1)
scripts/ftpmaster-tools/unembargo-package.py (+1/-1)
scripts/get-stacked-on-branches.py (+1/-1)
scripts/gina.py (+2/-2)
scripts/import-debian-bugs.py (+1/-1)
scripts/import-packagenames.py (+1/-1)
scripts/import-zope-specs.py (+4/-4)
scripts/librarian-report.py (+1/-1)
scripts/linkreport.py (+2/-2)
scripts/list-team-members (+1/-1)
scripts/merge-email-clusters.py (+1/-1)
scripts/migrate-bugzilla-initialcontacts.py (+1/-1)
scripts/mirror-branch.py (+1/-1)
scripts/mlist-import.py (+1/-1)
scripts/mlist-sync.py (+1/-1)
scripts/modified-branches.py (+1/-1)
scripts/populate-archive.py (+1/-1)
scripts/ppa-add-missing-builds.py (+1/-1)
scripts/process-accepted.py (+1/-1)
scripts/process-death-row.py (+1/-1)
scripts/process-upload.py (+1/-1)
scripts/publish-distro.py (+1/-1)
scripts/rosetta/check-distroseries-translations-diffs.py (+1/-1)
scripts/rosetta/fix_translation_credits.py (+1/-1)
scripts/rosetta/gettext_check_messages.py (+1/-1)
scripts/rosetta/message-sharing-merge.py (+2/-2)
scripts/rosetta/message-sharing-populate-test.py (+1/-1)
scripts/rosetta/message-sharing-populate.py (+1/-1)
scripts/rosetta/pottery-generate-intltool.py (+1/-1)
scripts/rosetta/remove-obsolete-translations.py (+1/-1)
scripts/rosetta/remove-translations-by.py (+1/-1)
scripts/rosetta/remove-upstream-translations.py (+1/-1)
scripts/rosetta/reupload-translations.py (+1/-1)
scripts/rosetta/share-jaunty-translations.py (+1/-1)
scripts/rosetta/validate-translations-file.py (+1/-1)
scripts/script-monitor-nagios.py (+6/-6)
scripts/script-monitor.py (+4/-4)
scripts/sourceforge-import.py (+1/-1)
scripts/update-stacked-on.py (+1/-1)
scripts/upload2librarian.py (+1/-1)
utilities/check-configs.py (+1/-1)
utilities/check-content-interfaces.py (+1/-1)
utilities/check-sampledata.py (+1/-1)
utilities/check-scripts.py (+1/-1)
utilities/create-lp-wadl.py (+1/-1)
utilities/ec2 (+1/-1)
utilities/generate-external-bug-status-docs (+1/-1)
utilities/get-branch-info (+1/-1)
utilities/list-person-references.py (+3/-1)
utilities/lsconf.py (+1/-1)
utilities/make-dummy-hosted-branches (+1/-1)
utilities/make-lp-user (+1/-1)
utilities/mock-code-import (+1/-1)
utilities/page-performance-report.py (+1/-1)
utilities/paste (+1/-1)
utilities/sanitize-db.py (+1/-1)
utilities/update-revisionauthor-email.py (+1/-1)
versions.cfg (+4/-3)
affects: | canonical-identity-provider → launchpad-foundations |
visibility: | private → public |
description: | updated |
description: | updated |
Changed in launchpad-foundations: | |
status: | New → Triaged |
importance: | Undecided → Critical |
Changed in launchpad-foundations: | |
assignee: | nobody → Gary Poster (gary) |
Changed in launchpad-foundations: | |
status: | Triaged → In Progress |
Changed in launchpad-foundations: | |
milestone: | 10.03 → 10.04 |
Changed in launchpad-foundations: | |
status: | In Progress → Fix Committed |
Changed in launchpad-foundations: | |
status: | Fix Committed → Fix Released |
tags: |
added: qa-ok removed: qa-needstesting |
Traceback excerpt
2009-12-03T02:31:46 ERROR root Exception during task .net/production /login- rev-8648/ eggs/zope. server- 3.4.3-py2. 4.egg/zope/ server/ taskthreads. py", line 48, in handlerThread .net/production /login- rev-8648/ eggs/zope. server- 3.4.3-py2. 4.egg/zope/ server/ serverchannelba se.py", line 207, in service .net/production /login- rev-8648/ eggs/zope. server- 3.4.3-py2. 4.egg/zope/ server/ http/httptask. py", line 71, in service channel. server. executeRequest( self) .net/production /login- rev-8648/ eggs/zc. zservertracelog -1.1.5- py2.4.egg/ zc/zservertrace log/tracelog. py", line 114, in executeRequest n(env, start_response) .net/production /login- rev-8648/ eggs/zope. app.wsgi- 3.4.1-py2. 4.egg/zope/ app/wsgi/ __init_ _.py", line 49, in __call__ tory(environ[ 'wsgi.input' ], environ) .net/production /login- rev-8648/ eggs/zope. app.publication -3.4.4- py2.4.egg/ zope/app/ publication/ httpfactory. py", line 69, in __call__ class(input_ stream, env) .net/production /login- rev-8648/ lib/canonical/ launchpad/ webapp/ servers. py", line 573, in __init__ padRequest. __init_ _(self, body_instream, environ, response) .net/production /login- rev-8648/ lib/canonical/ launchpad/ webapp/ servers. py", line 502, in __init__ BasicLaunchpadR equest, self).__init__( .net/production /login- rev-8648/ eggs/zope. publisher- 3.5.6-py2. 4.egg/zope/ publisher/ browser. py", line 234, in __init__ BrowserRequest, self)._ _init__ (body_instream, environ, response) .net/production /login- rev-8648/ eggs/zope. publisher- 3.5.6-py2. 4.egg/zope/ publisher/ http.py" , line 311, in __init__ t(environ) .net/production /login- rev-8648/ eggs/zope. publisher- 3.5.6-py2. 4.egg/zope/ publisher/ http.py" , line 79, in sane_environment 'PATH_INFO' ] = dict['PATH_ INFO']. decode( 'utf-8' ) python2. 4/encodings/ utf_8.py" , line 16, in decode utf_8_decode( input, errors, True) .net/production /login- rev-8648/ eggs/zope. server- 3.4.3-py2. 4.egg/zope/ server/ taskthreads. py", line 48, in handlerThread .net/production /login- rev-8648/ eggs/zope. server- 3.4.3-py2. 4.egg/zope/ server/ serverchannelba se.py", line 207, in service .net/production /login- rev-8648/ eggs/zope. server- 3.4.3-py2. 4.egg/zope/ server/ http/httptask. py", line 71, in service channel. server. executeRequest( self) .net/production /login- rev-8648/ eggs/zc. zservertracelog -1.1.5- py2.4.egg/ zc/zservertrace log/tracelog. py", line 114, in executeRequest n(env, start_response) .net/productio. ..
Traceback (most recent call last):
File "/srv/launchpad
task.service()
File "/srv/launchpad
task.service()
File "/srv/launchpad
self.
File "/srv/launchpad
response = self.applicatio
File "/srv/launchpad
request = self.requestFac
File "/srv/launchpad
request = request_
File "/srv/launchpad
BasicLaunch
File "/srv/launchpad
super(
File "/srv/launchpad
super(
File "/srv/launchpad
environ = sane_environmen
File "/srv/launchpad
dict[
File "/usr/lib/
return codecs.
AttributeError: 'NoneType' object has no attribute 'utf_8_decode'
------
2009-12-03T02:31:47 ERROR root Exception during task
Traceback (most recent call last):
File "/srv/launchpad
task.service()
File "/srv/launchpad
task.service()
File "/srv/launchpad
self.
File "/srv/launchpad
response = self.applicatio
File "/srv/launchpad