Subject: Re: bin/30756
To: None <gnats-admin@netbsd.org, netbsd-bugs@netbsd.org>
From: Rui Paulo <rpaulo@NetBSD.org>
List: netbsd-bugs
Date: 08/17/2005 00:57:03
The following reply was made to PR bin/30756; it has been noted by GNATS.

From: Rui Paulo <rpaulo@NetBSD.org>
To: "Nathan J. Williams" <nathanw@wasabisystems.com>
Cc: M.Drochner@fz-juelich.de, gnats-bugs@NetBSD.org,
	gnats-admin@NetBSD.org, netbsd-bugs@NetBSD.org
Subject: Re: bin/30756
Date: Wed, 17 Aug 2005 01:55:10 +0100

 --+QahgC5+KEYLbs62
 Content-Type: text/plain; charset=us-ascii
 Content-Disposition: inline
 Content-Transfer-Encoding: quoted-printable
 
 On 2005.08.16 18:07:15 +0000, Nathan J. Williams wrote:
 | That happens to work but it's not right at all. nbsd_thread_resume()
 | is being called with a ptid argument of {<pid>, 1, 0}; that is, the
 | upper levels are trying to single-step an LWP rather than a thread (we
 | don't currently have a mechanism for that in the ptrace
 | interface). This causes thread_resume_suspend_cb() to try to suspend
 | the only thread in the program... which is a bad enough idea, but it
 | happens early enough that the idle queue isn't even set up, and so
 | there's no thread to replace the suspended thread in the register
 | set. This causes td_thr_suspend() to bail out with the error seen
 | above.
 |=20
 | However, this does point out a partial solution, which I've gone ahead
 | and committed:
 
 I've tested it and while it works for simple cases, it doesn't work for
 debugging large programs, like jvm.
 
 proton> ./gdb -q ~/java/jdk/bin/java_g                      [usr.bin/gdb53/=
 gdb]
 (gdb) run -jar ~/java/jdk/demo/jfc/Java2D/Java2Demo.jar
 Starting program: /home/rpaulo/java/jdk-1_5_0/control/build/bsd-i586/bin/ja=
 va_g -jar ~/java/jdk/demo/jfc/Java2D/Java2Demo.jar
 
 Program received signal SIGTRAP, Trace/breakpoint trap.
 [Switching to LWP 1]
 0xbdbf5530 in .rtld_start () from /usr/libexec/ld.elf_so
 (gdb)=20
 
 If you need more information, please tell me.
 I don't know if you are already aware of this since you pointed out that
 it is a "partial solution".
 
 		-- Rui Paulo
 
 --+QahgC5+KEYLbs62
 Content-Type: application/pgp-signature
 Content-Disposition: inline
 
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1.4.1 (NetBSD)
 
 iD8DBQFDAoruZPqyxs9FH4QRAoumAJ9oGuJHLtqSYuKWtFcuRHaWxsJa/gCfQ53p
 EJJNUeA/PvH+fh+0+ycMtHI=
 =iz5l
 -----END PGP SIGNATURE-----
 
 --+QahgC5+KEYLbs62--