Beta D 2.068.0-b2
Kelet via Digitalmars-d-announce
digitalmars-d-announce at puremagic.com
Fri Jul 31 10:56:21 PDT 2015
On Friday, 31 July 2015 at 15:58:24 UTC, Gerald Jansen wrote:
> I'm not sure if this is the right place to report issues. I
> downloaded dmd.2.068.0-b2.linux.zip, unzipped it and added the
> bin64 directory to my path. The standard hello.d compiles fine
> but segfaults immediately. Details follow. Also rdmd segfaults
> with the same message. (The same process with the 2.067.1 zip
> works fine on the same box.)
>
> Details:
> gjansen at gamma:~$ uname -a
> Linux gamma 2.6.32-279.14.1.el6.x86_64 #1 SMP Mon Oct 15
> 13:44:51 EDT 2012 x86_64 x86_64 x86_64 GNU/Linux
> gjansen at gamma:~$ dmd --version
> DMD64 D Compiler v2.068.0-b2
> Copyright (c) 1999-2015 by Digital Mars written by Walter Bright
> gjansen at gamma:~$ dmd hello.d
> gjansen at gamma:~$ ./hello
> Segmentation fault (core dumped)
> gjansen at gamma:~$ gdb hello
> <snip>
> (gdb) run
> Starting program: /ricerca/gjansen/hello
> [Thread debugging using libthread_db enabled]
>
> Program received signal SIGSEGV, Segmentation fault.
> 0x00000000004418e1 in _d_initMonoTime ()
> Missing separate debuginfos, use: debuginfo-install
> glibc-2.12-1.80.el6_3.6.x86_64
Hi Gerald,
MonoTime is the replacement for TickDuration and it's initialized
from the runtime initialization function (rt_init). This is
because the GC and others may need time functionality.
Unfortunately, it looks like MonoTime does not currently support
your kernel version. It needs at least Linux 2.6.39. The reason
being is that it has the CLOCK_BOOTTIME clock which was
implemented in Linux 2.6.39. Without this clock, the minimum
version would be Linux 2.6.32.
If I had to hazard a guess, I'd say the offending segfault is
coming from calling clock_getres(clockArg, &ts) (where clockArg
is essentially CLOCK_BOOTTIME) in _d_initMonoTime(). It seems to
call this for all supported Clocks for your platform.
Hopefully some code can be added to only allow CLOCK_BOOTTIME on
kernels that support it. 2.6.32 is still supported as a longterm
kernel release.
Regards,
Kelet
More information about the Digitalmars-d-announce
mailing list