Comments (5)
Were you able to get a stack trace at all?
from libevent.
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.
Is this fixed now? I think we got this with the timeout event initialization fix in af9b2a7
from libevent.
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):
- Login with your github account on Travis: https://travis-ci.org/auth
- 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.
@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)
- stack-buffer-overflow at evutil_parse_sockaddr_port HOT 15
- HTTP Server sample fails to compile for Windows x64
- feature request: websocket api including client and server
- bufferevent_replacefd close socket when bufferevent‘s socket fd is eq new fd HOT 3
- The callback of evsignal SIGUSR1 Can't be called HOT 1
- Privacy Manifest file for iOS HOT 5
- 📚 Where is documentation? HOT 4
- WSOptions enum value bug
- Potential NULL pointer dereference HOT 1
- Potential Null dereference in test-dumpevents.c HOT 1
- Potential Null pointer dereference in bufferevent_openssl.c HOT 1
- Potential Null pointer dereference in regress_ws.c HOT 1
- Potential Null pointer dereference in time-test.c HOT 1
- Failure making HTTP request to unix socket HOT 2
- Coverage report is broken
- Undefined symbols for architecture after building libevent HOT 2
- libevent for iOS HOT 8
- MacOS CI is broken HOT 8
- event_process_active_single_queue: Use of memory after it is freed
- Unexpected input(s) 'vcpkgArguments', 'vcpkgTriplet' HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from libevent.