[erlang-questions] valgrind and OTP 20 on osx

Benoit Chesneau bchesneau@REDACTED
Fri Sep 15 19:38:48 CEST 2017


I confirm. It works like a charm on Linux. Thanks to both :)

- benoit
> On 15 Sep 2017, at 13:37, Sergej Jurečko <sergej.jurecko@REDACTED> wrote:
> 
> Hi,
> 
> not sure if valgrind has improved on macOS in the last year or two but historically it has only barely worked on it. I never could get it to work with Erlang. Much less of a hassle to run it on linux. 
> 
> 
> Regards,
> Sergej
> 
>> On 15 Sep 2017, at 11:50, Benoit Chesneau <bchesneau@REDACTED> wrote:
>> 
>> Hi all I followed the installation steps on the INSTALL page to build with valgrind support:
>> http://erlang.org/doc/installation_guide/INSTALL.html
>> 
>> but when I’m running cerl, I get the following error. Any idea what could be the issue?
>> 
>> - benoit
>> 
>> 2017-09-15 11:44:52 ⌚  Benoits-iMac in ~/local/src/otp_src_20.0
>> ○ → ./bin/cerl -valgrind -pa ~/<redacted>/_build/default/lib/*/ebin
>> 
>>>> 
>> ==59047== 
>> ==59047== Syscall param msg->desc.port.name points to uninitialised byte(s)
>> ==59047==    at 0x1008EC34A: mach_msg_trap (in /usr/lib/system/libsystem_kernel.dylib)
>> ==59047==    by 0x1008EB796: mach_msg (in /usr/lib/system/libsystem_kernel.dylib)
>> ==59047==    by 0x1008E5485: task_set_special_port (in /usr/lib/system/libsystem_kernel.dylib)
>> ==59047==    by 0x100A8110E: _os_trace_create_debug_control_port (in /usr/lib/system/libsystem_trace.dylib)
>> ==59047==    by 0x100A81458: _libtrace_init (in /usr/lib/system/libsystem_trace.dylib)
>> ==59047==    by 0x1005A09DF: libSystem_initializer (in /usr/lib/libSystem.B.dylib)
>> ==59047==    by 0x1004F2A1A: ImageLoaderMachO::doModInitFunctions(ImageLoader::LinkContext const&) (in /usr/lib/dyld)
>> ==59047==    by 0x1004F2C1D: ImageLoaderMachO::doInitialization(ImageLoader::LinkContext const&) (in /usr/lib/dyld)
>> ==59047==    by 0x1004EE4A9: ImageLoader::recursiveInitialization(ImageLoader::LinkContext const&, unsigned int, char const*, ImageLoader::InitializerTimingList&, ImageLoader::UninitedUpwards&) (in /usr/lib/dyld)
>> ==59047==    by 0x1004EE440: ImageLoader::recursiveInitialization(ImageLoader::LinkContext const&, unsigned int, char const*, ImageLoader::InitializerTimingList&, ImageLoader::UninitedUpwards&) (in /usr/lib/dyld)
>> ==59047==    by 0x1004ED523: ImageLoader::processInitializers(ImageLoader::LinkContext const&, unsigned int, ImageLoader::InitializerTimingList&, ImageLoader::UninitedUpwards&) (in /usr/lib/dyld)
>> ==59047==    by 0x1004ED5B8: ImageLoader::runInitializers(ImageLoader::LinkContext const&, ImageLoader::InitializerTimingList&) (in /usr/lib/dyld)
>> ==59047==  Address 0x104d63abc is on thread 1's stack
>> ==59047==  in frame #2, created by task_set_special_port (???:)
>> ==59047== 
>> ==59047== Warning: set address range perms: large range [0x10c64b000, 0x14c64b000) (noaccess)
>> ==59047== Thread 2:
>> ==59047== Invalid read of size 4
>> ==59047==    at 0x100A49899: _pthread_body (in /usr/lib/system/libsystem_pthread.dylib)
>> ==59047==    by 0x100A49886: _pthread_start (in /usr/lib/system/libsystem_pthread.dylib)
>> ==59047==    by 0x100A4908C: thread_start (in /usr/lib/system/libsystem_pthread.dylib)
>> ==59047==  Address 0x18 is not stack'd, malloc'd or (recently) free'd
>> ==59047== 
>> ==59047== 
>> ==59047== Process terminating with default action of signal 11 (SIGSEGV)
>> ==59047==  Access not within mapped region at address 0x18
>> ==59047==    at 0x100A49899: _pthread_body (in /usr/lib/system/libsystem_pthread.dylib)
>> ==59047==    by 0x100A49886: _pthread_start (in /usr/lib/system/libsystem_pthread.dylib)
>> ==59047==    by 0x100A4908C: thread_start (in /usr/lib/system/libsystem_pthread.dylib)
>> ==59047==  If you believe this happened as a result of a stack
>> ==59047==  overflow in your program's main thread (unlikely but
>> ==59047==  possible), you can try to increase the size of the
>> ==59047==  main thread stack using the --main-stacksize= flag.
>> ==59047==  The main thread stack size used in this run was 8388608.
>> --59047:0:schedule VG_(sema_down): read returned -4
>> ==59047== 
>> ==59047== HEAP SUMMARY:
>> ==59047==     in use at exit: 1,708,783 bytes in 821 blocks
>> ==59047==   total heap usage: 1,747 allocs, 926 frees, 2,874,463 bytes allocated
>> ==59047== 
>> ==59047== LEAK SUMMARY:
>> ==59047==    definitely lost: 0 bytes in 0 blocks
>> ==59047==    indirectly lost: 0 bytes in 0 blocks
>> ==59047==      possibly lost: 410,126 bytes in 181 blocks
>> ==59047==    still reachable: 74,145 bytes in 325 blocks
>> ==59047==         suppressed: 1,224,512 bytes in 315 blocks
>> ==59047== Rerun with --leak-check=full to see details of leaked memory
>> ==59047== 
>> ==59047== For counts of detected and suppressed errors, rerun with: -v
>> ==59047== Use --track-origins=yes to see where uninitialised values come from
>> ==59047== ERROR SUMMARY: 2 errors from 2 contexts (suppressed: 25 from 4)
>> Segmentation fault: 11
>> _______________________________________________
>> erlang-questions mailing list
>> erlang-questions@REDACTED
>> http://erlang.org/mailman/listinfo/erlang-questions
> 




More information about the erlang-questions mailing list