Skip to content
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
Closed

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

cimstu opened this issue Mar 20, 2018 · 8 comments

Comments

@cimstu
Copy link

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
Copy link
Author

cimstu commented Mar 26, 2018

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

@bagder
Copy link
Member

bagder commented Mar 26, 2018

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

@cimstu
Copy link
Author

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
Copy link
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
Copy link

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
Copy link

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
Copy link

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.

https://github.com/virtulis/curl/commit/c874ca9fa5835604a3ba71c3b6cbfff9dd199824

@bagder
Copy link
Member

bagder commented Aug 24, 2018

@cimstu does that fix your issue?

@bagder bagder closed this as completed in 00c3254 Sep 10, 2018
@lock lock bot locked as resolved and limited conversation to collaborators Dec 9, 2018
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Development

No branches or pull requests

3 participants