To repeat:
$ hfst-fst2fst -b -F -i analyser-gt-desc.hfstol -o analyser-gt-desc.foma Segmentation fault: 11 $ hfst-fst2fst -b -F -i analyser-gt-desc.hfst -o analyser-gt-desc.foma Segmentation fault: 11
Removing the -b option does not help. Hfst version (svn revision 4374):
$ hfst-info No tests selected; printing known data HFST info version: 0.1 HFST packaging: hfst 3.8.2 HFST version: 3.8.2 HFST long version: 300080002 HFST configuration revision: $Revision: 4279 $ OpenFst supported SFST supported foma supported Unicode support: glib
MacOS 10.10.3.
I tried the same code on a MacOSX 10.6 system - no segmentation fault. MacOSX 10.6 uses an Apple version of GCC:
MacOSX 10.10 uses LLVM/Clang:
It might be that the segfault is caused by this compiler difference. And it might be because of something on my system. I'll ask a colleague with 10.10 to try to replicate the bug and report back.
My colleague tested both on MacOSX 10.10 and on Linux:
His finding rules out that the problem is restricted to my computer, and strengthens the case that the crash is related to differences in the compilers: GCC (ok) vs LLVM (segfault). Exactly how and why I have no idea.
Another update from my colleague:
He has now rebuilt hfst3 on Linux using Clang/LLVM as follows:
No errors, no crashes. That is, using Clang/LLVM on Linux, hfst builds fine, and conversion to foma format with backend-native wrapper is working exactly as it should.
This weakens the case that the bug is related to the compiler. What is left is a combo of the compiler and the OS, perhaps something with the linked C(++) library?
I spent some time with Måns in June trying to identify the cause of this bug. Using a similar setup as mine, he was able to reproduce it.
The summary of the findings are:
1. it is related to the changes done to the foma code to make it fit with hfst (ie hfst-specific changes in foma)
2. it is triggered only on macosx (recent versions)
To minimize the differences between the two code bases, Måns included some of the hfst changes in his code base. He then made a new release. This new release has later been incorporated into hfst.
BUT: The bug is still there:
This is using revision 4438 of hfst trunk.
Last edit: sjurum 2015-09-21
Any progress on this bug?