After taking a closer look I see a page ( https://weblate.securedrop.club/translate/securedrop/securedrop/pt_BR/?checksum=5031e6011d964568 ) which is out of sync with the git repository.
The problem may have been a race between me clicking Pull and a webhook doing the same. If those are not protected by a lock maybe the two update raced against each other and one could not remove the file that another already removed ? Wild guess on my part. On 12/02/2017 10:22 AM, Loic Dachary wrote: > Hi, > > Today I clicked "Pull" in the commit panel and got the following stack trace. > I did the same a week ago and it all went fine. I then clicked "Back" and > refreshed and all seems fine. Not sure what happened but here it is, in case > this ring a bell. > > Cheers > > OSError at /update/securedrop/securedrop/ > > [Errno 2] No such file or directory: > '/app/data/whoosh/source.tmp/sym43el2gyeazkq9axmw31u352k0.ctmp' > > Request Method: POST > Request URL: https://weblate.securedrop.club/update/securedrop/securedrop/ > Django Version: 1.11.6 > Exception Type: OSError > Exception Value: > > [Errno 2] No such file or directory: > '/app/data/whoosh/source.tmp/sym43el2gyeazkq9axmw31u352k0.ctmp' > > Exception Location: > /usr/local/lib/python2.7/dist-packages/whoosh/filedb/filestore.py in > delete_file, line 544 > Python Executable: /usr/bin/uwsgi-core > Python Version: 2.7.13 > Python Path: > > ['/usr/local/lib/python2.7/dist-packages/', > '.', > '', > '/usr/lib/python2.7', > '/usr/lib/python2.7/plat-x86_64-linux-gnu', > '/usr/lib/python2.7/lib-tk', > '/usr/lib/python2.7/lib-old', > '/usr/lib/python2.7/lib-dynload', > '/usr/local/lib/python2.7/dist-packages', > '/usr/lib/python2.7/dist-packages'] > > Server time: Sat, 2 Dec 2017 09:18:16 +0000 > > Environment: > > > Request Method: POST > Request URL: https://weblate.securedrop.club/update/securedrop/securedrop/ > > Django Version: 1.11.6 > Python Version: 2.7.13 > Installed Applications: > (u'django.contrib.auth', > u'django.contrib.contenttypes', > u'django.contrib.sessions', > u'django.contrib.sites', > u'django.contrib.messages', > u'django.contrib.staticfiles', > u'django.contrib.admin.apps.SimpleAdminConfig', > u'django.contrib.admindocs', > u'django.contrib.sitemaps', > u'social_django', > u'crispy_forms', > u'compressor', > u'rest_framework', > u'rest_framework.authtoken', > u'weblate.trans', > u'weblate.lang', > u'weblate.permissions', > u'weblate.screenshots', > u'weblate.accounts', > u'weblate.utils', > u'weblate.wladmin', > u'weblate', > u'weblate.gitexport') > Installed Middleware: > (u'django.contrib.sessions.middleware.SessionMiddleware', > u'django.middleware.common.CommonMiddleware', > u'django.middleware.locale.LocaleMiddleware', > u'django.middleware.csrf.CsrfViewMiddleware', > u'weblate.accounts.middleware.AuthenticationMiddleware', > u'django.contrib.messages.middleware.MessageMiddleware', > u'django.middleware.clickjacking.XFrameOptionsMiddleware', > u'social_django.middleware.SocialAuthExceptionMiddleware', > u'weblate.accounts.middleware.RequireLoginMiddleware', > u'weblate.middleware.SecurityMiddleware') > > > > Traceback: > > File > "/usr/local/lib/python2.7/dist-packages/django/core/handlers/exception.py" in > inner > 41. response = get_response(request) > > File "/usr/local/lib/python2.7/dist-packages/django/core/handlers/base.py" in > _legacy_get_response > 249. response = self._get_response(request) > > File "/usr/local/lib/python2.7/dist-packages/django/core/handlers/base.py" in > _get_response > 187. response = self.process_exception_by_middleware(e, > request) > > File "/usr/local/lib/python2.7/dist-packages/django/core/handlers/base.py" in > _get_response > 185. response = wrapped_callback(request, *callback_args, > **callback_kwargs) > > File > "/usr/local/lib/python2.7/dist-packages/django/contrib/auth/decorators.py" in > _wrapped_view > 23. return view_func(request, *args, **kwargs) > > File "/usr/local/lib/python2.7/dist-packages/django/views/decorators/http.py" > in inner > 40. return func(request, *args, **kwargs) > > File "/usr/local/lib/python2.7/dist-packages/weblate/trans/views/git.py" in > update_subproject > 157. return perform_update(request, obj) > > File "/usr/local/lib/python2.7/dist-packages/weblate/trans/views/git.py" in > perform_update > 79. method=request.GET.get('method'), > > File "/usr/local/lib/python2.7/dist-packages/weblate/trans/views/git.py" in > execute_locked > 44. result = call(*args, **kwargs) > > File > "/usr/local/lib/python2.7/dist-packages/weblate/trans/models/subproject.py" > in wrapper > 111. return func(self, *args, **kwargs) > > File > "/usr/local/lib/python2.7/dist-packages/weblate/trans/models/subproject.py" > in do_update > 739. self.create_translations(request=request) > > File > "/usr/local/lib/python2.7/dist-packages/weblate/trans/models/subproject.py" > in create_translations > 1051. self, lang, code, path, force, request=request > > File > "/usr/local/lib/python2.7/dist-packages/weblate/trans/models/translation.py" > in check_sync > 72. translation.check_sync(force, request=request) > > File > "/usr/local/lib/python2.7/dist-packages/weblate/trans/models/translation.py" > in check_sync > 452. self, unit, pos > > File "/usr/local/lib/python2.7/dist-packages/weblate/trans/models/unit.py" in > update_from_unit > 110. dbunit.update_from_unit(unit, pos, created) > > File "/usr/local/lib/python2.7/dist-packages/weblate/trans/models/unit.py" in > update_from_unit > 547. same_state=same_state > > File "/usr/local/lib/python2.7/dist-packages/weblate/trans/models/unit.py" in > save > 819. update_index_unit(self) > > File "/usr/local/lib/python2.7/dist-packages/weblate/trans/search.py" in > update_index_unit > 205. update_source_unit_index(writer, unit) > > File "/usr/local/lib/python2.7/dist-packages/whoosh/writing.py" in __exit__ > 210. self.commit() > > File "/usr/local/lib/python2.7/dist-packages/whoosh/writing.py" in commit > 1037. self.writer.commit(*args, **kwargs) > > File "/usr/local/lib/python2.7/dist-packages/whoosh/writing.py" in commit > 927. finalsegments.append(self._finalize_segment()) > > File "/usr/local/lib/python2.7/dist-packages/whoosh/writing.py" in > _finalize_segment > 866. self._flush_segment() > > File "/usr/local/lib/python2.7/dist-packages/whoosh/writing.py" in > _flush_segment > 830. self.perdocwriter.close() > > File "/usr/local/lib/python2.7/dist-packages/whoosh/codec/whoosh3.py" in close > 267. self._cols.save_as_files(self._storage, self._column_filename) > > File "/usr/local/lib/python2.7/dist-packages/whoosh/filedb/compound.py" in > save_as_files > 297. for name, blocks in self._readback(): > > File "/usr/local/lib/python2.7/dist-packages/whoosh/filedb/compound.py" in > _readback > 279. self._tempstorage.delete_file(self._tempname) > > File "/usr/local/lib/python2.7/dist-packages/whoosh/filedb/filestore.py" in > delete_file > 544. os.remove(self._fpath(name)) > > Exception Type: OSError at /update/securedrop/securedrop/ > Exception Value: [Errno 2] No such file or directory: > '/app/data/whoosh/source.tmp/sym43el2gyeazkq9axmw31u352k0.ctmp' > > -- Loïc Dachary, Artisan Logiciel Libre _______________________________________________ Weblate mailing list [email protected] https://lists.cihar.com/cgi-bin/mailman/listinfo/weblate
