[dmd-internals] Assertion failed: (len <= 6), function OmToHeader, file libmach.c, line 168., m

Walter Bright walter at digitalmars.com
Thu Jun 17 16:47:00 PDT 2010



Andrei Alexandrescu wrote:
> Being on the road with my Mac laptop I thought I'd work on Phobos for 
> a bit. Unfortunately I'm hitting a snag. Here's the build log:
>
> make --no-print-directory -f osx.mak OS=posix BUILD=release
> cc -c  -m32 -O3 etc/c/zlib/adler32.c 
> -ogenerated/posix/release/etc/c/zlib/adler32.o
> cc -c  -m32 -O3 etc/c/zlib/compress.c 
> -ogenerated/posix/release/etc/c/zlib/compress.o
> cc -c  -m32 -O3 etc/c/zlib/crc32.c 
> -ogenerated/posix/release/etc/c/zlib/crc32.o
> cc -c  -m32 -O3 etc/c/zlib/deflate.c 
> -ogenerated/posix/release/etc/c/zlib/deflate.o
> cc -c  -m32 -O3 etc/c/zlib/gzio.c 
> -ogenerated/posix/release/etc/c/zlib/gzio.o
> cc -c  -m32 -O3 etc/c/zlib/infback.c 
> -ogenerated/posix/release/etc/c/zlib/infback.o
> cc -c  -m32 -O3 etc/c/zlib/inffast.c 
> -ogenerated/posix/release/etc/c/zlib/inffast.o
> cc -c  -m32 -O3 etc/c/zlib/inflate.c 
> -ogenerated/posix/release/etc/c/zlib/inflate.o
> cc -c  -m32 -O3 etc/c/zlib/inftrees.c 
> -ogenerated/posix/release/etc/c/zlib/inftrees.o
> cc -c  -m32 -O3 etc/c/zlib/trees.c 
> -ogenerated/posix/release/etc/c/zlib/trees.o
> cc -c  -m32 -O3 etc/c/zlib/uncompr.c 
> -ogenerated/posix/release/etc/c/zlib/uncompr.o
> cc -c  -m32 -O3 etc/c/zlib/zutil.c 
> -ogenerated/posix/release/etc/c/zlib/zutil.o
> make -C ../druntime -f posix.mak
> dmd -lib -oflib/libdruntime.a -Xfdruntime.json -O -release -inline 
> -nofloat -w -d -Isrc -Iimport src/object_.d src/core/atomic.d 
> src/core/bitop.d src/core/cpuid.d src/core/exception.d 
> src/core/memory.d src/core/runtime.d src/core/thread.d 
> src/core/vararg.d src/core/stdc/config.d src/core/stdc/ctype.d 
> src/core/stdc/errno.d src/core/stdc/math.d src/core/stdc/signal.d 
> src/core/stdc/stdarg.d src/core/stdc/stdio.d src/core/stdc/stdlib.d 
> src/core/stdc/stdint.d src/core/stdc/stddef.d src/core/stdc/string.d 
> src/core/stdc/time.d src/core/stdc/wchar_.d 
> src/core/sys/posix/sys/select.d src/core/sys/posix/sys/socket.d 
> src/core/sys/posix/sys/stat.d src/core/sys/posix/sys/wait.d 
> src/core/sys/posix/netinet/in_.d src/core/sync/barrier.d 
> src/core/sync/condition.d src/core/sync/config.d 
> src/core/sync/exception.d src/core/sync/mutex.d 
> src/core/sync/rwmutex.d src/core/sync/semaphore.d src/gc/gc.d 
> src/gc/gcalloc.d src/gc/gcbits.d src/gc/gcstats.d src/gc/gcx.d 
> src/rt/aaA.d src/rt/aApply.d src/rt/aApplyR.d src/rt/adi.d 
> src/rt/alloca.d src/rt/arrayassign.d src/rt/arraybyte.d 
> src/rt/arraycast.d src/rt/arraycat.d src/rt/arraydouble.d 
> src/rt/arrayfloat.d src/rt/arrayint.d src/rt/arrayreal.d 
> src/rt/arrayshort.d src/rt/cast_.d src/rt/cmath2.d src/rt/cover.d 
> src/rt/deh2.d src/rt/dmain2.d src/rt/invariant.d src/rt/invariant_.d 
> src/rt/lifetime.d src/rt/llmath.d src/rt/memory.d src/rt/memset.d 
> src/rt/obj.d src/rt/qsort.d src/rt/switch_.d src/rt/trace.d 
> src/rt/util/console.d src/rt/util/ctype.d src/rt/util/hash.d 
> src/rt/util/string.d src/rt/util/utf.d src/rt/typeinfo/ti_AC.d 
> src/rt/typeinfo/ti_Acdouble.d src/rt/typeinfo/ti_Acfloat.d 
> src/rt/typeinfo/ti_Acreal.d src/rt/typeinfo/ti_Adouble.d 
> src/rt/typeinfo/ti_Afloat.d src/rt/typeinfo/ti_Ag.d 
> src/rt/typeinfo/ti_Aint.d src/rt/typeinfo/ti_Along.d 
> src/rt/typeinfo/ti_Areal.d src/rt/typeinfo/ti_Ashort.d 
> src/rt/typeinfo/ti_byte.d src/rt/typeinfo/ti_C.d 
> src/rt/typeinfo/ti_cdouble.d src/rt/typeinfo/ti_cfloat.d 
> src/rt/typeinfo/ti_char.d src/rt/typeinfo/ti_creal.d 
> src/rt/typeinfo/ti_dchar.d src/rt/typeinfo/ti_delegate.d 
> src/rt/typeinfo/ti_double.d src/rt/typeinfo/ti_float.d 
> src/rt/typeinfo/ti_idouble.d src/rt/typeinfo/ti_ifloat.d 
> src/rt/typeinfo/ti_int.d src/rt/typeinfo/ti_ireal.d 
> src/rt/typeinfo/ti_long.d src/rt/typeinfo/ti_ptr.d 
> src/rt/typeinfo/ti_real.d src/rt/typeinfo/ti_short.d 
> src/rt/typeinfo/ti_ubyte.d src/rt/typeinfo/ti_uint.d 
> src/rt/typeinfo/ti_ulong.d src/rt/typeinfo/ti_ushort.d 
> src/rt/typeinfo/ti_void.d src/rt/typeinfo/ti_wchar.d obj/errno_c.o 
> obj/threadasm.o obj/complex.o obj/critical.o obj/memory_osx.o 
> obj/monitor.o
> Assertion failed: (len <= 6), function OmToHeader, file libmach.c, 
> line 168.
> make[2]: *** [lib/libdruntime.a] Abort trap
> make[1]: *** [../druntime/lib/libdruntime.a] Error 2
> make: *** [release] Error 2
>
> I recall we've discussed this problem before, without having reached a 
> conclusion. What could be the matter?

Here's the asserting code:

    len = sprintf(h->user_id, "%u", om->user_id);
    assert(len <= 6);

I'd add a printf to see what your user_id is.

>
> I updated and built dmd from svn.
>

It works when I try it.


More information about the dmd-internals mailing list