action #31933
closedUploaded asset fails moving file to final destination
0%
Description
Logwarn is sending this messages, it seems to be happening regardless of the asset type.
[2018-02-17T03:04:48.0448 CET] [error] Can't move file "/var/lib/openqa/share/factory/tmp/mojo.tmp.PCemc12RxglxtsXY" to "/var/lib/openqa/testresults/01480/01480896-sle-12-SP3-Server-DVD-Updates-x86_64-Build20180217-1-mau-qa_kernel_ltp_filecaps@64bit/video.ogv": No such file or directory at /usr/lib/perl5/vendor_perl/5.18.2/Mojo/Asset/File.pm line 106.
[2018-02-17T03:05:56.0224 CET] [error] Can't move file "/var/lib/openqa/share/factory/tmp/mojo.tmp.Nt6u7kq3esNPyWZV" to "/var/lib/openqa/testresults/01480/01480880-sle-12-SP3-Server-DVD-Updates-x86_64-Build20180217-1-mau-qa_cpio@64bit/video.ogv": No such file or directory at /usr/lib/perl5/vendor_perl/5.18.2/Mojo/Asset/File.pm line 106.
[2018-02-16T20:33:14.0459 CET] [error] Can't move file "/var/lib/openqa/share/factory/tmp/mojo.tmp.PMWTihadNCac2xGu" to "/var/lib/openqa/images/6e3/abe/5929d6f99c76a6a620d8d72bad.png": No such file or directory at /usr/lib/perl5/vendor_perl/5.18.2/Mojo/Asset/File.pm line 106.
[2018-02-16T20:39:52.0476 CET] [error] Can't move file "/var/lib/openqa/share/factory/tmp/mojo.tmp.2EvFESLNscqAUG8h" to "/var/lib/openqa/testresults/01480/01480500-sle-12-SP3-Desktop-DVD-Updates-x86_64-Build20180216-5-qam-regression-installation@64bit/ulogs/install_and_reboot-y2logs.tar.bz2": No such file or directory at /usr/lib/perl5/vendor_perl/5.18.2/Mojo/Asset/File.pm line 106.
Updated by coolo over 6 years ago
Debugged this down to the following:
something forks within openQA webui and this fork has the Mojo::Asset::File object, which it then DESTROYS - and by this removing from disk. The parent then can't move - as this DESTROYs from the back.
I don't know how to avoid the child removing the temp file
Updated by kraih over 6 years ago
I'm fixing this upstream in Mojolicious. https://github.com/kraih/mojo/commit/585cb7d40df072537d821d720268b188d4c646fd
Updated by kraih over 6 years ago
As a temporary workaround you could use POSIX::_exit(0) in the forked process. That prevents Perl cleanup code (like all the DESTROY handlers) from running. We do that for Mojo::IOLoop->subprocess for example.
Updated by kraih over 6 years ago
The fix was released with Mojolicious 7.67 and has been submitted to Factory.
Updated by coolo over 6 years ago
- Status changed from New to Resolved
we deployed the patch - waiting for a fresh redeploy
Updated by szarate over 6 years ago
- Target version changed from Current Sprint to Done
Updated by nicksinger over 6 years ago
- Related to action #32284: Test incompletes because the publishing of the HDD fails added
Updated by coolo over 6 years ago
- Related to deleted (action #32284: Test incompletes because the publishing of the HDD fails)