个人的理解是电脑同时安装了两个不同版本的abaqus软件。我的电脑是安装了2019版本和2022版本,通过在电脑的“应用和功能”中卸载"Dassault……R2019X"这个程序就解决了这个问题。

FlexNet Licensing error: -97,121 "Network License Not Available - Error [-97.121.0]",第一次见到这行的时候正在提交一个Standard的job,CAE卡了三秒弹出来,然后整个界面就锁死了,只能任务管理器杀进程。这个错误码组合在ABAQUS里不常见,但在FlexNet家族里是通用错误,Autodesk的用户碰到的最多,ABAQUS走的也是FlexNet机制,所以表现是一样的。
-97这个vendor error code在FlexNet文档里对应的描述是vendor daemon communication failure,121是更具体的子错误码,两个拼一起表示守护进程层面出了问题。不是许可过期,不是token不够,不是找不到license文件,是lmgrd起来了但abaquslm那个vendor daemon没起来或者起来了又挂了。通常跟MAC地址变更、主机名不匹配、端口被占这几个原因有关,跟之前那篇5147的排查逻辑有重叠但侧重点不同,5147多数是token或者feature行的问题,-97,121基本锁定在服务端本身。
先看许可证文件里SERVER行写的主机名和MAC地址,运行ipconfig /all,找到当前激活网卡的Physical Address,跟.lic文件里SERVER那行的MAC逐位对一下,别偷懒只看前几位。主机名在cmd里用hostname查,注意大小写,.lic文件里如果写的是全大写,系统返回的是小写,FlexNet有时候不认。SERVER行的标准写法是SERVER 主机名 MAC地址 端口号,端口号显式写27000,后面VENDOR ABAQUSLM PORT=28000,lmgrd和vendor daemon用不同端口,两个端口都要在防火墙里放行,入站和出站都加,只加一个方向有时候间歇性报错。
ABAQUS 2022 HF6,Windows 10 21H2,.lic路径D:\SIMULIA\License\abaqus.lic,lmgrd端口27011,abaquslm端口28011,lmgrd日志C:\SIMULIA\License\lmgrd.log,abaquslm日志同目录,licensing utilities路径C:\SIMULIA\License\win_b64\code\bin\lmutil.exe,环境文件C:\SIMULIA\EstProducts\2022\win_b64\SMA\site\custom_v6.env,FLEXnet服务名FlexNet License Server。
有一次周三下午,公司IT在做网段调整,有线网卡禁用了一下又重新启用。当时我正在跑一个接触分析的后处理,没注意网卡的事。第二天早上来,ABAQUS一提交就弹-97,121。lmutil lmstat -a -c 27011@localhost显示lmgrd是UP的,license文件也读到了,但abaquslm那一行显示的是“vendor daemon is down”。翻了lmgrd.log,里面有一行“Wrong hostid on SERVER line for license file”,下面跟着Expected hostid: 001122334455,Got: 66778899aabb。网卡重新启用之后MAC地址从硬件的变为了Windows随机生成的,跟.lic文件里硬编码的MAC对不上了。去设备管理器里把网卡属性 → 高级 → Network Address设回原来的值,重启FlexNet服务,好了。同一天隔壁工位同事的UG NX也报错,不过他那个是端口冲突,ABAQUS和UG都默认27800,两个服务一起跑的时候谁先起谁占端口,后起的那个vendor daemon起不来,报的也是-97,121类似的东西。改UG的.lic端口为27900,重启UG的license服务,两个软件同时跑没问题了。
lmgrd.log里出现“Wrong hostid”就是MAC地址对不上,出现“Failed to open the TCP port”或“Address already in use”就是端口被占,出现“EXPIRED”就是许可过期,出现“inconsistent authentication code”也是MAC不匹配的一种表现。netstat -aon | findstr "27000 28000"看端口监听状态,有别的进程占了就得改端口。Windows服务列表里FlexNet License Server和Dassault Systemes License Server同时存在的话,确认ABAQUS的custom_v6.env里license_server_type写的是FLEXNET还是DSLS,写错了查半天也查不出东西。lmpath -status可以看当前的license路径设置,比翻注册表快。
排查顺序上,先跑lmutil lmstat -a确认lmgrd和abaquslm两个daemon都在,再对MAC和主机名,再看端口,最后看防火墙。重置网卡或者换过硬件之后,MAC地址变了要重新生成.lic文件,达索那边发过来的文件是绑MAC的,自己改不了。虚拟机上跑ABAQUS的话,网卡MAC设成静态的,别用动态分配,不然每次重启MAC都变。D:\SIMULIA\License\win_b64\code\bin\lmgrd.log
免责声明:本文系网络转载或改编,未找到原创作者,版权归原作者所有。如涉及版权,请联系删