New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

The example of "asiohiper" cause exception on win7 #2407

Closed
cimstu opened this Issue Mar 20, 2018 · 8 comments

Comments

Projects
None yet
3 participants
@cimstu

cimstu commented Mar 20, 2018

I did this

trying to run asiohiper,when I set a invalid systerm proxy by some tools(proxifier on my pc), it must cause crash!
when the systerm proxy is valid it works well!

I expected the following

curl/libcurl version

7.52.1

[curl -V output]
These are asiohiper outputs, call stack in the attachment
timer_cb:
multi_timer_cb: timeout_ms 2
REMAINING: 1
timer_cb:
multi_timer_cb: timeout_ms 2
REMAINING: 1
timer_cb:
multi_timer_cb: timeout_ms 2
REMAINING: 1
timer_cb:
multi_timer_cb: timeout_ms 2
REMAINING: 1
timer_cb:
multi_timer_cb: timeout_ms 2
REMAINING: 1
timer_cb:
opensocket :
Opened socket 148* Trying 46.82.174.68...

  • TCP_NODELAY set

sock_cb: socket=148, what=2, sockp=00000000
socket callback: s=148 e=003320A8 what=OUT
Adding data: OUT
setsock: socket=148, act=2, fdp=003285C0
watching for socket to become writable
This application has requested the Runtime to terminate it in an unusual way.
Please contact the application's support team for more information.

operating system

win7 64bit
vs2005
callstacks.txt

@cimstu

This comment has been minimized.

cimstu commented Mar 26, 2018

anyone help?
i tried asiohiper example on vs2017 , it' s still crash!

@bagder

This comment has been minimized.

Member

bagder commented Mar 26, 2018

Set a break-point and figure out what's wrong?

@cimstu

This comment has been minimized.

cimstu commented Mar 27, 2018

I know little about asio, so even i got the call stacks i can do nothing
so I want a health and strong example.

@bagder

This comment has been minimized.

Member

bagder commented Mar 28, 2018

I think the problem with that example exists exactly because nobody with knowledge about both asio and libcurl has taken a proper look at it. I know next to nothing about asio myself and I'm sorry but fixing up that example is very low on my personal TODO list.

@virtulis

This comment has been minimized.

virtulis commented Aug 24, 2018

I'm trying to reproduce this and failing.

Which Boost version are you using? Could it be one released before this commit?

boostorg/asio@a50a350#diff-52db8b158e9995dce1dbce6c9ed95425

@virtulis

This comment has been minimized.

virtulis commented Aug 24, 2018

Scratch that, I managed to reproduce the crash, but only when you try proxying access to 127.0.0.1 with Proxifier (whether the actual proxy works or not doesn't seem to matter) (why would anyone actually do that?).

@virtulis

This comment has been minimized.

virtulis commented Aug 24, 2018

It seems that the crash happens because async_write_some expects the socket to not be in an errored state already. I added a kludge here that seems to help but I'm not entirely sure that it's a good solution or that it doesn't introduce other problems.

virtulis@c874ca9

@bagder

This comment has been minimized.

Member

bagder commented Aug 24, 2018

@cimstu does that fix your issue?

@bagder bagder closed this in 00c3254 Sep 10, 2018

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment