问题描述:
在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
发现节点能正常启动,问题解决!!!