Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 15 Dec 2009 18:19:02 +0100
From:      Pierre Beyssac <pb@fasterix.frmug.org>
To:        Gary Jennejohn <gary.jennejohn@freenet.de>
Cc:        freebsd-current@freebsd.org
Subject:   Re: "illegal hardware instruction (core dumped)" cvsup/amd64
Message-ID:  <20091215171902.GA13936@fasterix.frmug.org>
In-Reply-To: <20091215174905.467da401@ernst.jennejohn.org>
References:  <20091211232356.309C21CC09@ptavv.es.net> <864ontolud.fsf@ds4.des.no> <4B262BF9.1010500@stillbilde.net> <86ljh5n1wk.fsf@ds4.des.no> <EA53E98C-25FC-466E-8C98-D9460C097393@sarenet.es> <86d42hmu1o.fsf@ds4.des.no> <f83770800912141932l639346a4w78bbf43c9f1c9032@mail.gmail.com> <20091215080637.GA8100@rink.nu> <20091215140234.GA94567@fasterix.frmug.org> <20091215174905.467da401@ernst.jennejohn.org>

next in thread | previous in thread | raw e-mail | index | archive | help
On Tue, Dec 15, 2009 at 05:49:05PM +0100, Gary Jennejohn wrote:
> > Recompiling cvsup + ezm3 didn't fix the problem; neither did trying
> > a libc from October.
> I reported this everal weeks ago but there was never a satisfactory
> resolution to the problem.
> 
> One poster (scf@) reported that using a 32-bit binary solves the problem.

Yes, I did that too, a 32bit cvsup binary I copied from another
-current machine works.

> In my experience running cvsup against a remote server (to keep a local
> CVS tree up to date) works just fine.
> Are you also running cvsupd and attaching to it?

No. I don't have a local server, cvsup is running against a remote
server.

More info:

When running from gdb, the error shows up as SIGSEGV on a callq to
an invalid address. Could this be a dynamic link error?

Here's a disassembly of the code; actually it seems to be somewhere
inside lib/libc/stdtime/localtime:timesub() (called by gmtime_r).

Program received signal SIGSEGV, Segmentation fault.
0x00000008009ffe2b in gmtime_r () from /lib/libc.so.7

0x00000008009ffe0b <gmtime_r+2171>:     mov    1364798(%rip),%r14        # 0x800b4d150 <__thr_jtable+90512>
0x00000008009ffe12 <gmtime_r+2178>:     mov    %edx,%r13d
0x00000008009ffe15 <gmtime_r+2181>:     mov    (%r14),%rax
0x00000008009ffe18 <gmtime_r+2184>:     mov    %rax,0xee68(%rsp)
0x00000008009ffe20 <gmtime_r+2192>:     xor    %eax,%eax
0x00000008009ffe22 <gmtime_r+2194>:     test   %rdi,%rdi
0x00000008009ffe25 <gmtime_r+2197>:     je     0x8009fff80 <gmtime_r+2544>
0x00000008009ffe2b <gmtime_r+2203>:     callq  0x80095b4cc <signgam+181968>
0x00000008009ffe30 <gmtime_r+2208>:     test   %eax,%eax
0x00000008009ffe32 <gmtime_r+2210>:     jne    0x8009fff52 <gmtime_r+2498>

(gdb) print signgam 
$1 = 0

> Otherwise I suggest using csup, which does not exhibit any bugs.

True, I just did that following a private suggestion and it works just fine :-)
-- 
Pierre Beyssac	      	    		pb@fasterix.frmug.org



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20091215171902.GA13936>