U++ framework
Do not panic. Ask here before giving up.

Home » Community » U++ community news and announcements » ide: Assist parsing now parallel and some of it background
Re: ide: Assist parsing now parallel and some of it background [message #54332 is a reply to message #54331] Tue, 23 June 2020 19:56 Go to previous messageGo to previous message
Novo is currently offline  Novo
Messages: 1431
Registered: December 2006
Ultimate Contributor
Novo wrote on Tue, 23 June 2020 13:43
mirek wrote on Tue, 23 June 2020 09:17

How about now?

uninitialised value is gone.
I do not see Upp::ConditionVariable::Broadcast() problem anymore.

Almost all complains of DRD are related to Upp::Ctrl::Create(Upp::Ctrl*, bool) --> g_task_run_in_thread() now.
I guess this issue can be ignored.

Thanks.

Actually, these messages look similar to what ThreadSanitizer is reporting:
WARNING: ThreadSanitizer: data race (pid=1166000)
  Write of size 8 at 0x7b1800026040 by main thread (mutexes: write M538):
    #0 free <null> (ide+0x442cc8)
    #1 <null> <null> (libglib-2.0.so.0+0x4e991)
    #2 Upp::Ctrl::Create(Upp::Ctrl*, bool) /home/ssg/dvlp/cpp/code/upp/git/uppsrc/CtrlCore/GtkCreate.cpp:74:2 (ide+0x139755a)
    #3 Upp::TopWindow::Open(Upp::Ctrl*) /home/ssg/dvlp/cpp/code/upp/git/uppsrc/CtrlCore/GtkTop.cpp:129:2 (ide+0x139d035)
    #4 Upp::TopWindow::Open() /home/ssg/dvlp/cpp/code/upp/git/uppsrc/CtrlCore/GtkTop.cpp:149:2 (ide+0x1387182)
    #5 SelectPackageDlg::Load(Upp::String const&) /home/ssg/dvlp/cpp/code/upp/git/uppsrc/ide/SelectPkg.cpp:681:4 (ide+0x4dbe7d)
    #6 SelectPackageDlg::OnBase() /home/ssg/dvlp/cpp/code/upp/git/uppsrc/ide/SelectPkg.cpp:360:3 (ide+0x4dfbdd)
    #7 Upp::CallbackN<> Upp::callback<SelectPackageDlg, SelectPackageDlg>(SelectPackageDlg*, void (SelectPackageDlg::*)())::'lambda'()::operator()() const /home/ssg/dvlp/cpp/code/upp/git/uppsrc/Core/CallbackNP.i:38:36 (ide+0x6d2b40)
    #8 Upp::Function<void ()>::Wrapper<Upp::CallbackN<> Upp::callback<SelectPackageDlg, SelectPackageDlg>(SelectPackageDlg*, void (SelectPackageDlg::*)())::'lambda'()>::Execute() /home/ssg/dvlp/cpp/code/upp/git/uppsrc/Core/Function.h:17:50 (ide+0x6d29af)
    #9 Upp::Function<void ()>::operator()() const /home/ssg/dvlp/cpp/code/upp/git/uppsrc/Core/Function.h:76:65 (ide+0x635e5b)
    #10 Upp::ArrayCtrl::SetCursor0(int, bool) /home/ssg/dvlp/cpp/code/upp/git/uppsrc/CtrlLib/ArrayCtrl.cpp:1429:3 (ide+0x993bca)
    #11 Upp::ArrayCtrl::SetCursor(int) /home/ssg/dvlp/cpp/code/upp/git/uppsrc/CtrlLib/ArrayCtrl.cpp:1449:9 (ide+0x98e059)
    #12 Upp::ArrayCtrl::FindSetCursor(Upp::Value const&, int, int) /home/ssg/dvlp/cpp/code/upp/git/uppsrc/CtrlLib/ArrayCtrl.cpp:2410:6 (ide+0x9a80f1)
    #13 SelectPackageDlg::SyncBase(Upp::String) /home/ssg/dvlp/cpp/code/upp/git/uppsrc/ide/SelectPkg.cpp:699:11 (ide+0x4e1fd1)
    #14 SelectPackageDlg::Run(Upp::String) /home/ssg/dvlp/cpp/code/upp/git/uppsrc/ide/SelectPkg.cpp:311:3 (ide+0x4e18d2)
    #15 SelectPackage(char const*, char const*, bool, bool) /home/ssg/dvlp/cpp/code/upp/git/uppsrc/ide/SelectPkg.cpp:724:17 (ide+0x4e63b5)
    #16 Ide::OpenMainPackage() /home/ssg/dvlp/cpp/code/upp/git/uppsrc/ide/ide.cpp:157:13 (ide+0x520147)
    #17 GuiMainFn_() /home/ssg/dvlp/cpp/code/upp/git/uppsrc/ide/main.cpp:306:20 (ide+0x5c7190)
    #18 Upp::AppExecute__(void (*)()) /home/ssg/dvlp/cpp/code/upp/git/uppsrc/Core/App.cpp:442:3 (ide+0xc71a85)
    #19 main /home/ssg/dvlp/cpp/code/upp/git/uppsrc/ide/main.cpp:120:1 (ide+0x5c57dc)

  Previous write of size 8 at 0x7b1800026040 by thread T21:
    #0 calloc <null> (ide+0x4428f0)
    #1 g_malloc0 <null> (libglib-2.0.so.0+0x57d30)

  Mutex M538 (0x0000027ca0c8) created at:
    #0 pthread_mutex_init <null> (ide+0x4454bd)
    #1 Upp::Mutex::Mutex() /home/ssg/dvlp/cpp/code/upp/git/uppsrc/Core/Mt.cpp:601:2 (ide+0xc506ac)
    #2 Upp::StaticPrimitive_<Upp::Mutex>::Initialize() /home/ssg/dvlp/cpp/code/upp/git/uppsrc/Core/Mt.h:313:46 (ide+0x8b63da)
    #3 Upp::StaticPrimitive_<Upp::Mutex>::Get() /home/ssg/dvlp/cpp/code/upp/git/uppsrc/Core/Mt.h:316:38 (ide+0x8b6317)
    #4 Upp::StaticMutex::Enter() /home/ssg/dvlp/cpp/code/upp/git/uppsrc/Core/Mt.h:323:31 (ide+0x8b02c8)
    #5 Upp::EnterGuiMutex() /home/ssg/dvlp/cpp/code/upp/git/uppsrc/CtrlCore/CtrlMt.cpp:15:10 (ide+0x1350079)
    #6 Upp::GuiLock::GuiLock() /home/ssg/dvlp/cpp/code/upp/git/uppsrc/CtrlCore/CtrlCore.h:66:15 (ide+0x8709c4)
    #7 Upp::Ctrl::InstallKeyHook(bool (*)(Upp::Ctrl*, unsigned int, int)) /home/ssg/dvlp/cpp/code/upp/git/uppsrc/CtrlCore/Ctrl.cpp:712:10 (ide+0x135b6a1)
    #8 Upp::s__sF29_328_fn() /home/ssg/dvlp/cpp/code/upp/git/uppsrc/CtrlLib/MenuBar.cpp:330:2 (ide+0xa0ffca)
    #9 Upp::Callinit::Callinit(void (*)(), char const*, int) /home/ssg/dvlp/cpp/code/upp/git/uppsrc/Core/Defs.h:86:83 (ide+0x627646)
    #10 __cxx_global_var_init.119 /home/ssg/dvlp/cpp/code/upp/git/uppsrc/CtrlLib/MenuBar.cpp:328:1 (ide+0x42d0f9)
    #11 _GLOBAL__sub_I_CtrlLib_blitz.cpp /home/ssg/dvlp/cpp/code/upp/out/uppsrc/CtrlLib/CLANGcpp17tsan.Debug.Debug_Full.Gui.Shared.Usemalloc/CtrlLib$blitz.cpp (ide+0x42de3b)
    #12 __libc_csu_init <null> (ide+0x15cbddc)

  Thread T21 'pool-ide' (tid=1166023, running) created by main thread at:
    #0 pthread_create <null> (ide+0x443f3b)
    #1 <null> <null> (libglib-2.0.so.0+0x9f11a)
    #2 Upp::Ctrl::PopUp(Upp::Ctrl*, bool, bool, bool, bool) /home/ssg/dvlp/cpp/code/upp/git/uppsrc/CtrlCore/GtkCreate.cpp:153:2 (ide+0x1398e23)
    #3 ShowSplash() /home/ssg/dvlp/cpp/code/upp/git/uppsrc/ide/About.cpp:109:23 (ide+0x5936c5)
    #4 GuiMainFn_() /home/ssg/dvlp/cpp/code/upp/git/uppsrc/ide/main.cpp:282:4 (ide+0x5c6f7d)
    #5 Upp::AppExecute__(void (*)()) /home/ssg/dvlp/cpp/code/upp/git/uppsrc/Core/App.cpp:442:3 (ide+0xc71a85)
    #6 main /home/ssg/dvlp/cpp/code/upp/git/uppsrc/ide/main.cpp:120:1 (ide+0x5c57dc)

In this case it is Thread T21 'pool-ide' and Upp::Ctrl::Create(Upp::Ctrl*, bool) again ...


Regards,
Novo
 
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Previous Topic: Variadic templates helper functions
Next Topic: get_i
Goto Forum:
  


Current Time: Sun Apr 26 00:09:13 GMT+2 2026

Total time taken to generate the page: 0.00637 seconds