Closed xiota closed 3 months ago
It's an out of bounds access.
Commit 3845b720a28817100bd69c40fd815933d8e6b72c increased the size of tone equalizer bands, but the corresponding pedited
array is still the same size.
@Lawrence37 @xiota This was an oversight on my part a few months ago... What do we do ? Is it a simple commit?
struct ToneEqualizerParamsEdited { bool enabled; std::array<bool, 5> bands; ==> change to ==> std::array<bool, 6> bands; bool regularization; bool show_colormap; bool pivot; };
Jacques
Yes, that should be the solution.
I push the change to dev, now
Jacques
Done Jacques
@Lawrence37 @Desmis Thank you for working on this issue. I have confirmed that 4a5194e2d7df3e4ddc9acae19867eb46ee0c5130 fixes this issue.
Short description Using a recent checkout (c74bcad19), an error message is shown when trying to load an image or start in a folder containing a
pp3
file:Same error when building with either
gcc 14.1.1+r58+gfc9fb69ad62
orclang 17.0.6
. Both installed from official Arch repos. Disabling LTO doesn't make a difference.git bisect:
Steps to reproduce
aur/rawtherapee-git
.pp3
file.Expected behavior Image should load
Additional information
cat /usr/share/doc/rawtherapee/AboutThisBuild.txt
``` Version: 5.10-212-gc74bcad19 Branch: dev Commit: c74bcad19 Commit date: 2024-05-24 Compiler: cc 14.1.1 Processor: x86_64 System: Linux Bit depth: 64 bits Gtkmm: V3.24.9 Lensfun: V0.3.4.0 Build type: None Build flags: -march=x86-64 -mtune=generic -O2 -pipe -fno-plt -fexceptions -Wp,-D_FORTIFY_SOURCE=3 -Wformat -Werror=format-security -fstack-clash-protection -fcf-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -Wp,-D_GLIBCXX_ASSERTIONS -flto=auto -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 -ftree-vectorize Link flags: -Wl,-O1 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -Wl,-z,pack-relative-relocs -flto=auto OpenMP support: ON MMAP support: ON Build OS: Linux 6.6.31 x86_64 Build date: Sun, 26 May 2024 12:05:19 +0000 UTC Build epoch: 1716725119 Build UUID: 0080e441-3382-42c7-8a03-7e6bb655edd3 ```gdb backtrace
``` /usr/include/c++/14.1.1/array:208: std::array<_Tp, _Nm>::value_type& std::array<_Tp, _Nm>::operator[](size_type) [with _Tp = bool; long unsigned int _Nm = 5; reference = bool&; size_type = long unsigned int]: Assertion '__n < this->size()' failed. Thread 11 "pool-rawtherape" received signal SIGABRT, Aborted. [Switching to Thread 0x7fffe70006c0 (LWP 211525)] 0x00007ffff58a8e44 in ?? () from /usr/lib/libc.so.6 (gdb) bt #0 0x00007ffff58a8e44 in ??? () at /usr/lib/libc.so.6 #1 0x00007ffff5850a30 in raise () at /usr/lib/libc.so.6 #2 0x00007ffff58384c3 in abort () at /usr/lib/libc.so.6 #3 0x00007ffff5ad2d60 in std::__glibcxx_assert_fail (file=