From owner-freebsd-scsi@freebsd.org Sat May 27 08:36:01 2017 Return-Path: Delivered-To: freebsd-scsi@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 1C3A1D819D2 for ; Sat, 27 May 2017 08:36:01 +0000 (UTC) (envelope-from aijazbaig1@gmail.com) Received: from mail-vk0-x229.google.com (mail-vk0-x229.google.com [IPv6:2607:f8b0:400c:c05::229]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority G2" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id CC87B1671 for ; Sat, 27 May 2017 08:36:00 +0000 (UTC) (envelope-from aijazbaig1@gmail.com) Received: by mail-vk0-x229.google.com with SMTP id x71so14368129vkd.0 for ; Sat, 27 May 2017 01:36:00 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:from:date:message-id:subject:to; bh=9763WGlxS1Sc5znY64cCqqevtTL1SSm4IQY2cJAFpSw=; b=RJvjmmEkHkwTXI6bqQysX8wX8mpuXMUDo2b+ruGWiOnNzsUafifqwjkXDRQ6TIG6JM 5yB/gKLho8QGPZqYf6ifDnL/A99FiQiLG84GMLMngv1B5U0BU+rhtJ7etRd3nj9o+42+ iA7z16kjsrBguAXtwtZLc2qXLxF26oKJ2lFPKZvk3lgQZPMcDLQtw4+0MYpg7ZtXfV9b twhjtOaM35Y7lzkQP/cW1nLfnjFhOJs2PdWSiAWFFmYZr8PlcgSbgPEeAjMNP82c+fJV v6Z2kUeMoISAtZte4FOvoAfKEZ0LSutHeedkmwlS1lf1LONQn5ER/d5uL5xq8kmKpObW sPmw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:from:date:message-id:subject:to; bh=9763WGlxS1Sc5znY64cCqqevtTL1SSm4IQY2cJAFpSw=; b=ar3OPXtDSFyTHylNTwU3KzkG7RI+U13gcFMsBOKZQd+wz/NTLcoB2rpZEbisHlJ9hI GB/N4tn6cj9osk1b8JyBOS8bD9JqTKs86ZUeX3x8XEun8Qdk9qCbTqSfA8n/DGxaBYdK zx45cutriOsGQnSlDR9M9EXwmh1v2nx3L0H+WFueVqGau0IYn9869Hk6oiHePbl5IxWR n1K4sfcXOMPDUnRlTR7sDCP57Bg6S95SeM6rwk/lI8NFYYOPBkIKxH73cdOqsfNfhdkJ 7qO2ZMcM1/7VpomO8SfHVn1JYKv+tbkSgc08wEN6AvQEYKEk2kUV9H8FSbqcjl21Svg1 RWSA== X-Gm-Message-State: AODbwcCyFED8o5rqa8XXM/AvmpGQKW+DHzbZh37nmSi9908ccc39LkQ0 eyL58OKvUOArkOPJ39VgoYbLYOg0qGvk X-Received: by 10.31.15.12 with SMTP id 12mr2646626vkp.58.1495874159707; Sat, 27 May 2017 01:35:59 -0700 (PDT) MIME-Version: 1.0 Received: by 10.31.204.195 with HTTP; Sat, 27 May 2017 01:35:59 -0700 (PDT) From: Aijaz Baig Date: Sat, 27 May 2017 14:05:59 +0530 Message-ID: Subject: Cannot insert breakpoint in nullfs code To: freebsd-scsi@freebsd.org Content-Type: text/plain; charset="UTF-8" X-Content-Filtered-By: Mailman/MimeDel 2.1.23 X-BeenThere: freebsd-scsi@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: SCSI subsystem List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 27 May 2017 08:36:01 -0000 I am trying to get more information about the VFS layer of FreeBSD for the moment. My setup includes two VMs, one configured as the server (target) and the other as client (debugger). I used named pipes as a serial port to establish the connection. I am trying to debug the nullfs kernel module but I am having a hard time getting the KGDB to create breakpoints where I want due to the infamous 'cannot access memory at address' error. Below are my steps: On the target machine: kldstat gives Id Refs Address Size Name 1 10 0xffffffff80200000 17e10c8 kernel 2 1 0xffffffff819e2000 4cf0 vmxnet.ko 3 1 0xffffffff819e7000 16e0 echo.ko 4 1 0xffffffff81c11000 23dc vmmemctl.ko 5 1 0xffffffff81c14000 641b nullfs.ko nm /boot/kernel/nullfs.ko | grep mount 00000000000018f0 t null_getwritemount 0000000000000540 t nullfs_mount 0000000000000930 t nullfs_unmount U vfs_mountedfrom U vop_getwritemount_desc On the local machine (which connects to the target via a named pipe acting as a serial console: (kgdb) tr0 kdb_sysctl_enter (oidp=, arg1=, arg2=0xfffffe004e7cc7f0, req=) at /usr/src/sys/kern/subr_kdb.c:446 446 kdb_why = KDB_WHY_UNSET; Current language: auto; currently minimal (kgdb) getsyms During symbol reading, Incomplete CFI data; unspecified registers at 0xffffffff8099497a. Id Refs Address Size Name 1 10 0x80200000 17e10c8 kernel 2 1 0x819e2000 4cf0 vmxnet.ko 3 1 0x819e7000 16e0 echo.ko 4 1 0x81c11000 23dc vmmemctl.ko 5 1 0x81c14000 641b nullfs.ko Select the list above with the mouse, paste into the screen and then press ^D. Yes, this is annoying. 5 1 0x81c14000 641b nullfs.ko add symbol table from file "/usr/obj/usr/src/sys/AIJAZ-DE BUG/modules/usr/src/sys/modules/nullfs/nullfs.ko.debug" at .text_addr = 0x81c14000 .data_addr = 0x81c14000 .bss_addr = 0x81c14000 (kgdb) add-kld nullfs.ko add symbol table from file "/boot/kernel/nullfs.ko.symbols" at .text_addr = 0xffffffff81c14000 set_sysinit_set_addr = 0xffffffff81c15c90 set_sysuninit_set_addr = 0xffffffff81c15cb0 .rodata.str1.1_addr = 0xffffffff81c15cc8 set_modmetadata_set_addr = 0xffffffff81c15e48 set_sysctl_set_addr = 0xffffffff81c15e58 .data_addr = 0xffffffff81c15e60 .bss_addr = 0xffffffff81c16360 (y or n) y Reading symbols from /boot/kernel/nullfs.ko.symbols... location expression too complex...done. (kgdb) b nullfs_mount Cannot access memory at address 0x81c14540 As one can see from the output of 'nm' and 'kldstat' above, the addresses are indeed proper. I even tried setting a "hardware breakpoint" at the above address (kgdb) hbreak *0x81c14540 Hardware assisted breakpoint 1 at 0x81c14540: file /usr/src/sys/modules/nullfs/../../fs/nullfs/null_vfsops.c, line 74. (kgdb) c Continuing. Warning: Cannot insert breakpoint 1. Error accessing memory address 0x81c14540: Input/output error. -- Best Regards, Aijaz Baig