[ktap] Re: "BUG: unable to handle kernel paging request" after ktap script to trace SyS_write

  • From: Jovi Zhangwei <jovi.zhangwei@xxxxxxxxx>
  • To: ktap@xxxxxxxxxxxxx
  • Date: Sun, 20 Oct 2013 23:27:37 +0800

On Sun, Oct 20, 2013 at 10:22 PM, Azat Khuzhin <a3at.mail@xxxxxxxxx> wrote:
> On Sun, Oct 20, 2013 at 12:50 PM, Jovi Zhangwei <jovi.zhangwei@xxxxxxxxx> 
> wrote:
>> On Sat, Oct 19, 2013 at 5:06 PM, Azat Khuzhin <a3at.mail@xxxxxxxxx> wrote:
>>> Hi all,
>>>
>>> I used next script, and after a few seconds of working, I have all ssh
>>> sessions killed.
>>> #! /usr/bin/env ktap
>>> trace probe:SyS_write {
>>>         print(backtrace(0, 100))
>>> }
>>>
>>> However, I can login after this, and have next messages in dmesg:
>>>
>> Hi Azat,
>
> Hi Jovi,
>
>>
>> Thanks for your reporting, could you help to check if below two
>> scripts works correctly?
>>
>> #! /usr/bin/env ktap
>> trace probe:SyS_write {
>>         print_backtrace(0, 100)
>> }
>
> [  107.416689] BUG: unable to handle kernel paging request at ffffffff621ee2b5
> [  107.417774] IP: [<ffffffff621ee2b5>] 0xffffffff621ee2b4
> [  107.418569] PGD 160c067 PUD 0
> [  107.419409] Oops: 0010 [#3] PREEMPT SMP
> [  107.420038] Modules linked in: ktapvm(O) nfsd auth_rpcgss
> oid_registry nfs_acl nfs lockd fscache sunrpc loop fuse joydev
> hid_generic usbhid hid snd_pcm microcode snd_page_alloc snd_timer snd
> soundcore ohci_pci ohci_hcd ehci_hcd psmouse usbcore i2c_piix4
> processor ac ther
> mal_sys serio_raw pcspkr parport_pc usb_common evdev parport button
> i2c_core ext4 crc16 jbd2 mbcache sd_mod sg crc_t10dif sr_mod cdrom
> crct10dif_common ata_generic ahci libahci ata_piix libata e1000
> scsi_mod
> [  107.420038] CPU: 1 PID: 2654 Comm: less Tainted: G      D    O
> 3.12.0-rc5+ #40
> [  107.420038] Hardware name: innotek GmbH VirtualBox/VirtualBox, BIOS
> VirtualBox 12/01/2006
> [  107.420038] task: ffff88007a911790 ti: ffff88007a05c000 task.ti:
> ffff88007a05c000
> [  107.420038] RIP: 0010:[<ffffffff621ee2b5>]  [<ffffffff621ee2b5>]
> 0xffffffff621ee2b4
> [  107.420038] RSP: 0018:ffff88007a05df78  EFLAGS: 00010293
> [  107.420038] RAX: 0000000000000001 RBX: 00000000000003ff RCX: 
> 0000000000000001
> [  107.420038] RDX: 00000000000003ff RSI: 0000000000628940 RDI: 
> 0000000000000001
> [  107.420038] RBP: 000000000000005f R08: 0000000001e49c20 R09: 
> 0000000000000000
> [  107.420038] R10: 0000000000000001 R11: 0000000000000246 R12: 
> 0000000000000000
> [  107.420038] R13: 0000000000000043 R14: 0000000000000000 R15: 
> 0000000000000000
> [  107.420038] FS:  00007ff4a1bda700(0000) GS:ffff88007fd00000(0000)
> knlGS:0000000000000000
> [  107.420038] CS:  0010 DS: 0000 ES: 0000 CR0: 000000008005003b
> [  107.420038] CR2: ffffffff621ee2b5 CR3: 000000007b91a000 CR4: 
> 00000000000006e0
> [  107.420038] Stack:
> [  107.420038]  000000000000005f ffffffff813b2b22 0000000000000246
> 0000000000000001
> [  107.420038]  0000000000000000 0000000001e49c20 0000000000000001
> 0000000000000023
> [  107.420038]  00000000000003ff 0000000000628940 0000000000000001
> 0000000000000001
> [  107.420038] Call Trace:
> [  107.420038]  [<ffffffff813b2b22>] ? system_call_fastpath+0x16/0x1b
> [  107.420038] Code:  Bad RIP value.
> [  107.420038] RIP  [<ffffffff621ee2b5>] 0xffffffff621ee2b4
> [  107.420038]  RSP <ffff88007a05df78>
> [  107.420038] CR2: ffffffff621ee2b5
> [  107.420038] ---[ end trace fe1cc133ae0119a3 ]---
>
> And others.
>
>>
>>
>> #! /usr/bin/env ktap
>> trace probe:schedule {
>>         print(backtrace(0, 100))
>> }
>
> This one printed message about 10 tines
> and after this system hangs.
>
> In debugger attached to kernel:
> Program received signal SIGSEGV, Segmentation fault.
>
>
Thanks. It seems the kernel crash doesn't caused by backtrace(), but
ktapvm core or kernel side.

Would you please check below scripts again?

-------------------------------------------------
#!/usr/bin/env ktap

trace probe:SyS_write {
    print("testing")
}
--------------------------------------------------
#!/usr/bin/env ktap

trace probe:SyS_write {
}
--------------------------------------------------
#!/usr/bin/env ktap

trace probe:schedule {
}
-------------------------------------------------
#!/usr/bin/env ktap

trace syscalls:sys_write_enter {
}
-------------------------------------------------
./ktap test/arith.kp
-------------------------------------------------

And your hardware is x86-64 or ARM-64?

Other related posts: