SophistSolutions / WhyTheFuckIsMyNetworkSoSlow

WhyTheFuckIsMyNetworkSoSlow is a network performance analysis tool, making it easy to quickly examine a network and see what is wrong, and to evaluate longer term trends.
15 stars 1 forks source link

disabled ASAN on raspberrypi due to apparent false positive error #22

Open LewisPringle opened 2 years ago

LewisPringle commented 2 years ago

0 0x05e94dae in __sanitizer::Die() ()

1 0x05e7c74a in __asan::ScopedInErrorReport::~ScopedInErrorReport() ()

2 0x05e7c0fa in __asan::ReportGenericError(unsigned long, unsigned long, unsigned long, unsigned long, bool, unsigned long, unsigned int, bool

3 0x05e7cc24 in __asan_report_load4 ()

4 0x05eb4fa6 in Stroika::Foundation::Characters::String::String (this=0xae1fd010, cString=0xae1fbe20 L"7")

at /__w/WhyTheFuckIsMyNetworkSoSlow/WhyTheFuckIsMyNetworkSoSlow/WhyTheFuckIsMyNetworkSoSlow/ThirdPartyComponents/Stroika/StroikaRoot/Library

5 0x07e266e4 in Stroika::Foundation::Characters::(anonymous namespace)::num2Str_ (t=7, flags=std::_S_dec) at ToString.cpp:88

6 0x07e256d0 in Stroika::Foundation::Characters::ToString<int, (std::enable_if<true, void>*)0> (t=7, flags=std::_S_dec) at ToString.cpp:145

7 0x078f0e96 in Stroika::Foundation::Characters::ToString (t=@0xae1fcfa0: 7) at ../../Foundation/Characters/ToString.inl:262

8 0x087e7e44 in Stroika::Foundation::Execution::Thread::Ptr::Rep_::ToString (this=0xb2a0aa90) at Thread.cpp:397

9 0x087eb27e in Stroika::Foundation::Execution::Thread::Ptr::Rep::ThreadMain (thisThreadRep=0xafbfc7d8) at Thread.cpp:687

10 0x087e6be2 in operator() (__closure=0xb3a54b94) at Thread.cpp:337

#

23275==ERROR: AddressSanitizer: stack-use-after-scope on address 0xae1fbe20 at pc 0x05eb4fa7 bp 0xae1fbce0 sp 0xae1fbce0 READ of size 4 at 0xae1fbe20 thread T7 [New Thread 0xa93fef10 (LWP 23286)]

0 0x5eb4fa4 in Stroika::Foundation::Characters::String::String(wchar_t const*) ../Characters/String.inl:105

#1 0x7e266e0 in num2Str_<int> /__w/WhyTheFuckIsMyNetworkSoSlow/WhyTheFuckIsMyNetworkSoSlow/WhyTheFuckIsMyNetworkSoSlow/ThirdPartyComponents/
#2 0x7e256cc in Stroika::Foundation::Characters::String Stroika::Foundation::Characters::ToString<int, (std::enable_if<true, void>*)0>(int,

/Library/Sources/Stroika/Foundation/Characters/ToString.cpp:145

3 0x78f0e92 in Stroika::Foundation::Characters::String Stroika::Foundation::Characters::ToString(int const&) ../../Characters/ToString

#4 0x87e7e40 in Stroika::Foundation::Execution::Thread::Ptr::Rep_::ToString() const /__w/WhyTheFuckIsMyNetworkSoSlow/WhyTheFuckIsMyNetworkSo
#5 0x87eb27a in Stroika::Foundation::Execution::Thread::Ptr::Rep_::ThreadMain_(std::shared_ptr<Stroika::Foundation::Execution::Thread::Ptr::

ry/Sources/Stroika/Foundation/Execution/Thread.cpp:687

6 0x87e6bde in operator() /__w/WhyTheFuckIsMyNetworkSoSlow/WhyTheFuckIsMyNetworkSoSlow/WhyTheFuckIsMyNetworkSoSlow/ThirdPartyComponents/Str

#7 0x87fa6e6 in __invoke_impl<void, Stroika::Foundation::Execution::Thread::Ptr::Rep_::DoCreate(const std::shared_ptr<Stroika::Foundation::E
#8 0x87fa5e0 in __invoke<Stroika::Foundation::Execution::Thread::Ptr::Rep_::DoCreate(const std::shared_ptr<Stroika::Foundation::Execution::T
#9 0x87fa4e0 in _M_invoke<0> /usr/arm-linux-gnueabihf/include/c++/10/thread:264
#10 0x87fa448 in operator() /usr/arm-linux-gnueabihf/include/c++/10/thread:271
#11 0x87fa406 in _M_run /usr/arm-linux-gnueabihf/include/c++/10/thread:215
#12 0x90009f2 in execute_native_thread_routine (/opt/WhyTheFuckIsMyNetworkSoSlow/WhyTheFuckIsMyNetworkSoSlow-Backend+0x8c009f2)
#13 0x5e3133a in asan_thread_start(void*) (/opt/WhyTheFuckIsMyNetworkSoSlow/WhyTheFuckIsMyNetworkSoSlow-Backend+0x5a3133a)

Address 0xae1fbe20 is located in stack of thread T7 at offset 32 in frame

0 0x7e26578 in num2Str_ /__w/WhyTheFuckIsMyNetworkSoSlow/WhyTheFuckIsMyNetworkSoSlow/WhyTheFuckIsMyNetworkSoSlow/ThirdPartyComponents/

This frame has 1 object(s): [32, 4128) 'buf' (line 74) <== Memory access at offset 32 is inside this variable HINT: this may be a false positive if your program uses some custom stack unwind mechanism, swapcontext or vfork (longjmp and C++ exceptions are supported) Thread T7 created by T4 here:

0 0x5e31396 in pthread_create (/opt/WhyTheFuckIsMyNetworkSoSlow/WhyTheFuckIsMyNetworkSoSlow-Backend+0x5a31396)

Thread T4 created by T0 here:

0 0x5e31396 in pthread_create (/opt/WhyTheFuckIsMyNetworkSoSlow/WhyTheFuckIsMyNetworkSoSlow-Backend+0x5a31396)

    template <typename T>
    inline String num2Str_ (T t, std::ios_base::fmtflags flags)
    {
        static_assert (sizeof (t) <= sizeof (int));
        wchar_t buf[1024];
        switch (flags) {
            case std::ios_base::oct:
                (void)::swprintf (buf, Memory::NEltsOf (buf), L"%o", t);
                break;
            case std::ios_base::dec:
                (void)::swprintf (buf, Memory::NEltsOf (buf), L"%d", t);
                break;
            case std::ios_base::hex:
                (void)::swprintf (buf, Memory::NEltsOf (buf), L"0x%x", t);
                break;
            default:
                AssertNotReached (); // @todo support octal
        }
        return buf;
    }

Fails building with g++-10 - try a more recent compiler (g++-12) when get compatible libraries on the raspberrypi).