Entering f
Entering g
Calling C code
Hello from print_and_call_ocaml_h
Entering h
Entering i
Throwing ExnB...
Caught an ExnB
Raised by primitive operation at Exn_in_callback.g in file "exn_in_callback.ml", line 43, characters 2-27
Called from Exn_in_callback.f in file "exn_in_callback.ml", line 49, characters 7-11
Leaving f
==================
WARNING: ThreadSanitizer: data race (pid=<implemspecific>)
  Write of size 8 at <implemspecific> by thread T1 (mutexes: write M<implemspecific>):
    #0 camlExn_in_callback.writer_<implemspecific> <implemspecific> (<implemspecific>)
    #1 camlStdlib__Domain.body_<implemspecific> <implemspecific> (<implemspecific>)

  Previous read of size 8 at <implemspecific> by main thread (mutexes: write M<implemspecific>):
    #0 camlExn_in_callback.race_<implemspecific> <implemspecific> (<implemspecific>)
    #1 camlExn_in_callback.f_<implemspecific> <implemspecific> (<implemspecific>)
    #2 camlExn_in_callback.entry <implemspecific> (<implemspecific>)
    #3 caml_program <implemspecific> (<implemspecific>)

  As if synchronized via sleep:
    #0 usleep <implemspecific> (<implemspecific>)
    #1 wg_wait <implemspecific> (<implemspecific>)
    #2 camlExn_in_callback.writer_<implemspecific> <implemspecific> (<implemspecific>)
    #3 camlStdlib__Domain.body_<implemspecific> <implemspecific> (<implemspecific>)

  Mutex M<implemspecific> (<implemspecific>) created at:
    #0 pthread_mutex_init <implemspecific> (<implemspecific>)
    #1 caml_plat_mutex_init <implemspecific> (<implemspecific>)
    #2 caml_init_domains <implemspecific> (<implemspecific>)
    #3 caml_init_gc <implemspecific> (<implemspecific>)

  Mutex M<implemspecific> (<implemspecific>) created at:
    #0 pthread_mutex_init <implemspecific> (<implemspecific>)
    #1 caml_plat_mutex_init <implemspecific> (<implemspecific>)
    #2 caml_init_domains <implemspecific> (<implemspecific>)
    #3 caml_init_gc <implemspecific> (<implemspecific>)

  Thread T1 (tid=<implemspecific>, running) created by main thread at:
    #0 pthread_create <implemspecific> (<implemspecific>)
    #1 caml_domain_spawn <implemspecific> (<implemspecific>)
    #2 caml_c_call <implemspecific> (<implemspecific>)
    #3 camlStdlib__Domain.spawn_<implemspecific> <implemspecific> (<implemspecific>)
    #4 camlExn_in_callback.entry <implemspecific> (<implemspecific>)
    #5 caml_program <implemspecific> (<implemspecific>)

SUMMARY: ThreadSanitizer: data race (<systemspecific>:<implemspecific>) in camlExn_in_callback.writer_<implemspecific>
==================
ThreadSanitizer: reported 1 warnings
