3 Replies Latest reply: Sep 4, 2013 1:59 PM by GregoryG. RSS

    DTrace and kernel crashdump (UEK3 beta1)

    GregoryG.

      Hello,

       

      To follow up with Lenz comment, I've tested DTrace on UEK3 the following script. It generates a Kernel crashdump:

       

      dtrace -n syscall::write:entry'{ self->file = 0; }' \

         -n syscall::write:return'{ trace(copyinstr(self->file)); }'

       

      I know the script is wrong, That's not the point! The point is the Kernel crashdump.


      Thank you for your understanding.

       

      Gregory

        • 1. Re: DTrace and kernel crashdump (UEK3 beta1)
          kvh

          Thank you very much for your bug report.  I have been able to reproduce this problem internally, and we are tracking resolution through the internal bug reporting process.

           

          Cheers,

          Kris

          • 2. Re: DTrace and kernel crashdump (UEK3 beta1)
            kvh

            In followup to the bug report, and after additional investigation I can report that while a solution has not been finalized yet, this problem has been identified as a fairly rare race condition.  It primarily manifests itself in a semi-reproducible fashion because the trigger (copyinstr(0) essentially) is hooked to the write system call, and therefore DTrace's reporting of an invalid address to copyinstr() triggers another instance of the same invalid memory access.  Eventually, this chain reaction trips the race condition, and a kernel Oops is reported.

             

            It is important to note that not a single instance of this problem has caused a system crash on our test systems.  Certainly, an Oops message is printed by the kernel, and the userspace process issuing the write() that caused the problem will be terminated.  But the integrity of the actual kernel is maintained by DTrace, even in this failure mode.

             

            Cheers,

            Kris

            • 3. Re: DTrace and kernel crashdump (UEK3 beta1)
              GregoryG.

              Hi Kris,

               

              Thank you for your feedback. It is very good to see your progress on DTrace for Linux.

               

              Gregory