"illegal hardware instruction (core dumped)" cvsup/amd64
Pierre Beyssac
pb at fasterix.frmug.org
Tue Dec 15 17:19:05 UTC 2009
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 at fasterix.frmug.org
More information about the freebsd-current
mailing list