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>