GithubHelp home page GithubHelp logo

Comments (9)

kaesa avatar kaesa commented on June 6, 2024 1

I confirm. Adding

fclose(file);

to the proposed location fixed the issue.

from rawtherapee.

Lawrence37 avatar Lawrence37 commented on June 6, 2024 1

@sgotti Yes, the file does need to be closed.

@kaesa Thanks for confirming! For future reference, you can press Control + c in the debugger. This will pause the program and allow you to proceed with step 5 in https://rawpedia.rawtherapee.com/How_to_write_useful_bug_reports#Step_by_step

from rawtherapee.

Lawrence37 avatar Lawrence37 commented on June 6, 2024

Cannot reproduce with commit 73fb891 on Linux. Renaming a R10 CR3 file after opening it in the editor still works.

from rawtherapee.

kaesa avatar kaesa commented on June 6, 2024

I did a clean rebuild and tested with a fresh user account on an up to date Manjaro.

From uname -a

5.15.154-1-MANJARO #1 SMP PREEMPT Wed Apr 10 19:10:26 UTC 2024 x86_64 GNU/Linux

I can still reproduce the issue. If I try to rename the file with mv on command line, I get "Text file busy" -error.

New build info

Version: 5.10-188-g46531c7ec
Branch: dev
Commit: 46531c7
Commit date: 2024-04-17
Compiler: cc 13.2.1
Processor: x86_64
System: Linux
Bit depth: 64 bits
Gtkmm: V3.24.8
Lensfun: V0.3.4.0
Build type: Release
Build flags: -std=c++11 -ffp-contract=off -Werror=unused-label -Werror=delete-incomplete -fno-math-errno -Wno-attributes -Wall -Wuninitialized -Wcast-qual -Wno-deprecated-declarations -Wno-unused-result -Wunused-macros -fopenmp -Werror=unknown-pragmas -O3 -DNDEBUG -ftree-vectorize
Link flags:
OpenMP support: ON
MMAP support: ON
Build OS: Linux 5.15.154-1-MANJARO x86_64
Build date: Fri, 19 Apr 2024 06:26:16 +0000 UTC
Build epoch: 1713507976
Build UUID: 0c3ae78b-ee01-4704-9d85-30d2bffd09e0

EDIT:
Just in case there is something specific about the files I have, I have prepared a black frame (shot with lens cap on) which does trigger the issue for me.
https://filebin.net/ehonheswuhaairql

from rawtherapee.

Lawrence37 avatar Lawrence37 commented on June 6, 2024

I cannot reproduce with the provided file. Are your images saved somewhere other than your main storage drive? Are you able to reproduce with a debug build?

from rawtherapee.

kaesa avatar kaesa commented on June 6, 2024

All images are on the same drive, which is an SMB mount. Please note, that I have DNG files made from the same CR3 files in the same folder as well as files from other cameras and they will not trigger the issue. It is somehow related to this specific file type. I will test the debug build.

from rawtherapee.

kaesa avatar kaesa commented on June 6, 2024

I can reproduce the issue with the debug build. I have narrowed down the exact commit that breaks it for me is #6962. I certainly don't understand the commit details, but I suspect it could be that something in the handling of the embedded DCP is the difference between these files which trigger the issue and the other files which don't trigger the issue.

Is there something I can do with the debug build to get more information about the execution, given that the program doesn't crash?

from rawtherapee.

sgotti avatar sgotti commented on June 6, 2024

@Lawrence37 it could be possible that a file without an embedded dcp could trigger a file descriptor leak in this point

RawTherapee/rtengine/dcp.cc

Lines 1134 to 1138 in 46531c7

DCPMetadata md(file);
if (!md.parse()) {
printf ("Unable to load DCP profile '%s'.", filename.c_str());
return;
}

There's probably a missing fclose(file); before the return.

from rawtherapee.

kaesa avatar kaesa commented on June 6, 2024

Given the clues. I tested and indeed, I can't reproduce the issue if I copy the triggering file to my home folder. So it seems that with the way the SMB shares have been tied to the system, it makes the files more prone to getting locked.

from rawtherapee.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.