Comments (1)
Now it is
==================
WARNING: ThreadSanitizer: data race (pid=28313)
Write of size 4 at 0x7d540004f6bc by thread T56:
#0 RawSpeed::LJpegDecompressor::parseSOF(RawSpeed::SOFInfo*) /home/lebedevri/rawspeed/src/librawspeed/decompressors/LJpegDecompressor.cpp:88 (rstest+0x00000048419f)
#1 RawSpeed::LJpegDecompressor::decode(unsigned int, unsigned int) /home/lebedevri/rawspeed/src/librawspeed/decompressors/LJpegDecompressor.cpp:52 (rstest+0x000000485e28)
#2 RawSpeed::DngDecoderSlices::decodeSlice(RawSpeed::DngDecoderThread*) /home/lebedevri/rawspeed/src/librawspeed/decoders/DngDecoderSlices.cpp:390 (rstest+0x00000045c945)
#3 RawSpeed::DecodeThread(void*) /home/lebedevri/rawspeed/src/librawspeed/decoders/DngDecoderSlices.cpp:61 (rstest+0x00000045d67d)
#4 <null> <null> (libtsan.so.0+0x000000024459)
Previous write of size 4 at 0x7d540004f6bc by thread T14:
#0 RawSpeed::LJpegDecompressor::parseSOF(RawSpeed::SOFInfo*) /home/lebedevri/rawspeed/src/librawspeed/decompressors/LJpegDecompressor.cpp:88 (rstest+0x00000048419f)
#1 RawSpeed::LJpegDecompressor::decode(unsigned int, unsigned int) /home/lebedevri/rawspeed/src/librawspeed/decompressors/LJpegDecompressor.cpp:52 (rstest+0x000000485e28)
#2 RawSpeed::DngDecoderSlices::decodeSlice(RawSpeed::DngDecoderThread*) /home/lebedevri/rawspeed/src/librawspeed/decoders/DngDecoderSlices.cpp:390 (rstest+0x00000045c945)
#3 RawSpeed::DecodeThread(void*) /home/lebedevri/rawspeed/src/librawspeed/decoders/DngDecoderSlices.cpp:61 (rstest+0x00000045d67d)
#4 <null> <null> (libtsan.so.0+0x000000024459)
Location is heap block of size 600 at 0x7d540004f600 allocated by thread T7:
#0 operator new(unsigned long) <null> (libtsan.so.0+0x000000065af3)
#1 RawSpeed::RawImage::create(RawSpeed::RawImageType) /home/lebedevri/rawspeed/src/librawspeed/common/RawImage.h:244 (rstest+0x000000458ad8)
#2 RawSpeed::DngDecoder::decodeRawInternal() /home/lebedevri/rawspeed/src/librawspeed/decoders/DngDecoder.cpp:111 (rstest+0x000000458ad8)
#3 RawSpeed::RawDecoder::decodeRaw() /home/lebedevri/rawspeed/src/librawspeed/decoders/RawDecoder.cpp:723 (rstest+0x00000042612f)
#4 process(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, RawSpeed::CameraMetaData*, bool, bool) /home/lebedevri/rawspeed/src/utilities/rstest/rstest.cpp:207 (rstest+0x00000041ab0b)
#5 main._omp_fn.0 /home/lebedevri/rawspeed/src/utilities/rstest/rstest.cpp:295 (rstest+0x00000041bc4e)
#6 <null> <null> (libgomp.so.1+0x0000000166c5)
Thread T56 (tid=30873, running) created by thread T7 at:
#0 pthread_create <null> (libtsan.so.0+0x000000027e9d)
#1 RawSpeed::DngDecoderSlices::startDecoding() /home/lebedevri/rawspeed/src/librawspeed/decoders/DngDecoderSlices.cpp:115 (rstest+0x00000045e1ec)
#2 RawSpeed::DngDecoder::decodeRawInternal() /home/lebedevri/rawspeed/src/librawspeed/decoders/DngDecoder.cpp:324 (rstest+0x000000459e70)
#3 RawSpeed::RawDecoder::decodeRaw() /home/lebedevri/rawspeed/src/librawspeed/decoders/RawDecoder.cpp:723 (rstest+0x00000042612f)
#4 process(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, RawSpeed::CameraMetaData*, bool, bool) /home/lebedevri/rawspeed/src/utilities/rstest/rstest.cpp:207 (rstest+0x00000041ab0b)
#5 main._omp_fn.0 /home/lebedevri/rawspeed/src/utilities/rstest/rstest.cpp:295 (rstest+0x00000041bc4e)
#6 <null> <null> (libgomp.so.1+0x0000000166c5)
Thread T14 (tid=30872, running) created by thread T7 at:
#0 pthread_create <null> (libtsan.so.0+0x000000027e9d)
#1 RawSpeed::DngDecoderSlices::startDecoding() /home/lebedevri/rawspeed/src/librawspeed/decoders/DngDecoderSlices.cpp:115 (rstest+0x00000045e1ec)
#2 RawSpeed::DngDecoder::decodeRawInternal() /home/lebedevri/rawspeed/src/librawspeed/decoders/DngDecoder.cpp:324 (rstest+0x000000459e70)
#3 RawSpeed::RawDecoder::decodeRaw() /home/lebedevri/rawspeed/src/librawspeed/decoders/RawDecoder.cpp:723 (rstest+0x00000042612f)
#4 process(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, RawSpeed::CameraMetaData*, bool, bool) /home/lebedevri/rawspeed/src/utilities/rstest/rstest.cpp:207 (rstest+0x00000041ab0b)
#5 main._omp_fn.0 /home/lebedevri/rawspeed/src/utilities/rstest/rstest.cpp:295 (rstest+0x00000041bc4e)
#6 <null> <null> (libgomp.so.1+0x0000000166c5)
Thread T7 (tid=28321, running) created by main thread at:
#0 pthread_create <null> (libtsan.so.0+0x000000027e9d)
#1 <null> <null> (libgomp.so.1+0x000000016c6f)
#2 __libc_start_main <null> (libc.so.6+0x0000000202b0)
SUMMARY: ThreadSanitizer: data race /home/lebedevri/rawspeed/src/librawspeed/decompressors/LJpegDecompressor.cpp:88 in RawSpeed::LJpegDecompressor::parseSOF(RawSpeed::SOFInfo*)
==================
==================
WARNING: ThreadSanitizer: data race (pid=28313)
Write of size 4 at 0x7d540004f6c0 by thread T56:
#0 RawSpeed::LJpegDecompressor::parseSOF(RawSpeed::SOFInfo*) /home/lebedevri/rawspeed/src/librawspeed/decompressors/LJpegDecompressor.cpp:89 (rstest+0x0000004841cc)
#1 RawSpeed::LJpegDecompressor::decode(unsigned int, unsigned int) /home/lebedevri/rawspeed/src/librawspeed/decompressors/LJpegDecompressor.cpp:52 (rstest+0x000000485e28)
#2 RawSpeed::DngDecoderSlices::decodeSlice(RawSpeed::DngDecoderThread*) /home/lebedevri/rawspeed/src/librawspeed/decoders/DngDecoderSlices.cpp:390 (rstest+0x00000045c945)
#3 RawSpeed::DecodeThread(void*) /home/lebedevri/rawspeed/src/librawspeed/decoders/DngDecoderSlices.cpp:61 (rstest+0x00000045d67d)
#4 <null> <null> (libtsan.so.0+0x000000024459)
Previous write of size 4 at 0x7d540004f6c0 by thread T14:
#0 RawSpeed::LJpegDecompressor::parseSOF(RawSpeed::SOFInfo*) /home/lebedevri/rawspeed/src/librawspeed/decompressors/LJpegDecompressor.cpp:89 (rstest+0x0000004841cc)
#1 RawSpeed::LJpegDecompressor::decode(unsigned int, unsigned int) /home/lebedevri/rawspeed/src/librawspeed/decompressors/LJpegDecompressor.cpp:52 (rstest+0x000000485e28)
#2 RawSpeed::DngDecoderSlices::decodeSlice(RawSpeed::DngDecoderThread*) /home/lebedevri/rawspeed/src/librawspeed/decoders/DngDecoderSlices.cpp:390 (rstest+0x00000045c945)
#3 RawSpeed::DecodeThread(void*) /home/lebedevri/rawspeed/src/librawspeed/decoders/DngDecoderSlices.cpp:61 (rstest+0x00000045d67d)
#4 <null> <null> (libtsan.so.0+0x000000024459)
Location is heap block of size 600 at 0x7d540004f600 allocated by thread T7:
#0 operator new(unsigned long) <null> (libtsan.so.0+0x000000065af3)
#1 RawSpeed::RawImage::create(RawSpeed::RawImageType) /home/lebedevri/rawspeed/src/librawspeed/common/RawImage.h:244 (rstest+0x000000458ad8)
#2 RawSpeed::DngDecoder::decodeRawInternal() /home/lebedevri/rawspeed/src/librawspeed/decoders/DngDecoder.cpp:111 (rstest+0x000000458ad8)
#3 RawSpeed::RawDecoder::decodeRaw() /home/lebedevri/rawspeed/src/librawspeed/decoders/RawDecoder.cpp:723 (rstest+0x00000042612f)
#4 process(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, RawSpeed::CameraMetaData*, bool, bool) /home/lebedevri/rawspeed/src/utilities/rstest/rstest.cpp:207 (rstest+0x00000041ab0b)
#5 main._omp_fn.0 /home/lebedevri/rawspeed/src/utilities/rstest/rstest.cpp:295 (rstest+0x00000041bc4e)
#6 <null> <null> (libgomp.so.1+0x0000000166c5)
Thread T56 (tid=30873, running) created by thread T7 at:
#0 pthread_create <null> (libtsan.so.0+0x000000027e9d)
#1 RawSpeed::DngDecoderSlices::startDecoding() /home/lebedevri/rawspeed/src/librawspeed/decoders/DngDecoderSlices.cpp:115 (rstest+0x00000045e1ec)
#2 RawSpeed::DngDecoder::decodeRawInternal() /home/lebedevri/rawspeed/src/librawspeed/decoders/DngDecoder.cpp:324 (rstest+0x000000459e70)
#3 RawSpeed::RawDecoder::decodeRaw() /home/lebedevri/rawspeed/src/librawspeed/decoders/RawDecoder.cpp:723 (rstest+0x00000042612f)
#4 process(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, RawSpeed::CameraMetaData*, bool, bool) /home/lebedevri/rawspeed/src/utilities/rstest/rstest.cpp:207 (rstest+0x00000041ab0b)
#5 main._omp_fn.0 /home/lebedevri/rawspeed/src/utilities/rstest/rstest.cpp:295 (rstest+0x00000041bc4e)
#6 <null> <null> (libgomp.so.1+0x0000000166c5)
Thread T14 (tid=30872, running) created by thread T7 at:
#0 pthread_create <null> (libtsan.so.0+0x000000027e9d)
#1 RawSpeed::DngDecoderSlices::startDecoding() /home/lebedevri/rawspeed/src/librawspeed/decoders/DngDecoderSlices.cpp:115 (rstest+0x00000045e1ec)
#2 RawSpeed::DngDecoder::decodeRawInternal() /home/lebedevri/rawspeed/src/librawspeed/decoders/DngDecoder.cpp:324 (rstest+0x000000459e70)
#3 RawSpeed::RawDecoder::decodeRaw() /home/lebedevri/rawspeed/src/librawspeed/decoders/RawDecoder.cpp:723 (rstest+0x00000042612f)
#4 process(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, RawSpeed::CameraMetaData*, bool, bool) /home/lebedevri/rawspeed/src/utilities/rstest/rstest.cpp:207 (rstest+0x00000041ab0b)
#5 main._omp_fn.0 /home/lebedevri/rawspeed/src/utilities/rstest/rstest.cpp:295 (rstest+0x00000041bc4e)
#6 <null> <null> (libgomp.so.1+0x0000000166c5)
Thread T7 (tid=28321, running) created by main thread at:
#0 pthread_create <null> (libtsan.so.0+0x000000027e9d)
#1 <null> <null> (libgomp.so.1+0x000000016c6f)
#2 __libc_start_main <null> (libc.so.6+0x0000000202b0)
SUMMARY: ThreadSanitizer: data race /home/lebedevri/rawspeed/src/librawspeed/decompressors/LJpegDecompressor.cpp:89 in RawSpeed::LJpegDecompressor::parseSOF(RawSpeed::SOFInfo*)
==================
==================
WARNING: ThreadSanitizer: data race (pid=28313)
Write of size 4 at 0x7d540004f6c0 by thread T43:
#0 RawSpeed::LJpegDecompressor::parseSOF(RawSpeed::SOFInfo*) /home/lebedevri/rawspeed/src/librawspeed/decompressors/LJpegDecompressor.cpp:89 (rstest+0x0000004841cc)
#1 RawSpeed::LJpegDecompressor::decode(unsigned int, unsigned int) /home/lebedevri/rawspeed/src/librawspeed/decompressors/LJpegDecompressor.cpp:52 (rstest+0x000000485e28)
#2 RawSpeed::DngDecoderSlices::decodeSlice(RawSpeed::DngDecoderThread*) /home/lebedevri/rawspeed/src/librawspeed/decoders/DngDecoderSlices.cpp:390 (rstest+0x00000045c945)
#3 RawSpeed::DecodeThread(void*) /home/lebedevri/rawspeed/src/librawspeed/decoders/DngDecoderSlices.cpp:61 (rstest+0x00000045d67d)
#4 <null> <null> (libtsan.so.0+0x000000024459)
Previous write of size 4 at 0x7d540004f6c0 by thread T14:
#0 RawSpeed::LJpegDecompressor::parseSOF(RawSpeed::SOFInfo*) /home/lebedevri/rawspeed/src/librawspeed/decompressors/LJpegDecompressor.cpp:89 (rstest+0x0000004841cc)
#1 RawSpeed::LJpegDecompressor::decode(unsigned int, unsigned int) /home/lebedevri/rawspeed/src/librawspeed/decompressors/LJpegDecompressor.cpp:52 (rstest+0x000000485e28)
#2 RawSpeed::DngDecoderSlices::decodeSlice(RawSpeed::DngDecoderThread*) /home/lebedevri/rawspeed/src/librawspeed/decoders/DngDecoderSlices.cpp:390 (rstest+0x00000045c945)
#3 RawSpeed::DecodeThread(void*) /home/lebedevri/rawspeed/src/librawspeed/decoders/DngDecoderSlices.cpp:61 (rstest+0x00000045d67d)
#4 <null> <null> (libtsan.so.0+0x000000024459)
Location is heap block of size 600 at 0x7d540004f600 allocated by thread T7:
#0 operator new(unsigned long) <null> (libtsan.so.0+0x000000065af3)
#1 RawSpeed::RawImage::create(RawSpeed::RawImageType) /home/lebedevri/rawspeed/src/librawspeed/common/RawImage.h:244 (rstest+0x000000458ad8)
#2 RawSpeed::DngDecoder::decodeRawInternal() /home/lebedevri/rawspeed/src/librawspeed/decoders/DngDecoder.cpp:111 (rstest+0x000000458ad8)
#3 RawSpeed::RawDecoder::decodeRaw() /home/lebedevri/rawspeed/src/librawspeed/decoders/RawDecoder.cpp:723 (rstest+0x00000042612f)
#4 process(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, RawSpeed::CameraMetaData*, bool, bool) /home/lebedevri/rawspeed/src/utilities/rstest/rstest.cpp:207 (rstest+0x00000041ab0b)
#5 main._omp_fn.0 /home/lebedevri/rawspeed/src/utilities/rstest/rstest.cpp:295 (rstest+0x00000041bc4e)
#6 <null> <null> (libgomp.so.1+0x0000000166c5)
Thread T43 (tid=30874, running) created by thread T7 at:
#0 pthread_create <null> (libtsan.so.0+0x000000027e9d)
#1 RawSpeed::DngDecoderSlices::startDecoding() /home/lebedevri/rawspeed/src/librawspeed/decoders/DngDecoderSlices.cpp:115 (rstest+0x00000045e1ec)
#2 RawSpeed::DngDecoder::decodeRawInternal() /home/lebedevri/rawspeed/src/librawspeed/decoders/DngDecoder.cpp:324 (rstest+0x000000459e70)
#3 RawSpeed::RawDecoder::decodeRaw() /home/lebedevri/rawspeed/src/librawspeed/decoders/RawDecoder.cpp:723 (rstest+0x00000042612f)
#4 process(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, RawSpeed::CameraMetaData*, bool, bool) /home/lebedevri/rawspeed/src/utilities/rstest/rstest.cpp:207 (rstest+0x00000041ab0b)
#5 main._omp_fn.0 /home/lebedevri/rawspeed/src/utilities/rstest/rstest.cpp:295 (rstest+0x00000041bc4e)
#6 <null> <null> (libgomp.so.1+0x0000000166c5)
Thread T14 (tid=30872, running) created by thread T7 at:
#0 pthread_create <null> (libtsan.so.0+0x000000027e9d)
#1 RawSpeed::DngDecoderSlices::startDecoding() /home/lebedevri/rawspeed/src/librawspeed/decoders/DngDecoderSlices.cpp:115 (rstest+0x00000045e1ec)
#2 RawSpeed::DngDecoder::decodeRawInternal() /home/lebedevri/rawspeed/src/librawspeed/decoders/DngDecoder.cpp:324 (rstest+0x000000459e70)
#3 RawSpeed::RawDecoder::decodeRaw() /home/lebedevri/rawspeed/src/librawspeed/decoders/RawDecoder.cpp:723 (rstest+0x00000042612f)
#4 process(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, RawSpeed::CameraMetaData*, bool, bool) /home/lebedevri/rawspeed/src/utilities/rstest/rstest.cpp:207 (rstest+0x00000041ab0b)
#5 main._omp_fn.0 /home/lebedevri/rawspeed/src/utilities/rstest/rstest.cpp:295 (rstest+0x00000041bc4e)
#6 <null> <null> (libgomp.so.1+0x0000000166c5)
Thread T7 (tid=28321, running) created by main thread at:
#0 pthread_create <null> (libtsan.so.0+0x000000027e9d)
#1 <null> <null> (libgomp.so.1+0x000000016c6f)
#2 __libc_start_main <null> (libc.so.6+0x0000000202b0)
SUMMARY: ThreadSanitizer: data race /home/lebedevri/rawspeed/src/librawspeed/decompressors/LJpegDecompressor.cpp:89 in RawSpeed::LJpegDecompressor::parseSOF(RawSpeed::SOFInfo*)
==================
Hint: it probably needs to be written once, from main thread, the one that is within dngdecoder.cpp::decoderawinternal()
Or, a mutex is needed.
from rawspeed.
Related Issues (20)
- Sony A7RM5 (ILCE-7RM5) camera support HOT 3
- Fujifilm X-T5 Raw compressed doesn't work in github version HOT 5
- Get black level and white point from EXIF for Canon HOT 5
- Move bit depth from mode to sensor data? HOT 4
- Sony ILCE-7M4 (A7IV) Lossless Raw support missing HOT 2
- Color-space after ColorMatrix transformation HOT 5
- Sony Software :ILCE-7M4 v1.10 YCbCr pseudo-raw files are not supported HOT 1
- Crop setting for Olympus M1 Mark III HOT 10
- Crop for Olympus E-M1MarkII
- Website died
- src/librawspeed/README.md is out of date HOT 4
- Looking for bits per sample HOT 12
- Using the ColorFilterArray API to get the filter color for a row/col HOT 4
- DNG opcode level 2 support HOT 8
- Support for the new Sony A6700 (ILCE-6700) please :) HOT 9
- Support JPEG XL compression in DNG HOT 5
- On the use of dithering when decompressing lossless NEF files HOT 1
- Probable overscanning of sony ILCE-7M4 APS-C cropped RAWs HOT 13
- Required compiler too strict HOT 1
- WXS schema failed to compile HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from rawspeed.