Status of OCaml spacetime


#1

Is OCaml spacetime supposed to work? I have tried on MacOS and now Ubuntu, but I keep getting “internal errors”. Here is my system:

$ opam switch
...
4.05.0+spacetime  C 4.05.0+spacetime  Official 4.05.0 release with spacetime activated
4.05.0            I 4.05.0            Official 4.05.0 release
4.06.0            I 4.06.0            Official 4.06.0 release
system            I system            System compiler (4.02.3)
# 162 more patched or experimental compilers, use '--all' to show

$ uname -a
Linux atlas-16 3.13.0-32-generic #57-Ubuntu SMP Tue Jul 15 03:51:08 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux

Running OCAML_SPACETIME_INTERVAL=1000 <my-ocaml-program> works fine, but when I try to run prof-spacetime I keep getting errors such as the following:

$ prof_spacetime process spacetime-5827 
Processing series...prof-spacetime: internal error, uncaught exception:
                End_of_file

$ prof_spacetime view spacetime-7041
Processing series...prof-spacetime: internal error, uncaught exception:
                (Failure "input_value: bad object")

Any ideas what might be wrong? Is spacetime being maintained, or is it abandoned? Thanks!


#2

if spacetime works for 4.04 then it seems to be regression.


#3

The was a bug in OCaml 4.05 that broke the spacetime viewer. The profiling was still working but the viewer wasn’t. You can use a viewer built with 4.04 to view profiles built with 4.05.


#4

Thanks, I will give it a try.


#5

Unfortunately, I keep seeing errors even with 4.04.0+spacetime:

$ prof_spacetime process -e $(which probnetkat.dump) spacetime-43587 
Processing series...prof-spacetime: internal error, uncaught exception:
                (Failure "input_value: bad object")

#6

That indicates a corrupted profile. How is the program you are profiling exiting?


#7

Where to report issues with the spacetime switch? I get stack overflow on building tgls and camlp4 on 4.06.0+spacetime


#8

I think you should support them to the OCaml Mantis bugtracker, since Spacetime is part of the OCaml distribution, and that’s where OCaml bugs go.