cvsup broken on amd64?

Kostik Belousov kostikbel at gmail.com
Fri Sep 9 15:00:20 UTC 2011


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 at 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;
 
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 196 bytes
Desc: not available
Url : http://lists.freebsd.org/pipermail/freebsd-current/attachments/20110909/0c7bc84f/attachment.pgp


More information about the freebsd-current mailing list