Giter VIP home page Giter VIP logo

Comments (1)

LebedevRI avatar LebedevRI commented on May 26, 2024

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)

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.