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

Reply via email to