ESROCOS / ESROCOS_Issue_Tracking

Central point to report and track any ESROCOS issues.
0 stars 0 forks source link

ASN1 to AADL failed #4

Open ArMourMag opened 4 years ago

ArMourMag commented 4 years ago

Hello,

I'm using ESROCOS for H2020 project and I need to create ASN1 types but the conversion process failed.

The error message is: Erreur-TASTE-ASN1-Compilation

There is same problem with the command esrocos_fetch_dependencies.

Command finished successfully at 2019-11-06 09:46:51 +0100
compiling shared types...   DONE
compiling types to aadl...  
Compilation of generated sources failed - is b'cc' installed?
(report inside '/tmp/tmpaez2p3xo.asn1c/ShowNativeBuffers.stats.err')

Thanks for help.

mmunoz-gmv commented 4 years ago

Could you please provide some additional information?

ArMourMag commented 4 years ago

I use Lubuntu 18.04 VM given by you (I'm Arnaud Moura - Magellium).

The "CC" error was a problem of definition and now it's fixed.

Now I want to import my ASN1 file in TASTE DataView and it isn't possible because I have a GLIB error.

Glib-Error

With this problem I can't import my file and save any modifications in DataView.

mmunoz-gmv commented 4 years ago

The GLIB error is related to the windowing environment, and it doesn't in principle affect the data view generation. They can be ignored.

Nevertheless, there is something not working in the GUI when an existing ASN.1 file is imported. I get an error message related to fonts.

As a workaround, I suggest that you create the DataView.aadl file from the command line. Just go to the directory containing the TASTE model and run:

taste-update-data-view ../../install/types/base/taste-extended.asn ../../install/types/base/userdefs-base.asn ../../install/types/base/base.asn

Adjust the .asn files to process and the paths as necessary for your model. Then re-open the model with the command taste-edit-project. In my test, the Data View section was correctly updated.

For our use of TASTE, we often create a script in the model directory to run the taste-update-data-view command with the required files. It's more convenient to use the script whenever you change the ASN.1 types, than to unload and reimport them with the graphical editor.

Please, let me know if the workaround works for you.

We'll check with the TASTE people to investigate the underlaying issue with the editor.

ArMourMag commented 4 years ago

The command taste-update-data-view doesn't import new asn file.

peraspera@astra:~/esrocos_workspace/edres_wrapper$ taste-update-data-view ../install/types/base/taste-extended.asn ../install/types/base/userdefs-base.asn ../install/types/base/base.asn /home/peraspera/tool-inst/share/taste-types/taste-types.asn /home/peraspera/esrocos_workspace/edres_wrapper/dataview/edres_wrapper.asn
TASTE Data View Convertor - From ASN.1 to AADLV2
[INFO] Using file: ../install/types/base/taste-extended.asn
[INFO] Using file: ../install/types/base/userdefs-base.asn
[INFO] Using file: ../install/types/base/base.asn
[INFO] Using file: /home/peraspera/esrocos_workspace/edres_wrapper/dataview/edres_wrapper.asn

(python:30928): GLib-GIO-CRITICAL **: 17:10:22.627: g_dbus_proxy_new: assertion 'G_IS_DBUS_CONNECTION (connection)' failed

(python:30928): GLib-GIO-CRITICAL **: 17:10:22.627: g_dbus_proxy_new: assertion 'G_IS_DBUS_CONNECTION (connection)' failed

(python:30928): GLib-GIO-CRITICAL **: 17:10:22.627: g_dbus_proxy_new: assertion 'G_IS_DBUS_CONNECTION (connection)' failed
[INFO] All OK

The result says All OK but nothing in the Taste editor.

What ASN file can I change ? taste-types.asn ?

mmunoz-gmv commented 4 years ago

Please, check if after running the taste-update-data-view command the file DataView.aadl has been updated, and whether it contains at the top of the file the list of .asn files that should have been processed.

Below you can see how the first lines of the DataView.aadl file should look after running the taste-update-data-view command successfully:

--------------------------------------------------------
--! File generated by asn2aadl v2.1.28: DO NOT EDIT !
--------------------------------------------------------
--! InputASN1FileChecksum:78b46cf7a357dc150e4b2751905f3a94:/home/peraspera/esrocos_workspace/install/types/base/taste-extended.asn:
--! InputASN1FileChecksum:ee553fef5f73529fe765d3e645b11923:/home/peraspera/esrocos_workspace/install/types/base/userdefs-base.asn:
--! InputASN1FileChecksum:5831472ee4b55e91787887a6d0834166:/home/peraspera/esrocos_workspace/install/types/base/base.asn:
--! InputASN1FileChecksum:6bf664b31ce9ca6fd89af52cea7ea0f2:/home/peraspera/esrocos_workspace/support/issue_04_test_01/DataView.asn:
--! InputASN1FileChecksum:ee8a7e01f29874c0d50f437d5abb9599:/home/peraspera/tool-inst/share/taste-types/taste-types.asn:
--------------------------------------------------------

package DataView

public

...

Once the DataView.aadl file is updated, the editor should show the correct information. You will need to close and reopen the editor for the information to show.

EchoPouet commented 4 years ago

I checked and it's ok. Would there be a fix of TASTE in the future ?

mmunoz-gmv commented 4 years ago

There are a couple of issues in the VM configuration that produce the DBUS errors, and possibly some errors with fonts.

To remove the DBUS errors in Gtk apps, do sudo apt-get purge fcitx-module-dbus. This uninstalls a Gtk module (I think it's for emojis) that causes problems. It indicates that other packages such as lubuntu-desktop will be uninstalled, but in principle this is safe.

After updating TASTE, I also got some errors with missing fonts. To solve those, do sudo apt-get install xfonts-base.

EchoPouet commented 4 years ago

Thanks, I will try next time because I'm an other problem.

When I run the build command esrocos_build_project I'm this error:

Creating AADL dataviews
Traceback (most recent call last):
  File "/home/peraspera/.local/bin/asn2aadlPlus", line 11, in <module>
    load_entry_point('dmt==2.1.28', 'console_scripts', 'asn2aadlPlus')()
  File "/home/peraspera/.local/lib/python3.6/site-packages/dmt/asn2aadlPlus.py", line 332, in main
    asnParser.ParseAsnFileList(asnFiles)
  File "/home/peraspera/.local/lib/python3.6/site-packages/dmt/commonPy/asnParser.py", line 399, in ParseAsnFileList
    filehash.update(open(each).read().encode('utf-8'))
  File "/usr/lib/python3.6/encodings/ascii.py", line 26, in decode
    return codecs.ascii_decode(input, self.errors)[0]
UnicodeDecodeError: 'ascii' codec can't decode byte 0xc2 in position 52459: ordinal not in range(128)
Failed while executing:
asn2aadlPlus -aadlv2  -acn "/home/peraspera/esrocos_workspace/edres_system_example/binary.c/dataview-uniq.acn" "/tmp/uniqhomeperasperaesrocos_workspaceedres_system_example__iv_1_3.aadl/dataview-uniq.asn" D_view_aadlv2.aadl
From this directory:
/home/peraspera/esrocos_workspace/edres_system_example/binary.c
[ERROR]  Creating AADL dataviews

But when I run the command that failed :

asn2aadlPlus -aadlv2  -acn "/home/peraspera/esrocos_workspace/edres_system_example/binary.c/dataview-uniq.acn" "/tmp/uniqhomeperasperaesrocos_workspaceedres_system_example__iv_1_3.aadl/dataview-uniq.asn" D_view_aadlv2.aadl

Everythings is okay. The command esrocos_build_project change encoding of files ?

mmunoz-gmv commented 4 years ago

I think this might be related to an issue with the Python environment variables. In your error log, I see that there is an error in a library for python3.6. However, if you run /usr/bin/env python in the VM, you probably get Python 2.7. Could you please check this?

As a workaround, please try to manually set the environment variable PYTHONUSERBASE, removing the path to the ~/.local-lib/python3.6/site-packages directory, and leaving the rest as it is.

Take a look at ESROCOS_D4.4 section 4.4.3 for an explanation of the problem.

By the way, the ESROCOS scripts under tools/workflow (esrocos_build_project, etc.) were developed by DFKI. Maybe they can help you better.

EchoPouet commented 4 years ago

There are a couple of issues in the VM configuration that produce the DBUS errors, and possibly some errors with fonts.

To remove the DBUS errors in Gtk apps, do sudo apt-get purge fcitx-module-dbus. This uninstalls a Gtk module (I think it's for emojis) that causes problems. It indicates that other packages such as lubuntu-desktop will be uninstalled, but in principle this is safe.

After updating TASTE, I also got some errors with missing fonts. To solve those, do sudo apt-get install xfonts-base.

This manipulation resolves the problem. Thanks.