解决dnu restore时的“Cannot handle address family”问题

前几天在使用基于 mono 的 dnx 中的 dnu restore 命令安装 nuget 包包时,遇到了 “Cannot handle address family” 错误,错误详情如下:

Cannot handle address family 61712
Stacktrace:

  at <unknown> <0xffffffff>
  at (wrapper managed-to-native) System.Net.Dns.GetHostByName_internal (string,string&,string[]&,string[]&) <0xffffffff>
  at System.Net.Dns.GetHostByName (string) <0x00054>
  at System.Net.ServicePoint.get_HostEntry () <0x00219>
  at System.Net.WebConnection.Connect (System.Net.HttpWebRequest) <0x001d4>
  at System.Net.WebConnection.InitConnection (object) <0x002ea>
  at System.Net.WebConnection.<WebConnection>m__0 (object) <0x00024>
  at System.Runtime.Remoting.Messaging.AsyncResult.WaitCallback_Context (object) <0x00058>
  at System.Threading.ExecutionContext.RunInternal (System.Threading.ExecutionContext,System.Threading.ContextCallback,object,bool) <0x001c6>
  at System.Threading.ExecutionContext.Run (System.Threading.ExecutionContext,System.Threading.ContextCallback,object,bool) <0x00020>
  at System.Runtime.Remoting.Messaging.AsyncResult.<AsyncResult>m__0 (object) <0x00022>
  at (wrapper runtime-invoke) <Module>.runtime_invoke_void__this___object (object,intptr,intptr,intptr) <0xffffffff>

Native stacktrace:

	mono() [0x4a1ce8]
	/lib/x86_64-linux-gnu/libpthread.so.0(+0x10340) [0x7f96c8e7e340]
	/lib/x86_64-linux-gnu/libc.so.6(gsignal+0x39) [0x7f96c8adfcc9]
	/lib/x86_64-linux-gnu/libc.so.6(abort+0x148) [0x7f96c8ae30d8]
	mono() [0x6318c6]
	mono() [0x6316b3]
	mono() [0x631769]
	mono() [0x62b0b5]
	mono() [0x57a5e6]
	[0x40bb793e]

Debug info from gdb:

=================================================================
Got a SIGABRT while executing native code. This usually indicates
a fatal error in the mono runtime or one of the native libraries
used by your application.
=================================================================

在 github 上提交 issue 之后,从回复中得知这是 mono 的一个 bug,有人已经向 mono 提交了这个 bug ,详见 Use "Dns.GetHostEntry" or "Dns.GetHostByName",sometime throw error "Cannot handle address family xxxxx" 。

当时错误一直存在,怎么也无法完成 dnu restore 。后来,过了一段时间再操作,突然就好了。

后来,遇到了好几次这个问题,都是出现错误后,过一段时间就好了。

今天再次遇到,突然想到,是不是 dns 缓存的原因,清一下 dns 缓存试试。

service nscd restart

重启 nscd 之后,错误立马消失。

为了进一步确认真的是这个原因,后来找到了一个方法重现问题 —— 删除 ~/.dnx/packages 文件夹,然后重新编译 dnx 。

在 dnx 编译过程中 dnu restore 时,多次出现“Cannot handle address family”的问题,每次都能通过 service nscd restart 解决。

时间: 2024-10-28 02:27:21

解决dnu restore时的“Cannot handle address family”问题的相关文章

[DNX]解决dnu restore时找不到Newtonsoft.Json的问题

在Mac上用最新版的dnx 1.0.0-beta5-11855进行dnu restore,出现下面的错误: System.IO.FileNotFoundException: Could not load file or assembly 'Newtonsoft.Json' or one of its dependenciesFile name: 'Newtonsoft.Json' 在 ~/.dnx/runtimes/dnx-mono.1.0.0-beta5-11855/bin 文件夹中找到了dn

Genymotion虚拟机启动时get no IP address的解决方法汇总

"Genymotion虚拟机启动时get no IP address"这个问题一直困扰了我很多天,我在网上也试了不少方法,今天终于成功打开了,太兴奋了. 鉴于网上各种方法比较分散,今天就来个"大集合". 方法一:1.启动已经新增好的设备时,提示:the virtual device got no ip address,于是在网上搜索该问题,便得到提示,先启动virtual box中的该模拟设备,于是便启动,出现了另外一个问题: 2.提示:This kernel re

[Apache]apache2不能启动的解决办法(提示could not bind to address 0.0.0.0:80)

昨晚重装了电脑,原来装的是win2003,后来中毒后杀完毒还能用就继续用着,只是运行不了新安装的软件,后来实在没办法才重装了XP,但是装完出现一个问题,系统居然装在了L盘,原来的D盘到J盘依此类推往前进了一位即从C盘到I盘~~原来的xampp装在了D盘,现在变成了C盘,打开XAMPP-Control面板,启动不了apache,后来想起apache/conf/httpd.conf里面的设置有问题,于是把所有的路径有关的设置都由原来的D:改为C:,发现还是不行,于是运行apache_start.ba

解决WCF调用时出现错误:“创建MTOM消息读取器时出错”

如题,查询一个数据集, 存储过程返回如:select * from B 中间层定义  public DataSet GetTable(string 查询条件); 客户端定义  DataSet ds = wcfClient.GetTable("") 以前一直正常着,查询也很快速,这两天不知修改到哪了,所有的查询如果返回记录较大时(100条左右),客户端就会出现服务端返回的异常错误"创建MTOM消息读取器时出错" 客户端 app.config 配置如下 <syst

解决使用MathJax时弹出框显示MathJax no longer loads a default configuration file的问题~

解决使用MathJax时弹出框显示MathJax no longer loads a default configuration file的问题~ MathJax no longer loads a default configuration file 2down votefavorite I have been getting this error message on Maths and Physics network MathJax no longer loads a default co

Popup 解决StayOpen=true时,置顶的问题

/// <summary> /// 解决StayOpen=true时,永远置顶问题的Popup控件 /// </summary> public class EasiNotePopup : Popup { public static readonly DependencyProperty IsTopmostProperty = DependencyProperty.Register("IsTopmost", typeof(bool), typeof(EasiNot

仅当使用了列列表并且 IDENTITY_INSERT 为 ON 时,才能为表&#39;Address&#39;中的标识列指

在有自增长的SQL表格里面插入指定ID的数据的时候,会禁止你操作,提示如题目,解决办法: set identity_insert address on insert Address (ID,AddressID,AddressName,ParentID,LevelOrder,FactoryID) values(200,200,'低压配电房',0,NULL,105) set identity_insert address off 注意,列名是不能省略的,而且执行完成之后,最好off一下 仅当使用了列

使用XmlInclude解决WebService调用时无法识别子类的异常

一.定义抽象类及子类,WebMethod实际返回子类参数 //使用XmlInclude解决WebService调用时无法识别子类的异常 [System.Xml.Serialization.XmlInclude(typeof(WageEmploeyee)), System.Xml.Serialization.XmlInclude(typeof(Boss))] public abstract class EmployeeData { //Required by XmlSerializer publi

解决git Push时请求username和password,而不是ssh-key验证

转载自:https://blog.lowstz.org/posts/2011/11/23/why-git-push-require-username-password-github/ 之前开始用github时是在ubuntu下按着官方的新手指南搞定的.但最近一直在用fedora,所以也想在fedora下用github,配置的时候很顺利,就是在git push的每次都需要输入username和password,而我是配置好公钥登陆的.用ssh -T [email protected] 也是成功用公