Uploaded image for project: 'JDK'
  1. JDK
  2. JDK-7114611

(fs) DirectoryStream fails with SIGBUS on some embedded platforms, dirent alignment

    XMLWordPrintable

Details

    • b27
    • generic
    • generic
    • Verified

    Backports

      Description

        Several JCK tests crash with SIGBUS in readdir64_r. The crash only happens when /proc/cpu/alignment is set not to ignore alignment errors (i.e. echo 5 > /proc/cpu/alignment). See Comments for more details.

        # A fatal error has been detected by the Java Runtime Environment:
        #
        # SIGBUS (0x7) at pc=0x400fd7cc, pid=3863, tid=1081996400
        #
        # JRE version: 7.0_02-b12
        # Java VM: Java HotSpot(TM) Client VM (22.0-b09 mixed mode, sharing linux-arm )
        # Problematic frame:
        # C [libc.so.6+0x907cc] readdir64_r+0xe0

        Stack: [0x40790000,0x407e0000], sp=0x407dd2d8, free space=308k
        Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
        C [libc.so.6+0x907cc] readdir64_r+0xe0

        Java frames: (J=compiled Java code, j=interpreted, Vv=VM code)
        j sun.nio.fs.UnixNativeDispatcher.readdir(J)[B+0
        j sun.nio.fs.UnixDirectoryStream$UnixDirectoryIterator.readNextEntry()Ljava/nio/file/Path;+52
        j sun.nio.fs.UnixDirectoryStream$UnixDirectoryIterator.hasNext()Z+16
        j javasoft.sqe.tests.api.java.nio.file.Files.CpMvDelTests$2.runTest()Ljavasoft/sqe/javatest/Status;+212
        j javasoft.sqe.tests.api.java.nio.Nio2TestCase$Single.runTestSafely()Ljavasoft/sqe/javatest/Status;+1
        j javasoft.sqe.tests.api.java.nio.Nio2TestCase$Single.runTestWithPerms(Z[Ljava/security/Permission;)Ljavasoft/sqe/javatest/Status;+196
        j javasoft.sqe.tests.api.java.nio.Nio2TestCase$Single.runTestWithAllPermsGranted()Ljavasoft/sqe/javatest/Status;+6
        j javasoft.sqe.tests.api.java.nio.file.Files.CpMvDelTests.copy_DirDefault()Ljavasoft/sqe/javatest/Status;+101
        v ~StubRoutines::call_stub
        j sun.reflect.NativeMethodAccessorImpl.invoke0(Ljava/lang/reflect/Method;Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;+0
        j sun.reflect.NativeMethodAccessorImpl.invoke(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;+87
        j sun.reflect.DelegatingMethodAccessorImpl.invoke(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;+6
        j java.lang.reflect.Method.invoke(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;+57
        j javasoft.sqe.javatest.lib.MultiTest.invokeTestCase(Ljava/lang/reflect/Method;)Ljavasoft/sqe/javatest/Status;+8
        j javasoft.sqe.javatest.lib.MultiTest.run([Ljava/lang/String;Ljava/io/PrintWriter;Ljava/io/PrintWriter;)Ljavasoft/sqe/javatest/Status;+152
        j javasoft.sqe.javatest.lib.MultiTest.run([Ljava/lang/String;Ljava/io/PrintStream;Ljava/io/PrintStream;)Ljavasoft/sqe/javatest/Status;+40
        j javasoft.sqe.tests.api.java.nio.file.Files.CpMvDelTests.main([Ljava/lang/String;)V+16
        v ~StubRoutines::call_stub

        Attachments

          Issue Links

            Activity

              People

                clucasius Carlos Lucasius (Inactive)
                nhaustov Nicolay Haustov (Inactive)
                Votes:
                0 Vote for this issue
                Watchers:
                1 Start watching this issue

                Dates

                  Created:
                  Updated:
                  Resolved:
                  Imported:
                  Indexed: