问题描述:
在win10中无论是使用 erl -name xxx@xxxx
或者是werl -name xxx@xxxx
启动节点都是闪退,也没有生成对应的erl_crash.dump文件
排查过程
1.首先考虑是不是epmd
的默认端口被占用造成epmd
启动不成功,从而造成erlang节点无法正常启动
指令:netstat -ano | findstr 4369
发现端口没有被占用,epmd
是正常启动状态
2.查看win10系统日志
使用任意可以打开文本文件的软件打开,能看到以下错误信息
Version=1 EventType=BEX64 EventTime=132737731700833572 ReportType=2 Consent=1 UploadTime=132737731706223766 ReportStatus=268435456 ReportIdentifier=54f80fe5-4f32-4ee2-a510-3c38c1f5b605 IntegratorReportIdentifier=f01fbe9e-9640-432e-8c41-23ceea04084b Wow64Host=34404 NsAppName=werl.exe AppSessionGuid=00003c4c-0002-001b-d98d-26824394d701 TargetAppId=W:00008565c5066cf9d777035f1fedea6c95340000ffff!000011788f6b4b50b0e36788dc5c701e3f72cfeed969!werl.exe TargetAppVer=2017//03//14:21:11:22!26f27!werl.exe BootId=4294967295 TargetAsId=3101 UserImpactVector=808452096 IsFatal=1 EtwNonCollectReason=1 Response.BucketId=2d35c977c34e1ba0042a4aa27de12f7d Response.BucketTable=5 Response.LegacyBucketId=116411567036 Response.type=4 Sig[0].Name=应用程序名 Sig[0].Value=werl.exe ... 此处省略N行 ... FriendlyEventName=已停止工作 ConsentKey=BEX64 AppName=werl.exe AppPath=D:\Program Files\erlang\19.3\erl8.3\bin\werl.exe NsPartner=windows NsGroup=windows8 ApplicationIdentity=DB45060831FD11A67B9F53AECBF328D9 MetadataHash=401205799
留意到NsGroup=windows8
输出
尝试修改erlang执行文件的兼容模式
修改后再次使用werl -name xxx@xxxx
发现节点能正常启动,问题解决!!!