Giter Site home page Giter Site logo

Comments (5)

nmathewson avatar nmathewson commented on May 21, 2024

Were you able to get a stack trace at all?

from libevent.

JoakimSoderberg avatar JoakimSoderberg commented on May 21, 2024

Here's stack traces from both the IOCP and non-IOCP tests.

regress.exe --no-fork iocp/bufferevent/bufferevent_connect_fail:

>   regress.exe!bufferevent_finalize_cb_(event_callback * evcb, void * arg_)  Line 689 + 0x9 bytes  C
    regress.exe!event_base_cancel_single_callback_(event_base * base, event_callback * evcb, int run_finalizers)  Line 741 + 0x15 bytes C
    regress.exe!event_base_free_(event_base * base, int run_finalizers)  Line 814 + 0x11 bytes  C
    regress.exe!event_base_free(event_base * base)  Line 869 + 0xb bytes    C
    regress.exe!basic_test_cleanup(const testcase_t * testcase, void * ptr)  Line 289 + 0xb bytes   C
    regress.exe!testcase_run_bare_(const testcase_t * testcase)  Line 105 + 0x15 bytes  C
    regress.exe!testcase_run_one(const testgroup_t * group, const testcase_t * testcase)  Line 240 + 0x9 bytes  C
    regress.exe!tinytest_main(int c, const char * * v, testgroup_t * groups)  Line 421 + 0x20 bytes C
    regress.exe!main(int argc, const char * * argv)  Line 455 + 0x12 bytes  C
    regress.exe!__tmainCRTStartup()  Line 555 + 0x19 bytes  C
    regress.exe!mainCRTStartup()  Line 371  C
    kernel32.dll!755f336a()     
    [Frames below may be incorrect and/or missing, no symbols loaded for kernel32.dll]  
    ntdll.dll!77669f72()    
    ntdll.dll!77669f45()    

regress.exe --no-fork bufferevent/bufferevent_connect_fail (with a breakpoint set at the crash point, this works):

>   regress.exe!bufferevent_finalize_cb_(event_callback * evcb, void * arg_)  Line 689  C
    regress.exe!event_base_cancel_single_callback_(event_base * base, event_callback * evcb, int run_finalizers)  Line 741 + 0x15 bytes C
    regress.exe!event_base_free_(event_base * base, int run_finalizers)  Line 814 + 0x11 bytes  C
    regress.exe!event_base_free(event_base * base)  Line 869 + 0xb bytes    C
    regress.exe!basic_test_cleanup(const testcase_t * testcase, void * ptr)  Line 289 + 0xb bytes   C
    regress.exe!testcase_run_bare_(const testcase_t * testcase)  Line 105 + 0x15 bytes  C
    regress.exe!testcase_run_one(const testgroup_t * group, const testcase_t * testcase)  Line 240 + 0x9 bytes  C
    regress.exe!tinytest_main(int c, const char * * v, testgroup_t * groups)  Line 421 + 0x20 bytes C
    regress.exe!main(int argc, const char * * argv)  Line 455 + 0x12 bytes  C
    regress.exe!__tmainCRTStartup()  Line 555 + 0x19 bytes  C
    regress.exe!mainCRTStartup()  Line 371  C
    kernel32.dll!755f336a()     
    [Frames below may be incorrect and/or missing, no symbols loaded for kernel32.dll]  
    ntdll.dll!77669f72()    
    ntdll.dll!77669f45()    

from libevent.

nmathewson avatar nmathewson commented on May 21, 2024

Is this fixed now? I think we got this with the timeout event initialization fix in af9b2a7

from libevent.

JoakimSoderberg avatar JoakimSoderberg commented on May 21, 2024

Yes this seems to work now. Ran it a few times and I don't get it anymore. Great detective work :)

Regarding this other issue however, with the group limit test, I don't know if that's a problem. I only seem to get it on windows at least (see output below)?

As I mentioned in my ticket adding Travis support: https://github.com/nmathewson/Libevent/pull/94

It would be a good idea if you setup a hook between Travis-CI both for the libevent/libevent and the nmathewson/libevent repository on github.

Then all pushes and pull requests will get a build status for gcc/clang both with SSL and threading toggled. It is also possible to get a badge of the build status that can be shown in the github README.

Here's how you do it (for both users):

  1. Login with your github account on Travis: https://travis-ci.org/auth
  2. Toggle the Libevent repo for Travis to build: https://travis-ci.org/profile

Detailed instructions:
http://docs.travis-ci.com/user/getting-started/

The error output from the grouplimit test:

$ bin/Debug/test-ratelim.exe "-g" "30000" "-n" "30" "-t" "100" "--check-grouplimit" "1000" "--check-stddev" "100"
waiting for 30 conns
Average group read bucket level: 2958.980000
Average group write bucket level: 2970.480000
1: 1095.000000 per second
2: 1076.600000 per second
3: 1064.200000 per second
4: 1027.600000 per second
5: 1062.000000 per second
6: 1072.400000 per second
7: 1135.400000 per second
8: 1127.000000 per second
9: 1082.000000 per second
10: 1099.600000 per second
11: 1061.400000 per second
12: 1086.200000 per second
13: 1075.400000 per second
14: 1090.400000 per second
15: 1059.000000 per second
16: 1060.000000 per second
17: 1040.200000 per second
18: 1073.000000 per second
19: 1056.600000 per second
20: 1032.400000 per second
21: 1041.000000 per second
22: 1041.600000 per second
23: 1005.000000 per second
24: 985.800000 per second
25: 1016.800000 per second
26: 1068.000000 per second
27: 1040.800000 per second
28: 1055.400000 per second
29: 1048.800000 per second
30: 1024.800000 per second
   total: 31804.400000 per second
  [Off by -1804.400000]
Group bandwidth out of bounds
 average: 1060.146667 per second
  [Off by -60.146667]
  stddev: 32.172035 per second

from libevent.

errzey avatar errzey commented on May 21, 2024

@JoakimSoderberg we've moved everything over to github.com/libevent/libevent for CI and other build stuff.

Easy one for me 🍷

Closing

from libevent.

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.