cryptomator/jfuse

Windows: Start testing classes with multithreading enabled fails

infeo opened this issue · 2 comments

infeo commented

Omitting the FUSE single thread option (-s), activates mulithreading.

But on Windows all adequate test classes fail to start with:

org.cryptomator.jfuse.api.FuseMountFailedException: Exception when starting fuse_loop. Message: unresolved symbol: fuse3_loop_mt
	at org.cryptomator.jfuse.api@0.6.0-SNAPSHOT/org.cryptomator.jfuse.api.Fuse.mount(Fuse.java:138)
	at org.cryptomator.jfuse.win@0.6.0-SNAPSHOT/org.cryptomator.jfuse.win.FuseImpl.mount(FuseImpl.java:37)
	at org.cryptomator.jfuse.examples@0.6.0-SNAPSHOT/org.cryptomator.jfuse.examples.WindowsMirrorFileSystem.main(WindowsMirrorFileSystem.java:34)

I believe this is related to the fact, that in the winfsp DLL, fuse3_loop_mt and fuse3_loop_mt_31 map to the same virtual address, as it can be see with the Dependencies app:
grafik

infeo commented

Info: Using fsp_fuse3_loop_mt_31 does the trick. I guess, because the symbol is defined after the normal loop function, it overwrites some internal definition.

@infeo can you ask on the panama-dev mailing list whether this is a problem with the linker?