|View Issue Details|
|ID||Project||Category||View Status||Date Submitted||Last Update|
|0001919||Frama-C||Graphical User Interface||public||2014-09-03 13:47||2015-03-17 22:18|
|Product Version||Frama-C Neon-20140301|
|Target Version||Frama-C Sodium||Fixed in Version||Frama-C Sodium|
|Summary||0001919: Segmentation fault when launching frama-c-gui with OCaml 4.02.0|
|Description||I'm using OPAM 1.1.1 with OCaml 4.02.0.|
I installed Frama-C using OPAM, along with its dependencies, and then tried running frama-c-gui. It segfaults. Using gdb I get the following backtrace:
Program received signal SIGSEGV, Segmentation fault.
0x0000000000beb6e6 in GValue_val ()
#0 0x0000000000beb6e6 in GValue_val ()
#1 0x0000000000bec4b4 in ml_g_signal_emit_by_name ()
#2 0x0000000000a91016 in camlGtkSignal__fun_1460 ()
#3 0x0000000000aaa16c in camlGtkData__set_bounds_1503 ()
#4 0x0000000000790d0e in camlWp__Gtk_form__spinner_1053 () at src/gui/gtk_form.ml:100
#5 0x00007fffedf7bda8 in camlWp__GuiPanel__wp_panel_2423 () at src/wp/GuiPanel.ml:259
#6 0x00000000007603c8 in camlSecurity_slicing__Design__fun_13880 () at src/gui/design.ml:810
#7 0x0000000000ba2fb1 in camlList__iter_1061 () at list.ml:73
#8 0x0000000000763592 in camlSecurity_slicing__Design__fun_13774 () at src/gui/design.ml:808
#9 0x0000000000764083 in camlSecurity_slicing__Design__fun_14157 () at src/gui/design.ml:1136
#10 0x0000000000bd940b in camlCamlinternalOO__iter_f_1269 () at camlinternalOO.ml:369
#11 0x0000000000bd947d in camlCamlinternalOO__run_initializers_opt_1277 () at camlinternalOO.ml:379
#12 0x000000000076167a in camlSecurity_slicing__Design__fun_14455 () at src/gui/design.ml:1264
#13 0x0000000000a3b8f9 in camlExtlib__try_finally_1226 () at src/lib/extlib.ml:277
#14 0x000000000079403e in camlSecurity_slicing__Gtk_helper__fun_5386 () at src/gui/gtk_helper.ml:735
#15 0x00000000007940a5 in camlSecurity_slicing__Gtk_helper__fun_5383 () at src/gui/gtk_helper.ml:727
#16 0x0000000000765ee4 in camlSecurity_slicing__Design__fun_14460 () at src/gui/design.ml:1283
#17 0x0000000000c22b76 in caml_start_program ()
#18 0x00000037040492a6 in g_main_context_dispatch () from /lib64/libglib-2.0.so.0
#19 0x0000003704049628 in g_main_context_iterate.isra.24 () from /lib64/libglib-2.0.so.0
#20 0x00000037040496dc in g_main_context_iteration () from /lib64/libglib-2.0.so.0
#21 0x0000000000be9eda in ml_g_main_iteration ()
#22 0x0000000000ab06a5 in camlGtkMain__default_main_1163 ()
#23 0x0000000000a28d71 in camlCmdline__catch_toplevel_run_1181 () at src/kernel/cmdline.ml:214
0000024 0x00000000006bdd85 in camlBoot__entry () at src/kernel/boot.ml:66
0000025 0x00000000006b3f49 in caml_program ()
0000026 0x0000000000c22b76 in caml_start_program ()
0000027 0x0000000000000000 in ?? ()
It could be related to lablgtk. All dependencies were downloaded using OPAM (including lablgtk 2.16.0) and installed without issues.
First I tried using directly the version from OPAM, but due to the segfault error I then tried downloading the sources and compiling them myself.
When running configure, everything is ok except for "OcamlGraph 1.8.5 > 1.8.4 found: should be compatible, but no warranty. Use it at your own risk!", but I used the patch available in https://bts.frama-c.com/view.php?id=1764, and then I could run make and make install without issues. But once again, when running frama-c-gui it segfaults.
To sum up, either using OPAM or downloading and compiling the sources myself, I get the same result (unsurprisingly).
However, when switching to OCaml 4.01.0 and running "opam install frama-c", the GUI works normally.
Has the Frama-C GUI been confirmed to work with OCaml 4.02.0 already? Should I try manually compiling its dependencies to try and identify the cause of the error?
|Tags||No tags attached.|
To the best of my knowledge, you're the first to test the GUI with OCaml 4.02. There are some already some problems with the toplevel version (see http://caml.inria.fr/mantis/view.php?id=6533), and we did not test things further.
I will have a look to this GUI crash, but in the meantime you should probably stick to OCaml 4.01. The pretty-printing problem with 4.02 is major, and may render the GUI unusable anyway.
Thanks, I incorrectly assumed that the availability of the package in OPAM with that version of the compiler indicated that it had already been tested.
I'll keep using the 4.01.0 version, then.
The crash looks like a bug in LablGtk with OCaml 4.02.
Frama-C should probably be removed from opam in 4.02 as it is completely unusable so far.
After investigation, the crash is caused by a bug in Lablgtk that is already fixed in development version. The GUI works if you use:
- a GIT checkout of Lablgtk
- OCaml 4.02 patched for bug http://caml.inria.fr/mantis/view.php?id=6533
|2014-09-03 13:47||dhekir||New Issue|
|2014-09-03 14:08||yakobowski||Note Added: 0005428|
|2014-09-03 14:10||dhekir||Note Added: 0005429|
|2014-09-04 08:47||monate||Note Added: 0005431|
|2014-09-10 10:27||yakobowski||Note Added: 0005447|
|2014-09-10 10:55||signoles||Assigned To||=> yakobowski|
|2014-09-10 10:55||signoles||Status||new => assigned|
|2015-01-08 23:22||yakobowski||Target Version||=> Frama-C Sodium|
|2015-02-13 13:46||yakobowski||Status||assigned => resolved|
|2015-02-13 13:46||yakobowski||Resolution||open => fixed|
|2015-03-17 22:17||signoles||Fixed in Version||=> Frama-C Sodium|
|2015-03-17 22:18||signoles||Status||resolved => closed|