Date: Sat, 19 Apr 1997 01:40:32 +0200 (MET DST) From: Tor Egge <Tor.Egge@idi.ntnu.no> To: FreeBSD-gnats-submit@freebsd.org Subject: kern/3327: using gdb may cause hanging processes. Message-ID: <199704182340.BAA00843@ikke.idt.unit.no> Resent-Message-ID: <199704182350.QAA14402@freefall.freebsd.org>
next in thread | raw e-mail | index | archive | help
>Number: 3327 >Category: kern >Synopsis: using gdb may cause hanging processes. >Confidential: no >Severity: serious >Priority: medium >Responsible: freebsd-bugs >State: open >Class: sw-bug >Submitter-Id: current-users >Arrival-Date: Fri Apr 18 16:50:03 PDT 1997 >Last-Modified: >Originator: Tor Egge >Organization: Norwegian University of Science and Technology, Trondheim, Norway >Release: FreeBSD 3.0-CURRENT i386 >Environment: FreeBSD ikke.idt.unit.no 3.0-CURRENT FreeBSD 3.0-CURRENT #2: Sat Apr 19 00:20:25 MET DST 1997 root@ikke.idt.unit.no:/usr/src/sys/compile/TEGGE i386 >Description: When debugging a process, gdb sometimes gives a message of the form Cannot insert breakpoint 2: Error accessing memory address 0x25240: Bad address. After this, the process is stuck. Looking at the kernel with gdb -k /kernel /dev/mem, showed the debugged process not being able to exit, due to a shared lock on a vm map blocking the removal of the vm map. "ps ax" may hang waiting for an exclusive lock on the vm map (due to a call to vm_fault) >How-To-Repeat: Use gdb, and set some breakpoints. >Fix: Unlock the vm map if vm_page_lookup fails. Index: procfs_mem.c =================================================================== RCS file: /home/ncvs/src/sys/miscfs/procfs/procfs_mem.c,v retrieving revision 1.24 diff -c -r1.24 procfs_mem.c *** procfs_mem.c 1997/04/06 02:29:31 1.24 --- procfs_mem.c 1997/04/18 22:19:31 *************** *** 206,211 **** --- 206,213 ---- */ object = NULL; + vm_map_lookup_done(tmap, out_entry); + break; } >Audit-Trail: >Unformatted:
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199704182340.BAA00843>