Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Runtime Error due to missing #include file #6

Open
henryotunuya opened this issue Sep 19, 2024 · 0 comments
Open

Runtime Error due to missing #include file #6

henryotunuya opened this issue Sep 19, 2024 · 0 comments

Comments

@henryotunuya
Copy link

henryotunuya commented Sep 19, 2024

@hweichelt I recreated the issue with this simple encoding:

#include "missing_file.lp".

{a;b;c} 1.

:- not a.
:- not b.

Here is the error trace:

clingexplaid version 1.0.14
Reading from base.lp ...
<clingo.control.Control object at 0x707643932650>
╭────────────────────────────────────────────────── Traceback (most recent call last) ──────────────────────────────────────────────────╮
│ /home/henry/miniconda3/envs/potassco/lib/python3.10/site-packages/clingexplaid/cli/textual_gui.py:460 in compose                      │
│                                                                                                                                       │
│   457 │   │   """                                                                                                                     │
│   458 │   │   yield Vertical(                                                                                                         │
│   459 │   │   │   ControlPanel(classes="box"),                                                                                        │
│ ❱ 460 │   │   │   Sidebar(files=self.files, constants=self.constants, classes="box tabs"),                                            │
│   461 │   │   │   id="top-cell",                                                                                                      │
│   462 │   │   )                                                                                                                       │
│   463 │   │   input_answer_set = TextArea()                                                                                           │
│                                                                                                                                       │
│ ╭─────────────────────────────────────── locals ────────────────────────────────────────╮                                             │
│ │ self = ClingexplaidTextualApp(title='ClingexplaidTextualApp', classes={'-dark-mode'}) │                                             │
│ ╰───────────────────────────────────────────────────────────────────────────────────────╯                                             │
│                                                                                                                                       │
│ /home/henry/miniconda3/envs/potassco/lib/python3.10/site-packages/clingexplaid/cli/textual_gui.py:311 in __init__                     │
│                                                                                                                                       │
│   308 │   │   super().__init__(classes=classes)                                                                                       │
│   309 │   │   self.files = files                                                                                                      │
│   310 │   │   self.constants = {} if constants is None else constants                                                                 │
│ ❱ 311 │   │   self.signatures = self.get_all_program_signatures()                                                                     │
│   312 │                                                                                                                               │
│   313 │   def get_all_program_signatures(self) -> Set[Tuple[str, int]]:                                                               │
│   314 │   │   """                                                                                                                     │
│                                                                                                                                       │
│ ╭───────────────── locals ──────────────────╮                                                                                         │
│ │   classes = 'box tabs'                    │                                                                                         │
│ │ constants = {}                            │                                                                                         │
│ │     files = ['base.lp', 'baseFacts62.lp'] │                                                                                         │
│ │      self = Sidebar()                     │                                                                                         │
│ ╰───────────────────────────────────────────╯                                                                                         │
│                                                                                                                                       │
│ /home/henry/miniconda3/envs/potassco/lib/python3.10/site-packages/clingexplaid/cli/textual_gui.py:321 in get_all_program_signatures   │
│                                                                                                                                       │
│   318 │   │   # programs!                                                                                                             │
│   319 │   │   ctl = clingo.Control()                                                                                                  │
│   320 │   │   for file in self.files:                                                                                                 │
│ ❱ 321 │   │   │   ctl.load(file)                                                                                                      │
│   322 │   │   ctl.ground([("base", [])])                                                                                              │
│   323 │   │   return {(name, arity) for name, arity, _ in ctl.symbolic_atoms.signatures}                                              │
│   324                                                                                                                                 │
│                                                                                                                                       │
│ ╭───────────────────────── locals ─────────────────────────╮                                                                          │
│ │  ctl = <clingo.control.Control object at 0x7076437e52d0> │                                                                          │
│ │ file = 'base.lp'                                         │                                                                          │
│ │ self = Sidebar()                                         │                                                                          │
│ ╰──────────────────────────────────────────────────────────╯                                                                          │
│                                                                                                                                       │
│ /home/henry/miniconda3/envs/potassco/lib/python3.10/site-packages/clingo/control.py:503 in load                                       │
│                                                                                                                                       │
│    500 │   │   path                                                                                                                   │
│    501 │   │   │   The path of the file to load.                                                                                      │
│    502 │   │   """                                                                                                                    │
│ ❱  503 │   │   _handle_error(_lib.clingo_control_load(self._rep, path.encode()))                                                      │
│    504 │                                                                                                                              │
│    505 │   def register_observer(self, observer: Observer, replace: bool = False) -> None:                                            │
│    506 │   │   """                                                                                                                    │
│                                                                                                                                       │
│ ╭───────────────────────── locals ─────────────────────────╮                                                                          │
│ │ path = 'base.lp'                                         │                                                                          │
│ │ self = <clingo.control.Control object at 0x7076437e52d0> │                                                                          │
│ ╰──────────────────────────────────────────────────────────╯                                                                          │
│                                                                                                                                       │
│ /home/henry/miniconda3/envs/potassco/lib/python3.10/site-packages/clingo/_internal.py:75 in _handle_error                             │
│                                                                                                                                       │
│    72 │   │   msg = _ffi.string(_lib.clingo_error_message()).decode()                          ╭────────── locals ──────────╮         │
│    73 │   │   if code == _lib.clingo_error_bad_alloc:                                          │    code = 1                │         │
│    74 │   │   │   raise MemoryError(msg)                                                       │ handler = None             │         │
│ ❱  75 │   │   raise RuntimeError(msg)                                                          │     msg = 'parsing failed' │         │
│    76                                                                                          │     ret = False            │         │
│    77                                                                                          ╰────────────────────────────╯         │
│    78 def _cb_error_handler(param: str):                                                                                              │
╰───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯
RuntimeError: parsing failed
UNKNOWN

An expected response could be a message on the UI about the missing #include file.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant