Skip to content

Bug: missing UUID for core examples #1454

Description

@eimrek

Describe the bug

Missing UUID error when importing Core examples, e.g. CoO_FM_with_U.aiida

To Reproduce
Steps to reproduce the behavior:

  1. Started a clean instance on the demo server.
  2. "Download examples"
  3. Import the "CoO_FM_with_U.aiida"
  4. Go to "Calculation history" and click on the PK
  5. See error that says NotExistent: no Node found with UUID<642d53de-a2bc-47bd-a2d3-27c9a0fbb6f4>: No result was found

Version (if known)

  • App version: [e.g. v26.01.0]

Additional context

Full traceback:

Details
---------------------------------------------------------------------------
NotExistent                               Traceback (most recent call last)
/opt/conda/lib/python3.9/site-packages/aiida/orm/utils/loaders.py in load_entity(cls, identifier, identifier_type, sub_classes, query_with_dashes)
    398         try:
--> 399             entity = builder.one()[0]
    400         except MultipleObjectsError:

/opt/conda/lib/python3.9/site-packages/aiida/orm/querybuilder.py in one(self)
   1145         elif len(res) == 0:
-> 1146             raise NotExistent('No result was found')
   1147         return res[0]

NotExistent: No result was found

During handling of the above exception, another exception occurred:

NotExistent                               Traceback (most recent call last)
/tmp/ipykernel_3875/1083177014.py in <cell line: 1>()
----> 1 app.load()

/opt/conda/lib/python3.9/site-packages/aiidalab_qe/app/main.py in load(self)
     90         # load a previous calculation if it is provided
     91         if self.process:
---> 92             self.app.process = self.process

/opt/conda/lib/python3.9/site-packages/traitlets/traitlets.py in __set__(self, obj, value)
    730             raise TraitError('The "%s" trait is read-only.' % self.name)
    731         else:
--> 732             self.set(obj, value)
    733 
    734     def _validate(self, obj, value):

/opt/conda/lib/python3.9/site-packages/traitlets/traitlets.py in set(self, obj, value)
    719             # we explicitly compare silent to True just in case the equality
    720             # comparison above returns something other than True/False
--> 721             obj._notify_trait(self.name, old_value, new_value)
    722 
    723     def __set__(self, obj, value):

/opt/conda/lib/python3.9/site-packages/traitlets/traitlets.py in _notify_trait(self, name, old_value, new_value)
   1503 
   1504     def _notify_trait(self, name, old_value, new_value):
-> 1505         self.notify_change(
   1506             Bunch(
   1507                 name=name,

/opt/conda/lib/python3.9/site-packages/ipywidgets/widgets/widget.py in notify_change(self, change)
    692                 # Send new state to front-end
    693                 self.send_state(key=name)
--> 694         super(Widget, self).notify_change(change)
    695 
    696     def __repr__(self):

/opt/conda/lib/python3.9/site-packages/traitlets/traitlets.py in notify_change(self, change)
   1515     def notify_change(self, change):
   1516         """Notify observers of a change event"""
-> 1517         return self._notify_observers(change)
   1518 
   1519     def _notify_observers(self, event):

/opt/conda/lib/python3.9/site-packages/traitlets/traitlets.py in _notify_observers(self, event)
   1562                 c = getattr(self, c.name)
   1563 
-> 1564             c(event)
   1565 
   1566     def _add_notifiers(self, handler, name, type):

/opt/conda/lib/python3.9/site-packages/aiidalab_qe/app/wizard_app.py in _on_process_change(self, change)
    121     @tl.observe("process")
    122     def _on_process_change(self, change):
--> 123         self._update_from_process(change["new"])
    124 
    125     def _on_new_workchain_button_click(self, _):

/opt/conda/lib/python3.9/site-packages/aiidalab_qe/app/wizard_app.py in _update_from_process(self, pk)
    188             self.submit_model.process_uuid = process_node.uuid
    189             self.submit_model.set_model_state(parameters)
--> 190             self.submit_model.confirm()
    191             self._wizard_app_widget.selected_index = 3
    192             self._hide_process_loading_message()

/opt/conda/lib/python3.9/site-packages/aiidalab_qe/app/submission/model.py in confirm(self)
     62 
     63     def confirm(self):
---> 64         super().confirm()
     65         if not self.has_process:
     66             self._submit()

/opt/conda/lib/python3.9/site-packages/aiidalab_qe/common/mixins.py in confirm(self)
    160 
    161     def confirm(self):
--> 162         self.confirmed = True
    163 
    164     @tl.observe(tl.All)

/opt/conda/lib/python3.9/site-packages/traitlets/traitlets.py in __set__(self, obj, value)
    730             raise TraitError('The "%s" trait is read-only.' % self.name)
    731         else:
--> 732             self.set(obj, value)
    733 
    734     def _validate(self, obj, value):

/opt/conda/lib/python3.9/site-packages/traitlets/traitlets.py in set(self, obj, value)
    719             # we explicitly compare silent to True just in case the equality
    720             # comparison above returns something other than True/False
--> 721             obj._notify_trait(self.name, old_value, new_value)
    722 
    723     def __set__(self, obj, value):

/opt/conda/lib/python3.9/site-packages/traitlets/traitlets.py in _notify_trait(self, name, old_value, new_value)
   1503 
   1504     def _notify_trait(self, name, old_value, new_value):
-> 1505         self.notify_change(
   1506             Bunch(
   1507                 name=name,

/opt/conda/lib/python3.9/site-packages/traitlets/traitlets.py in notify_change(self, change)
   1515     def notify_change(self, change):
   1516         """Notify observers of a change event"""
-> 1517         return self._notify_observers(change)
   1518 
   1519     def _notify_observers(self, event):

/opt/conda/lib/python3.9/site-packages/traitlets/traitlets.py in _notify_observers(self, event)
   1562                 c = getattr(self, c.name)
   1563 
-> 1564             c(event)
   1565 
   1566     def _add_notifiers(self, handler, name, type):

/opt/conda/lib/python3.9/site-packages/aiidalab_qe/app/wizard_app.py in _on_submission(self, _)
    137 
    138     def _on_submission(self, _):
--> 139         self._update_results_step()
    140         self._lock_app()
    141 

/opt/conda/lib/python3.9/site-packages/aiidalab_qe/app/wizard_app.py in _update_results_step(self)
    159 
    160     def _update_results_step(self):
--> 161         ipw.dlink(
    162             (self.submit_model, "process_uuid"),
    163             (self.results_model, "process_uuid"),

/opt/conda/lib/python3.9/site-packages/traitlets/traitlets.py in __init__(self, source, target, transform)
    426         _validate_link(source, target)
    427         self.source, self.target = source, target
--> 428         self.link()
    429 
    430     def link(self):

/opt/conda/lib/python3.9/site-packages/traitlets/traitlets.py in link(self)
    430     def link(self):
    431         try:
--> 432             setattr(
    433                 self.target[0],
    434                 self.target[1],

/opt/conda/lib/python3.9/site-packages/traitlets/traitlets.py in __set__(self, obj, value)
    730             raise TraitError('The "%s" trait is read-only.' % self.name)
    731         else:
--> 732             self.set(obj, value)
    733 
    734     def _validate(self, obj, value):

/opt/conda/lib/python3.9/site-packages/traitlets/traitlets.py in set(self, obj, value)
    719             # we explicitly compare silent to True just in case the equality
    720             # comparison above returns something other than True/False
--> 721             obj._notify_trait(self.name, old_value, new_value)
    722 
    723     def __set__(self, obj, value):

/opt/conda/lib/python3.9/site-packages/traitlets/traitlets.py in _notify_trait(self, name, old_value, new_value)
   1503 
   1504     def _notify_trait(self, name, old_value, new_value):
-> 1505         self.notify_change(
   1506             Bunch(
   1507                 name=name,

/opt/conda/lib/python3.9/site-packages/traitlets/traitlets.py in notify_change(self, change)
   1515     def notify_change(self, change):
   1516         """Notify observers of a change event"""
-> 1517         return self._notify_observers(change)
   1518 
   1519     def _notify_observers(self, event):

/opt/conda/lib/python3.9/site-packages/traitlets/traitlets.py in _notify_observers(self, event)
   1562                 c = getattr(self, c.name)
   1563 
-> 1564             c(event)
   1565 
   1566     def _add_notifiers(self, handler, name, type):

/opt/conda/lib/python3.9/site-packages/traitlets/traitlets.py in _update(self, change)
    450             return
    451         with self._busy_updating():
--> 452             setattr(self.target[0], self.target[1], self._transform(change.new))
    453 
    454     def unlink(self):

/opt/conda/lib/python3.9/site-packages/traitlets/traitlets.py in __set__(self, obj, value)
    730             raise TraitError('The "%s" trait is read-only.' % self.name)
    731         else:
--> 732             self.set(obj, value)
    733 
    734     def _validate(self, obj, value):

/opt/conda/lib/python3.9/site-packages/traitlets/traitlets.py in set(self, obj, value)
    719             # we explicitly compare silent to True just in case the equality
    720             # comparison above returns something other than True/False
--> 721             obj._notify_trait(self.name, old_value, new_value)
    722 
    723     def __set__(self, obj, value):

/opt/conda/lib/python3.9/site-packages/traitlets/traitlets.py in _notify_trait(self, name, old_value, new_value)
   1503 
   1504     def _notify_trait(self, name, old_value, new_value):
-> 1505         self.notify_change(
   1506             Bunch(
   1507                 name=name,

/opt/conda/lib/python3.9/site-packages/traitlets/traitlets.py in notify_change(self, change)
   1515     def notify_change(self, change):
   1516         """Notify observers of a change event"""
-> 1517         return self._notify_observers(change)
   1518 
   1519     def _notify_observers(self, event):

/opt/conda/lib/python3.9/site-packages/traitlets/traitlets.py in _notify_observers(self, event)
   1562                 c = getattr(self, c.name)
   1563 
-> 1564             c(event)
   1565 
   1566     def _add_notifiers(self, handler, name, type):

/opt/conda/lib/python3.9/site-packages/aiidalab_qe/app/result/components/summary/summary.py in _on_process_change(self, _)
     16     def _on_process_change(self, _):
     17         if not self.has_settings_report:
---> 18             self._render_summary()
     19 
     20     def _on_monitor_counter_change(self, _):

/opt/conda/lib/python3.9/site-packages/aiidalab_qe/app/result/components/summary/summary.py in _render_summary(self)
     34 
     35         settings_summary = ipw.HTML(
---> 36             value=self._model.generate_report_html(),
     37         )
     38         settings_summary.add_class("summary-panel")

/opt/conda/lib/python3.9/site-packages/aiidalab_qe/app/result/components/summary/model.py in generate_report_html(self)
     71         env = Environment()
     72         template = files(templates).joinpath("workflow_summary.jinja").read_text()
---> 73         parameters = self._generate_report_parameters()
     74         report = {key: value for key, value in parameters.items() if value is not None}
     75         schema = json.load(Path(__file__).parent.joinpath("schema.json").open())

/opt/conda/lib/python3.9/site-packages/aiidalab_qe/app/result/components/summary/model.py in _generate_report_parameters(self)
    248             }
    249 
--> 250         report["advanced_settings"]["pseudos"] = [
    251             f"<b>{kind}:</b> {orm.load_node(pp_uuid).filename}"
    252             for kind, pp_uuid in advanced.get("pw", {}).get("pseudos", {}).items()

/opt/conda/lib/python3.9/site-packages/aiidalab_qe/app/result/components/summary/model.py in <listcomp>(.0)
    249 
    250         report["advanced_settings"]["pseudos"] = [
--> 251             f"<b>{kind}:</b> {orm.load_node(pp_uuid).filename}"
    252             for kind, pp_uuid in advanced.get("pw", {}).get("pseudos", {}).items()
    253         ]

/opt/conda/lib/python3.9/site-packages/aiida/orm/utils/loaders.py in load_node(identifier, pk, uuid, label, sub_classes, query_with_dashes)
    205     :raise aiida.common.MultipleObjectsError: if more than one Node was found
    206     """
--> 207     return load_entity(
    208         NodeEntityLoader,
    209         identifier=identifier,

/opt/conda/lib/python3.9/site-packages/aiida/orm/utils/loaders.py in load_entity(entity_loader, identifier, pk, uuid, label, sub_classes, query_with_dashes)
     91         identifier_type = None
     92 
---> 93     return entity_loader.load_entity(
     94         identifier, identifier_type, sub_classes=sub_classes, query_with_dashes=query_with_dashes
     95     )

/opt/conda/lib/python3.9/site-packages/aiida/orm/utils/loaders.py in load_entity(cls, identifier, identifier_type, sub_classes, query_with_dashes)
    403         except NotExistent as exception:
    404             error = f'no {classes} found with {identifier_type}<{identifier}>: {exception}'
--> 405             raise NotExistent(error)
    406 
    407         return entity

NotExistent: no Node found with UUID<642d53de-a2bc-47bd-a2d3-27c9a0fbb6f4>: No result was found

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions