DataFrame: crashed but can't find where is the error

for the codes is very complex, I take the most closely related part:

        ULDataFrame resultdf;
        for(auto el : current_board_contains.keys())
        {
            std::string ticker_str = el.toStdString();

            auto functor1 = [ticker_str](const unsigned long &, const std::string &val)-> bool { return (val == ticker_str); };
            ULDataFrame tempdf = sec_realtime_df.get_data_by_sel<std::string, decltype(functor1), double, std::string>("ticker", functor1);

            resultdf = resultdf.concat<decltype(tempdf), double, std::string>(tempdf);
        }

securities_realtime_df’s header is :

INDEX:0:<ulong>,id:0:<double>,ticker:0:<string>,name:0:<string>,close_price:0:<double>,change_percentage:0:<double>,change_amount:0:<double>,turnover_vol:0:<double>,turnover_amount:0:<double>,amplitude:0:<double>,highest_price:0:<double>,lowest_price:0:<double>,open_price:0:<double>,last_close:0:<double>,turnover_vol_ratio:0:<double>,turnover_rate:0:<double>,ma5:0:<double>,ma10:0:<double>,ma20:0:<double>,ma30:0:<double>,ma60:0:<double>,trade_date:0:<string>

qt debugger:


1  std::equal_to<hmdf::HeteroVector const *>::operator()                                                                                                                                                                                                                                                                                                                                                                                                                                                          stl_function.h                 356  0x7ff77c70e9bb 
2  std::__detail::_Equal_helper<hmdf::HeteroVector const *, std::pair<hmdf::HeteroVector const * const, std::vector<std::string>>, std::__detail::_Select1st, std::equal_to<hmdf::HeteroVector const *>, unsigned long long, false>::_S_equals                                                                                                                                                                                                                                                                    hashtable_policy.h             1461 0x7ff77c770589 
3  std::__detail::_Hashtable_base<hmdf::HeteroVector const *, std::pair<hmdf::HeteroVector const * const, std::vector<std::string>>, std::__detail::_Select1st, std::equal_to<hmdf::HeteroVector const *>, std::hash<hmdf::HeteroVector const *>, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Hashtable_traits<false, false, true>>::_M_equals                                                                                                                        hashtable_policy.h             1834 0x7ff77c70dcd2 
4  std::_Hashtable<hmdf::HeteroVector const *, std::pair<hmdf::HeteroVector const * const, std::vector<std::string>>, std::allocator<std::pair<hmdf::HeteroVector const * const, std::vector<std::string>>>, std::__detail::_Select1st, std::equal_to<hmdf::HeteroVector const *>, std::hash<hmdf::HeteroVector const *>, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits<false, false, true>>::_M_find_before_node hashtable.h                    1545 0x7ff77c702a5b 
5  std::_Hashtable<hmdf::HeteroVector const *, std::pair<hmdf::HeteroVector const * const, std::vector<std::string>>, std::allocator<std::pair<hmdf::HeteroVector const * const, std::vector<std::string>>>, std::__detail::_Select1st, std::equal_to<hmdf::HeteroVector const *>, std::hash<hmdf::HeteroVector const *>, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits<false, false, true>>::_M_find_node        hashtable.h                    655  0x7ff77c702946 
6  std::_Hashtable<hmdf::HeteroVector const *, std::pair<hmdf::HeteroVector const * const, std::vector<std::string>>, std::allocator<std::pair<hmdf::HeteroVector const * const, std::vector<std::string>>>, std::__detail::_Select1st, std::equal_to<hmdf::HeteroVector const *>, std::hash<hmdf::HeteroVector const *>, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits<false, false, true>>::find                hashtable.h                    1419 0x7ff77c713a1d 
7  std::unordered_map<hmdf::HeteroVector const *, std::vector<std::string>>::find                                                                                                                                                                                                                                                                                                                                                                                                                                 unordered_map.h                921  0x7ff77c728ae0 
8  hmdf::HeteroVector::get_vector<std::string>                                                                                                                                                                                                                                                                                                                                                                                                                                                                    HeteroVector.tcc               43   0x7ff77c668f9a 
9  hmdf::DataFrame<unsigned long, hmdf::HeteroVector>::create_column<std::string>                                                                                                                                                                                                                                                                                                                                                                                                                                 DataFrame_set.tcc              63   0x7ff77c67290f 
10 hmdf::DataFrame<unsigned long, hmdf::HeteroVector>::load_column<std::string>                                                                                                                                                                                                                                                                                                                                                                                                                                   DataFrame_set.tcc              452  0x7ff77c66fdf9 
11 hmdf::DataFrame<unsigned long, hmdf::HeteroVector>::sel_load_functor_<unsigned long long, double, std::string>::operator()<std::vector<std::string>>                                                                                                                                                                                                                                                                                                                                                           DataFrame_misc.tcc             607  0x7ff77c67596d 
12 hmdf::HeteroVector::change_impl_help_<hmdf::DataFrame<unsigned long, hmdf::HeteroVector>::sel_load_functor_<unsigned long long, double, std::string>&, std::string>                                                                                                                                                                                                                                                                                                                                            HeteroVector.tcc               174  0x7ff77c6f007f 
13 hmdf::HeteroVector::change_impl_<hmdf::DataFrame<unsigned long, hmdf::HeteroVector>::sel_load_functor_<unsigned long long, double, std::string>&, hmdf::HeteroVector::type_list, double, std::string>                                                                                                                                                                                                                                                                                                          HeteroVector.tcc               221  0x7ff77c6efa3e 
14 hmdf::HeteroVector::change<hmdf::DataFrame<unsigned long, hmdf::HeteroVector>::sel_load_functor_<unsigned long long, double, std::string>&>                                                                                                                                                                                                                                                                                                                                                                    HeteroVector.h                 196  0x7ff77c6f0620 
15 hmdf::DataFrame<unsigned long, hmdf::HeteroVector>::get_data_by_sel<double, BoardSnapshot::dynamic_update_snapshot(DongfancaifuRealtimData)::<lambda(long unsigned int const&, double const&)>, double, std::string>(const char *, BoardSnapshot::<lambda(long unsigned int const&, double const&)> &) const                                                                                                                                                                                                   DataFrame_get.tcc              637  0x7ff77c558764 
16 BoardSnapshot::dynamic_update_snapshot                                                                                                                                                                                                                                                                                                                                                                                                                                                                         boardsnapshot.cpp              226  0x7ff77c55473b 
17 BoardSnapshot::qt_static_metacall                                                                                                                                                                                                                                                                                                                                                                                                                                                                              moc_boardsnapshot.cpp          84   0x7ff77c4f3ec1 
18 void doActivate<false>(QObject *, int, void * *)                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   0x68b978bb     
19 MainWindow::update_boardsnapshot_frommainwindow                                                                                                                                                                                                                                                                                                                                                                                                                                                                moc_mainwindow.cpp             154  0x7ff77c4f4b30 
20 MainWindow::qt_static_metacall                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 moc_mainwindow.cpp             83   0x7ff77c4f4886 
21 QObject::event(QEvent *)                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           0x68a91565     
22 QWidget::event(QEvent *)                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           0xdf40d0       
23 QMainWindow::event(QEvent *)                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       0xeebff3       
24 QApplicationPrivate::notify_helper(QObject *, QEvent *)                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            0xdb790e       
25 QApplication::notify(QObject *, QEvent *)                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          0xdbe3e3       
26 QCoreApplication::notifyInternal2(QObject *, QEvent *)                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             0x68a656ea     
27 QCoreApplicationPrivate::sendPostedEvents(QObject *, int, QThreadData *)                                                                                                                                                                                                                                                                                                                                                                                                                                                                           0x68a6c745     
28 QWindowsGuiEventDispatcher::sendPostedEvents                                                                                                                                                                                                                                                                                                                                                                                                                                                                   qwindowsguieventdispatcher.cpp 80   0x6a90376e     
29 QEventDispatcherWin32::processEvents(QFlags<QEventLoop::ProcessEventsFlag>)                                                                                                                                                                                                                                                                                                                                                                                                                                                                        0x68abc0b0     
30 QWindowsGuiEventDispatcher::processEvents                                                                                                                                                                                                                                                                                                                                                                                                                                                                      qwindowsguieventdispatcher.cpp 73   0x6a903755     
31 QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>)                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            0x68a64405     
32 QCoreApplication::exec()                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           0x68a6d765     
33 main                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           main.cpp                       22   0x7ff77c50454a 

the code work in sub thread and send a signal after finished. the main thread will update UI after recieved the signal.

the process is continuing and iterating. if I do nothing, it work fine.

and now if I create a new widget , when the data of the widget is calculating, sometime , the app crashed. not always crashed,

can you find some clues from the debugger info?

About this issue

  • Original URL
  • State: closed
  • Created 2 years ago
  • Comments: 25 (9 by maintainers)

Most upvoted comments

@hosseinmoein after debug for two days, I finally find this problem is caused by a conflict between postgresql and mingw64. the comparison operator about thread id can’t work after loading postgresql. change findpackage to find_library resolved the problem! thanks again!