www.digitalmars.com         C & C++   DMDScript  

digitalmars.D.learn - Debugging a druntime issue found by AutoTester

reply =?UTF-8?Q?Ali_=c3=87ehreli?= <acehreli yahoo.com> writes:
The automatic tests for a PR failed for a target that I could not test 
myself: 32-bit build on Darwin_64_32.

 
https://auto-tester.puremagic.com/show-run.ghtml?projectid=1&runid=2940199&dataid=20802787&isPull=true

Testing attach_detach
timelimit -t 10 ./generated/osx/debug/32/attach_detach
attach_detach(32762,0xb0103000) malloc: *** error for object 0x10000000: 
pointer being freed was not allocated
*** set a breakpoint in malloc_error_break to debug
make[2]: *** [generated/osx/debug/32/attach_detach.done] Error 134
make[1]: *** [test/thread/.run] Error 2
make: *** [unittest-debug] Error 2

How can I reproduce the issue perhaps on my Ubuntu-based 64-bit laptop? 
I'm hoping that the problem will be obvious if I can build a 32-bit 
target and "set a breakpoint in malloc_error_break to debug".

I tried to build a 32-bit dmd on my system but failed with dependency 
issues. Is the following right way?

$ MODEL=32 make -f posix.mak -j8 AUTO_BOOTSTRAP=1
[...]
/usr/bin/ld: skipping incompatible 
/usr/lib/gcc/x86_64-linux-gnu/5/libstdc++.so when searching for -lstdc++
/usr/bin/ld: skipping incompatible 
/usr/lib/gcc/x86_64-linux-gnu/5/libstdc++.a when searching for -lstdc++
/usr/bin/ld: cannot find -lstdc++
collect2: error: ld returned 1 exit status

Ali
Dec 11 2017
parent Daniel Kozak <kozzi11 gmail.com> writes:
I would go with some VM and install 32bit system on it.

Dne 12. 12. 2017 8:55 dop. napsal u=C5=BEivatel "Ali =C3=87ehreli via
Digitalmars-d-learn" <digitalmars-d-learn puremagic.com>:

 The automatic tests for a PR failed for a target that I could not test
 myself: 32-bit build on Darwin_64_32.


 https://auto-tester.puremagic.com/show-run.ghtml?projectid=3D1
 &runid=3D2940199&dataid=3D20802787&isPull=3Dtrue

 Testing attach_detach
 timelimit -t 10 ./generated/osx/debug/32/attach_detach
 attach_detach(32762,0xb0103000) malloc: *** error for object 0x10000000:
 pointer being freed was not allocated
 *** set a breakpoint in malloc_error_break to debug
 make[2]: *** [generated/osx/debug/32/attach_detach.done] Error 134
 make[1]: *** [test/thread/.run] Error 2
 make: *** [unittest-debug] Error 2

 How can I reproduce the issue perhaps on my Ubuntu-based 64-bit laptop?
 I'm hoping that the problem will be obvious if I can build a 32-bit targe=
t
 and "set a breakpoint in malloc_error_break to debug".

 I tried to build a 32-bit dmd on my system but failed with dependency
 issues. Is the following right way?

 $ MODEL=3D32 make -f posix.mak -j8 AUTO_BOOTSTRAP=3D1
 [...]
 /usr/bin/ld: skipping incompatible /usr/lib/gcc/x86_64-linux-gnu/5/libstd=
c++.so
 when searching for -lstdc++
 /usr/bin/ld: skipping incompatible /usr/lib/gcc/x86_64-linux-gnu/5/libstd=
c++.a
 when searching for -lstdc++
 /usr/bin/ld: cannot find -lstdc++
 collect2: error: ld returned 1 exit status

 Ali
Dec 12 2017