Re: cvsup broken on amd64?

From: Kostik Belousov <kostikbel_at_gmail.com>
Date: Fri, 9 Sep 2011 18:00:02 +0300
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
_at__at_ -180,7 +180,7 _at__at_
   pausedThreads : T;
   selected_interval:= UTime{0, 100 * 1000};
 
-  defaultStackSize := 3000;
+  defaultStackSize := 10000;
 
   stack_grows_down: BOOLEAN;
 

Received on Fri Sep 09 2011 - 13:00:19 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:40:17 UTC