Hi, I am working on a program that makes use of an older version of Prism to check properties against states. I was wondering if Prism can be used concurrently in two or more threads with a different Prism instance being made in each thread? I have different folders for each thread to store the relevant files but I am occasionally having a sigsegv originating from inside prism when prism.modelCheck(PropertiesFile, Prop) is called by two threads at the same time. Otherwise it works fine for a single thread.
The Specific version I am using is based on https://github.com/kleinj/prism-svn/tree/proposed-global-sync as those changes were needed in our project. Is there any hard coded files in the prism library or other shared elements that would cause an issue?
Thanks,
Peter Aloisi
Dave Parker
未读,
2022年3月31日 16:49:572022/3/31
回复作者
登录即可回复作者
转发
登录即可转发
删除
您无权在此群组中删除帖子
复制链接
举报消息
请登录以举报消息
显示原始帖子
要么此群组的电子邮件地址为匿名状态,要么您得查看成员电子邮件地址权限才能查看原始帖子
收件人 prismmod...@googlegroups.com、Peter Aloisi
Hi Peter,
PRISM was not built to be executed concurrently in this way I'm afraid,
so I'm not very surprised it crashes.
The main things that are static across Prism objects are the parser and
the native shared libraries (CUDD etc.). The segfault errror suggests it
could be a problem with the latter. So you _might_ have more luck
switching to the (pure Java) explicit engine (enabled with
prism.setEngine(Prism.EXPLICIT) from Java), but I wouldn't bank on it.