Giter Club home page Giter Club logo

Comments (5)

falconindy avatar falconindy commented on July 30, 2024 1

Well, I suppose the good news is that I can reproduce this auracle --baseurl http://10.255.255.1 outdated.

from auracle.

falconindy avatar falconindy commented on July 30, 2024 1

Fixing this seems to involve ripping out the cancellation logic. Working on a patch...

from auracle.

falconindy avatar falconindy commented on July 30, 2024

A symbolized stack trace would be helpful.

from auracle.

falconindy avatar falconindy commented on July 30, 2024

This is a bug in the cancellation logic that leads to the io source being unref'd multiple times because we receive two events with CURL_POLL_REMOVE. Here's a backtrace of where it goes bad:

(gdb) bt                                                                                                                                     
#0  aur::AurImpl::DispatchSocketCallback (this=0x618000000480, s=<optimized out>, action=4, io=<optimized out>) at ../src/aur/aur.cc:330                                                                                                                                                   
#1  0x00007ffff74fa4e1 in singlesocket () from /usr/lib/libcurl.so.4                                                                         
#2  0x00007ffff74fe622 in curl_multi_remove_handle () from /usr/lib/libcurl.so.4                                                             
#3  0x000055555570e833 in aur::AurImpl::FinishRequest (this=<optimized out>, curl=0x623000005500, result=<optimized out>, dispatch_callback=<optimized out>) at ../src/aur/aur.cc:462
#4  0x0000555555708cc1 in std::__do_visit<std::__detail::__variant::__deduce_visit_result<void>, aur::AurImpl::Cancel(const value_type&)::Visitor, const std::variant<void*, sd_event_source*>&> (__visitor=...) at /usr/include/c++/10.2.0/variant:869
#5  std::visit<aur::AurImpl::Cancel(const value_type&)::Visitor, const std::variant<void*, sd_event_source*>&> (__visitor=...) at /usr/include/c++/10.2.0/variant:1710                                                                                                                     
#6  aur::AurImpl::Cancel (this=0x618000000480, request=...) at ../src/aur/aur.cc:291
#7  0x00005555557090f6 in aur::AurImpl::CancelAll (this=0x618000000480) at ../subprojects/abseil-cpp-20200225.2/absl/container/internal/raw_hash_set.h:311                                                                                                                                 
#8  0x000055555570f08d in aur::AurImpl::CheckFinished (this=0x618000000480) at ../src/aur/aur.cc:485                                         
#9  0x000055555570f341 in aur::AurImpl::DispatchSocketCallback (this=0x618000000480, s=<optimized out>, action=4, io=<optimized out>) at ../src/aur/aur.cc:332
#10 0x00007ffff74fb092 in Curl_multi_closed () from /usr/lib/libcurl.so.4                                                                    
#11 0x00007ffff74cc631 in Curl_closesocket () from /usr/lib/libcurl.so.4                                                                                                                                                                                                                   
#12 0x00007ffff74df551 in Curl_disconnect () from /usr/lib/libcurl.so.4                                                                      
#13 0x00007ffff74fc354 in multi_done () from /usr/lib/libcurl.so.4                                                                                                                                                                                                                         
#14 0x00007ffff74fcc91 in multi_runsingle () from /usr/lib/libcurl.so.4                                                                      
#15 0x00007ffff74fe1d1 in multi_socket () from /usr/lib/libcurl.so.4                                                                                                                                                                                                                       
#16 0x00007ffff74fe354 in curl_multi_socket_action () from /usr/lib/libcurl.so.4
#17 0x000055555570f60d in aur::AurImpl::OnCurlTimer (userdata=0x618000000480) at ../src/aur/aur.cc:401                                                                                                                                                                                     
#18 0x00007ffff7466b3e in ?? () from /usr/lib/libsystemd.so.0                                                                                
#19 0x00007ffff746821e in sd_event_dispatch () from /usr/lib/libsystemd.so.0                                                                 
#20 0x00007ffff746a6a9 in sd_event_run () from /usr/lib/libsystemd.so.0                                                                      
#21 0x0000555555704bd3 in aur::AurImpl::Wait (this=0x618000000480) at ../src/aur/aur.cc:495                                                  
#22 0x000055555563ee8a in auracle::Auracle::GetOutdatedPackages (this=<optimized out>, args=std::vector of length 0, capacity 0, packages=<optimized out>) at /usr/include/c++/10.2.0/bits/unique_ptr.h:421
#23 0x0000555555656816 in auracle::Auracle::Outdated (this=<optimized out>, args=..., options=...) at ../src/auracle/auracle.cc:564          
#24 0x0000555555596c7f in main (argc=<optimized out>, argv=<optimized out>) at ../subprojects/abseil-cpp-20200225.2/absl/container/internal/raw_hash_set.h:311                                                                                                                             

I'd take a patch for fixing this, but I don't know if I'll have time to look into this myself.

from auracle.

Jesin avatar Jesin commented on July 30, 2024

Thanks. Sorry for vanishing for a few days, but I'm glad to see you fixed it.

from auracle.

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.