Skip site navigation (1)Skip section navigation (2)
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>