Frama-C Bug Tracking System

View Issue Details Jump to Notes ] Related Changesets ] Issue History ] Print ]
IDProjectCategoryView StatusDate SubmittedLast Update
0001441Frama-CKernelpublic2013-06-04 14:162014-03-13 15:57
Assigned Tosignoles 
PrioritynormalSeverityminorReproducibilityhave not tried
PlatformOSOS Version
Product VersionFrama-C Fluorine-20130501 
Target VersionFixed in VersionFrama-C Neon-20140301 
Summary0001441: frama-c.toplevel not working anymore
DescriptionI already reported this in the mailing list, and I understand that you don't have time to fix this, but I open an issue anyway to store some information. I noticed two different problems : (1) $ make top report conflicts (warning 31) about ocaml and frama-c modules Subst and Config. 1a/ Subst seems not used anymore : could be removed ? 1b/ maybe Config could be renamed ? (2) $ bin/ -h shows frama-c help. So it seems that this is not an ocaml toplevel. At the end of, replacing : < Cmdline.catch_toplevel_run ... by > ! (fun () -> ()) and compiling again gives back an ocaml toplevel (but still not fully working because of the module problem (1)).
TagsNo tags attached.
Attached Files

- Relationships

-  Notes
signoles (manager)
2013-06-04 16:11

About (1): Subst is still used in a CEA's internal plug-in. So it is not removable right now. Renaming is a solution (both for Subst and Config). But renaming Frama-C modules each time OCaml introduces new ones is not doable on the long-term, in particular if we want to tend towards a stable API. We have to find a more stable solution (packing?). About (2): - is actually automatically generated by Makefile. So it is not so easy to modify a subpart. - One need to clarify which semantics one exactly wants to have for a Frama-C toplevel... As far as I know, you are the only developer who ever used it and even who would like to get a Frama-C toplevel. So there is arguably at least not a strong need from the community nor from any customer to get one ;-).
Anne (reporter)
2013-06-04 16:17

Maybe they don't know that they can have one :-p But of course, I understand your remarks. As I said, I only opened this ticket to remember what I observed. But you can close it if you wish...
signoles (manager)
2013-06-04 17:41

I agree with you: it is worth remembering what has to be done in this direction. So I let this task opened.
signoles (manager)
2014-02-05 10:49

- Subst is no more part of the open source distribution. - There's still the warning about Config, but it seems that the Frama-C one is used: could be considered ok. - the contents of is now simply: let () = Topdirs.dir_directory Config.libdir So it behaves like a standard OCaml toplevel, but I don't know if it behaves as you expect (still I don't know what it is supposed to do ;-)).
Anne (reporter)
2014-02-05 11:12

Million thanks Julien ! I'll try it as soon as I'll have the last Frama-C version (soon I hope!). To answer about what it is supposed to do: I wrote a small library with some functions to get information about the current project like: - list of called undefined function, - list of statements with indirect calls, - filter reachable statements, - filter uncalled function, - etc. These function are basically wrapping over existing Frama-C functions, but with easier access. I add functions when I need new information. Then, I can load a project, and interactively ask questions to explore it, which is more convenient that to write a script or a plug-in.
signoles (manager)
2014-02-05 11:23

After a quick check, it works. But, since is not loaded in the toplevel (otherwise one doesn't get a true OCaml toplevel), few differences may happen with the pretty printer and the exception handler. If it is ok, I'll close this task.
Anne (reporter)
2014-02-05 11:25

I'll tell you as soon as I know, but I guess I first need a fresh version of frama-c to be able to test it...
Anne (reporter)
2014-02-27 15:16

It seems to work... for simple things ! Some initializations are probably still missing, because I get error messages, for instance: %%% !Db.Value.compute ();; [kernel] failure: [Emitter] no hook table for parameter -plevel Exception: Log.AbortFatal "kernel". But anyway: %%% Dynamic.Parameter.Int.get "-plevel" ();; = 200 But most "browsing" functions are working, and that is a lot for me since I don't really need to run Value in a toplevel, do I ? Thank you again.
signoles (manager)
2014-02-27 16:45

Fix committed to feature/neon-bug-1441 branch.
signoles (manager)
2014-02-27 17:07

Fix committed to feature/neon-bug-1441 branch.
signoles (manager)
2014-02-27 17:18

Fix committed to stable/neon branch.
Anne (reporter)
2014-02-28 07:57

Thank you again ! I'll test that when I'll get the new version.

- Issue History
Date Modified Username Field Change
2013-06-04 14:16 Anne New Issue
2013-06-04 15:55 signoles Status new => assigned
2013-06-04 15:55 signoles Assigned To => signoles
2013-06-04 15:55 signoles Status assigned => acknowledged
2013-06-04 16:11 signoles Note Added: 0003936
2013-06-04 16:17 Anne Note Added: 0003937
2013-06-04 17:41 signoles Note Added: 0003938
2014-02-05 10:49 signoles Note Added: 0004486
2014-02-05 10:49 signoles Status acknowledged => feedback
2014-02-05 11:12 Anne Note Added: 0004487
2014-02-05 11:12 Anne Status feedback => assigned
2014-02-05 11:23 signoles Note Added: 0004488
2014-02-05 11:25 Anne Note Added: 0004489
2014-02-27 15:16 Anne Note Added: 0004872
2014-02-27 16:45 signoles Note Added: 0004874
2014-02-27 16:45 signoles Resolution open => fixed
2014-02-27 17:07 signoles Note Added: 0004875
2014-02-27 17:18 signoles Note Added: 0004876
2014-02-28 07:57 Anne Note Added: 0004877
2014-02-28 09:19 signoles Status assigned => resolved
2014-03-13 15:56 signoles Fixed in Version => Frama-C Neon-20140301
2014-03-13 15:57 signoles Status resolved => closed

Copyright © 2000 - 2020 MantisBT Team
Powered by Mantis Bugtracker