Date: Fri, 9 Sep 2011 18:00:02 +0300 From: Kostik Belousov <kostikbel@gmail.com> To: Oliver Lehmann <lehmann@ans-netz.de> Cc: Chris Rees <crees@freebsd.org>, freebsd-current@freebsd.org, Mike Tancsa <mike@sentex.net> Subject: Re: cvsup broken on amd64? Message-ID: <20110909150002.GD17489@deviant.kiev.zoral.com.ua> In-Reply-To: <20110909145512.GC17489@deviant.kiev.zoral.com.ua> References: <20110909113046.Horde.MHKEMKQd9PdOadzGA0vRXXA@avocado.salatschuessel.net> <20110909095521.GX17489@deviant.kiev.zoral.com.ua> <20110909134737.Horde.JTghXaQd9PdOafzZBeiBX2U@avocado.salatschuessel.net> <20110909123007.GZ17489@deviant.kiev.zoral.com.ua> <20110909161942.Horde.fmddS6Qd9PdOaiB_P8oBX2c@avocado.salatschuessel.net> <20110909142757.GB17489@deviant.kiev.zoral.com.ua> <20110909163454.Horde.qr2VFKQd9PdOaiQOi-MhX2U@avocado.salatschuessel.net> <20110909145512.GC17489@deviant.kiev.zoral.com.ua>
next in thread | previous in thread | raw e-mail | index | archive | help
[-- Attachment #1 --]
On Fri, Sep 09, 2011 at 05:55:13PM +0300, Kostik Belousov wrote:
> On Fri, Sep 09, 2011 at 04:34:54PM +0200, Oliver Lehmann wrote:
> >
> > Kostik Belousov <kostikbel@gmail.com> wrote:
> >
> > >On Fri, Sep 09, 2011 at 04:19:42PM +0200, Oliver Lehmann wrote:
> >
> > >>(gdb) bt
> > >>#0 0x00000000004d24c6 in tzload ()
> > >
> > >Try to do "disas 0x4d24c6 0x4d24c6+30" from gdb prompt with the loaded
> > >core.
> >
> > (gdb) disas 0x4d24c6 0x4d24c6+30
> > Dump of assembler code from 0x4d24c6 to 0x4d24e4:
> > 0x00000000004d24c6 <tzload+86>: callq 0x4db370 <issetugid>
> > 0x00000000004d24cb <tzload+91>: test %eax,%eax
> > 0x00000000004d24cd <tzload+93>: jne 0x4d25e0 <tzload+368>
> > 0x00000000004d24d3 <tzload+99>: movzbl (%rbx),%ebp
> > 0x00000000004d24d6 <tzload+102>: cmp $0x3a,%bpl
> > 0x00000000004d24da <tzload+106>: jne 0x4d24e3 <tzload+115>
> > 0x00000000004d24dc <tzload+108>: add $0x1,%rbx
> > 0x00000000004d24e0 <tzload+112>: movzbl (%rbx),%ebp
> > 0x00000000004d24e3 <tzload+115>: cmp $0x2f,%bpl
> > End of assembler dump.
>
> Ok, please do the following:
> run cvsup under the gdb. When SIGSEGV is raised, from the gdb prompt, do:
> 1. info registers $rsp
> 2. info program
> This should print you the pid of the process, then do
> 3. shell procstat -v <pid>
>
> I suspect that modula 3 system uses the kind of green threads, and
> the default thread stack size is simply too small for amd64. This is
> consistent with SIGILL when running standalone, but SIGSEGV under
> debugger.
Also, you might try to test my guesswork, by adding the following
patch to lang/ezm3 and rebuilding it, then rebuilding cvsup port:
--- libs/m3core/src/thread/POSIX/ThreadPosix.m3.orig 2011-09-09 17:58:12.867431639 +0300
+++ libs/m3core/src/thread/POSIX/ThreadPosix.m3 2011-09-09 17:58:30.380428486 +0300
@@ -180,7 +180,7 @@
pausedThreads : T;
selected_interval:= UTime{0, 100 * 1000};
- defaultStackSize := 3000;
+ defaultStackSize := 10000;
stack_grows_down: BOOLEAN;
[-- Attachment #2 --]
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.11 (FreeBSD)
iEYEARECAAYFAk5qKfEACgkQC3+MBN1Mb4i0jACg4bmm4GUnUSW/PhCK4wFQnq6S
En4AoMKoO7fjFTqbxPewt0UdHV1JeJdf
=iHPZ
-----END PGP SIGNATURE-----
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20110909150002.GD17489>
