Project

General

Profile

Actions

action #31933

closed

Uploaded asset fails moving file to final destination

Added by szarate almost 7 years ago. Updated almost 7 years ago.

Status:
Resolved
Priority:
High
Assignee:
Category:
-
Target version:
Start date:
2018-02-17
Due date:
% Done:

0%

Estimated time:

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.

Actions #1

Updated by coolo almost 7 years ago

not created directory before moving?

Actions #2

Updated by coolo almost 7 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

Actions #4

Updated by kraih almost 7 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.

Actions #5

Updated by kraih almost 7 years ago

The fix was released with Mojolicious 7.67 and has been submitted to Factory.

Actions #6

Updated by coolo almost 7 years ago

  • Status changed from New to Resolved

we deployed the patch - waiting for a fresh redeploy

Actions #7

Updated by szarate almost 7 years ago

  • Target version changed from Current Sprint to Done
Actions #8

Updated by szarate almost 7 years ago

  • Assignee set to EDiGiacinto
Actions #9

Updated by nicksinger almost 7 years ago

  • Related to action #32284: Test incompletes because the publishing of the HDD fails added
Actions #10

Updated by coolo almost 7 years ago

  • Related to deleted (action #32284: Test incompletes because the publishing of the HDD fails)
Actions

Also available in: Atom PDF