-
Notifications
You must be signed in to change notification settings - Fork 267
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
库里面有退出程序的指令 #916
Comments
是哪个子库呢? |
用vscode打开 搜索一下 |
你用了rpc库,还是http库或者其它什么库? |
我用了http client库 还有io |
有测试代码吗? |
就http请求,跟ws请求。 |
目前程序会主动退出只有两种情况
|
有没有可能是程序crash或者抛出异常没有捕获? |
coro_http_client 代码里没有exit和abort的 |
是不是没有处理client请求的结果,比如发生网络错误的时候是否做了错误处理? |
静态文件服务器路径有误这个我觉得可以改成抛异常。CRITICAL日志库本身不会打印,除非你主动调用了。如果这两种情况都不符合,我觉得大概率不是程序主动退出,而是你的程序crash了或者抛异常没捕获。 |
他只是用了client,没用到server |
哦我还用了json解析的 会不会是这个问题 |
json 里面有个float解析那里可能会abort,你的json字段有浮点型吗? |
没有 主要类型全是文本 |
那基本上可以排除是库的问题了,应该是你代码逻辑的问题,最好有复现的测试代码。 |
json解析那里catch一下,json会抛异常的。 |
我自己的代码出错会生成一个dmp文件,但是莫名其妙消失的时候没有生成。我感觉是io的问题 |
我现在测试的,在ws连接的情况下直接断开网络会触发io错误 |
这样的话后台只有一个io线程。确实避免了一些多线程错误。 |
我建议你去掉coro_io::get_global_executor(1),挂个thread saniziter跑下你的代码。估计是data race导致的 |
忽然想起来,你用的ylt是什么版本,有一个版本的client有个内存bug,你可以更新到最新的ylt版本再测一下。 |
好的,我等会试试。 |
不过那个bug和outbuf相关,你如果没有使用 |
我现在连着ws的情况下断开网络就会触发io错误导致崩溃。 |
有测试代码吗?堆栈有吗? |
http client 请求不是线程安全的,多线程去调用会有问题的。如果希望并发调用可以使用client pool |
ylt库里调用了exit和abort,会导致程序莫名其妙消失。
The text was updated successfully, but these errors were encountered: