-
Notifications
You must be signed in to change notification settings - Fork 17
Open
Description
I mount two file systems (Filesystem3) inside a unit test.
When I unmount the first file system:
Runtime.getRuntime().exec(new String[] { "bash", "-c", "umount " + mountPointOfFirstFs) });
I get a segfault:
#
# A fatal error has been detected by the Java Runtime Environment:
#
# SIGSEGV (0xb) at pc=0x000000015e23acec, pid=18758, tid=35075
#
# JRE version: 7.0_15-b03
# Java VM: Java HotSpot(TM) 64-Bit Server VM (23.7-b01 mixed mode bsd-amd64 compressed oops)
# Problematic frame:
# C [libjavafs.jnilib+0xfcec] get_env+0x2c
....
....
This seems to be because of the code in native_impl.c after it returns from the fuse_main loop inside the function Java_fuse_FuseMount_mount. The function cleans up the threadgroup, fuseFS and associated classes from the java env.
If I edit native_impl.c so that I return immediately after the fuse_main function finishes I can avoid the segfault, and unmount both FileSystems. I assume, however, that this creates a memory leak.
(Note: I am assuming that was the suggested method for unmounting, judging by the other github issue #5)
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels