首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >程序中的getaddrinfo调用断言

程序中的getaddrinfo调用断言
EN

Stack Overflow用户
提问于 2019-11-12 14:28:07
回答 1查看 1.3K关注 0票数 4

我正在开发一个使用libcurl的程序。程序创建一个线程,然后使用libcurl发出HTTP请求。但有时程序会因错误而崩溃。

netlink描述符上的

意外错误9

在卷曲之后,关闭了AsynchDNS。但问题依然存在。正如我所理解的,断言的原因是getaddrinfo。也许在多线程应用程序中使用getaddrinfo需要某种初始化?或者getaddrinfo通常是非线程安全的?

libcurl版本:

curl 7.67.0 (x86_64-pc-linux-gnu) libcurl/7.67.0 OpenSSL/1.1.0g zlib/1.2.11 libidn2 2/2.0.4发行版-日期: 2019-11-06协议: dict文件ftp ftps gopher http https imap imaps pop3 pop3s rtsp smtps smtps HTTPS tftp功能:HTTPS-代理IDN IPv6大文件libz 11 NTLM_WB TLS

glibc版本:

ldd (Ubuntu 2.27-3ubuntu1) 2.27版权(C) 2018年自由软件基金会,这是免费软件,请参阅复制条件的来源。没有任何保证,即使是适销性或适合某一特定用途。作者: Roland McGrath和Ulrich Drepper.

EN

回答 1

Stack Overflow用户

发布于 2020-01-06 08:38:06

这是应用程序中的文件描述符争用。错误9 (EBADF)的典型场景如下所示:

  1. 线程A关闭文件
  2. B调用getaddrinfo并打开Netlink套接字。它碰巧接收到相同的描述符值。
  3. 由于错误,线程A再次关闭相同的文件描述符。通常情况下,这是良性的,但由于并发执行,由glibc创建的Netlink套接字将关闭。
  4. Thread B尝试使用Netlink套接字描述符并接收EBADF错误。

修复这些错误的关键是找出双关闭的确切位置。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58827641

复制
相关文章
Postman中的断言
主要分享测试的学习资源,帮助快速了解测试行业,帮助想转行、进阶、小白成长为高级测试工程师。
伤心的辣条
2022/12/14
8850
Postman中的断言
TypeScript中的类型断言
本文是关于 TypeScript 中的 type assertions 的,它与其他语言中的类型强制转换有相似之处,并通过 as 运算符执行。
疯狂的技术宅
2020/06/19
3.8K0
python中的断言 (assert)
断言(assert)是python中的常用用法之一,主要用于判断一个条件,当条件为假的时候会触发一个AssertionError。即:
生信编程日常
2020/05/29
1.7K0
python中assert断言的用法
>>> assert 1 == 0 Traceback (most recent call last):  File "<stdin>", line 1, in <module> AssertionError >>> assert 1 == 1
py3study
2020/01/06
1.4K0
spark程序中调用shell脚本
scala直接调用shell脚本是不行的,但是可以利用java调用shell脚本然后在spark代码中引入java代码实现。 参考:java代码调用shell脚本 shell脚本必须在spark的driver端调用,在worker端只能处理数据。因此必须在spark的DAG引擎开始或者结束以及两个job之间调用shell脚本。 根据以上前提,spark执行shell脚本代码只能在以下几个位置: SparkContext创建之前和创建之后但是创建RDD之前。 每一个job的Spark的action函数
神秘的寇先森
2019/03/11
2.5K0
spark程序中调用shell脚本
SoapUI中是如何断言的呢(一)
将请求发送到Web服务器后,就会收到响应。我们需要验证响应是否包含我们期望的数据。为了验证响应,我们需要使用断言。
用户7466307
2020/06/17
6470
SoapUI中是如何断言的呢(二)
将请求发送到Web服务器后,就会收到响应。我们需要验证响应是否包含我们期望的数据。为了验证响应,我们需要使用断言。
用户7466307
2020/06/17
1.5K0
TestNg中的断言你真的了解吗
在执行自动化测试脚本的时候,我们需要自动判断测试脚本执行完成后的实际结果是否与预期结果一致,这个时候就需要在程序运行之前写入断言,判断当前程序执行后是否正常。
软件测试君
2019/08/02
2.2K0
TestNg中的断言你真的了解吗
【说站】python中mock的断言使用
以上就是python中mock的断言使用,希望对大家有所帮助。更多Python学习指路:python基础教程
很酷的站长
2022/11/23
5340
SoapUI中是如何断言的呢(三)
Xquery匹配声明 它使用Xquery表达式从target属性中选择内容。为了更好地理解XQuery,我们需要更大的响应XML,让我们导入另一个WSDL,如下所示:http : //www.webs
用户7466307
2020/06/17
1.2K0
SoapUI中是如何断言的呢(四)
AND:所有断言均被评估为VALID断言,这将导致PASSED组条件。或:组中至少一个断言必须为VALID才能断言组PASSED条件。
用户7466307
2020/06/17
1.6K0
SoapUI中是如何断言的呢(四)
如何在小程序中调用本地接口
如何在小程序中调用本地接口 背景: 随着微信小程序开始公测,我司也拿到了AppID,所以开始了微信小程序的趟坑之旅。 由于现在网上已经有很多的《微信小程序从精通到入门》的教程了,所以就不再重复那些,只是讲一下,在开发的过程中,如何使用本地(开发环境)的接口。 因为小程序的开发文档中写到了,wx.request 中的URL只能是一个https请求,本地一般来讲是不会有https的-.- 所以我们使用Charles代理来实现需求。 前提: 本人认为你现在已经具备以下几个条件: 具有微
贾顺名
2018/04/12
2.8K0
如何在小程序中调用本地接口
Python中不尽如人意的断言Assertion
Python中的断言用起来非常简单,你可以在assert后面跟上任意判断条件,如果断言失败则会抛出异常。
全栈程序员站长
2022/02/22
3530
宏程序的调用方法
② 当 M98 程序段包含其他 NC 指令(如:G01 X100.0 M98 P )时,在该指令执行完后调用子程序,而 G65 则无条件调用宏程序。
lrglu
2022/05/16
2.5K0
宏程序的调用方法
php_network_getaddresses: getaddrinfo failed
这个错误一般发生在有远程请求时,典型的错误信息是: Warning: fsockopen(): php_network_getaddresses: getaddrinfo failed:Name or service not known in /home/carstyling/public_html/newnuke/modules/WebMail/pop3.php on line 70  Warning: fsockopen(): unable to connect to mx.freenet.de:1
大江小浪
2018/07/25
1.4K0
使用TestNG中HardAssert和SoftAssert断言
第一步:发起请求 第二步:断言响应状态是否200,如果成功继续 第三步:断言响应时间是否符合标准(非必须) 第四步:断言响应数据是否正确,一般的做法是判断某个值是否相等或者包含关系。
桑鱼
2020/04/23
1.2K0
SVA断言学习|02. 并发断言和即时断言
也没有很复杂,稍加区分即可。并发断言需要用到property,clk, 即时断言用always,和Verilog当中的程序块,不能说很像,简直一模一样。验证的日常工作中,并发断言出现的机会更多。
用户10108023
2023/01/08
1.3K0
SVA断言学习|02. 并发断言和即时断言
断言(assert)的用法
我一直以为 assert 仅仅是个报错函数,事实上,它居然是个宏,并且作用并非"报错"。
云深无际
2021/04/14
1.1K0
断言(assert)的用法
在小程序中调用API在小程序中自定义弹窗组件
表明它是一个组件,我们称之为“子组件” 3. 注意:在组件wxss中不应使用ID选择器、属性选择器和标签名选择器。(只使用class)
九旬
2020/10/23
3K0
点击加载更多

相似问题

中止对getaddrinfo()的调用

22

getaddrinfo()是系统调用吗?

23

递归调用中的断言?

20

Linux系统调用: getaddrinfo return -2

22

通知调用中的断言失败

12
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文