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

Walter Bright walter at digitalmars.com
Thu Jun 17 17:18:39 PDT 2010


There are 4 places in libmach.c where user_id is set. Next, I'd put a 
printf on each of them. See where that number is coming from.

Andrei Alexandrescu wrote:
> Did so, got:
>
> 611078205
>
>
> Andrei
>
> Walter Bright wrote:
>>
>>
>> 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.
>> _______________________________________________
>> dmd-internals mailing list
>> dmd-internals at puremagic.com
>> http://lists.puremagic.com/mailman/listinfo/dmd-internals
> _______________________________________________
> dmd-internals mailing list
> dmd-internals at puremagic.com
> http://lists.puremagic.com/mailman/listinfo/dmd-internals
>
>


More information about the dmd-internals mailing list