• =?UTF-8?Q?Re=3a_Fwd=3a_bogue_dlopen_crois=c3=a9_dans_RefPerSys_=28c?= =

    From Polyna-Maude Racicot-Summerside@21:1/5 to Basile Starynkevitch on Thu Jul 29 22:10:01 2021
    Copy: debian-user-french@lists.debian.org (User French Mailing List (Debian))

    This is an OpenPGP/MIME signed message (RFC 4880 and 3156) --vFG0kQWbH4zNh9zinVa1XOPI03pQDxYhy
    Content-Type: text/plain; charset=utf-8
    Content-Language: en-US
    Content-Transfer-Encoding: quoted-printable

    Quel package pour Debian ?

    On 2021-07-29 3:48 p.m., Basile Starynkevitch wrote:

    Bonsoir,


    Une demande d'aide, que j'ai postée vers une liste April, mais qui
    concerne un logiciel libre sous Debian/Testing/x86-64 (ou Ubuntu 21.04)

    -------- Forwarded Message --------
    Subject: bogue dlopen croisé dans RefPerSys (commit 8553aeaa8442)
    Date: Thu, 29 Jul 2021 21:40:04 +0200
    From: Basile Starynkevitch <basile@starynkevitch.net>
    To: technique@april.org



    Bonsoir à tous,

    RefPerSys <http://refpersys.org/> est un logiciel libre d'intelligence artificielle symbolique (sous licence GPLv3+) sous Linux. La
    philosophie, c'est /méta-connaissances déclaratives/ (vous lirez avec profit le livre: /Méta-connaissances, futur de l'Intelligence Artificielle/  ISBN  2-86601-247-X, Hermès 1997) auto-génération du système (j'en suis encore loin, mais grâce à d'autres je m'en rapproche...).

    Pour les curieux, voir les exposés en https://afia.asso.fr/journee-hommage-j-pitrat/ <https://afia.asso.fr/journee-hommage-j-pitrat/> et surtout, lire le
    dernier livre de Pitrat (en anglais) /Artificial Beings : the Conscience
    of a Conscious Machine/ ISBN-13: 978-1848211018. Ce livre se lit bien et
    ne nécessite pas de connaissances informatiques poussées.

    Le code C++ (actuellement écrit à la main, hélas; je voudrais en générer davantage) de RefPerSys (commenté en anglais) est en https://github.com/RefPerSys/RefPerSys <https://github.com/RefPerSys/RefPerSys>

    et ce message concerne le git commit 8553aeaa8442 <https://github.com/RefPerSys/RefPerSys/commit/8553aeaa84429a15d52d961e632210c93dc1f8ae>

    L'idée directrice (insuffisamment suivie) est de traduire un formalisme
    de règles (systèmes experts) en du code généré C++, actuellement utilisant Qt5. L'état persistant de RefPerSys est stocké dans des
    fichiers textuels (sous persistore/ ...) dans un format inspiré de JSON.

    La configuration de RefPerSys est artisanale: un banal Makefile, avec un fichier inclus $HOME/.refpersys.mk qui contient par exemple

    # file ~/.refpersys.mk
    RPS_BUILD_CC= /usr/bin/gcc-10
    RPS_BUILD_CXX= /usr/bin/g++-10

    (on peut remplacer gcc-10 par gcc-11 ou clang-12, etc...)


    Après avoir compilé RefPerSys (par un make -j7 refpersys && make all) je
    le lance avec ./refpersys --Qt -AGUI,WEB et j'obtiens (depuis un commit
    ou deux) systématiquement l'erreur:

    rimski.x86_64 ~/RefPerSys 20:53 .0 % ./refpersys --Qt -AGUI,WEB


    *** RefPerSys INFORM: main_rps.cc:754: <int main(int, char**)>
     !-!-! starting RefPerSys !-!-! ./refpersys process 10298 on host rimski
    ... gitid 8553aeaa84429a15 built Thu 29 Jul 2021 08:53:24 PM MEST (main@0x555c2cba177d) interactive mode (3 jobs)

    make: Entering directory '/home/basile/RefPerSys'
    make: Leaving directory '/home/basile/RefPerSys'
    ** RefPerSys INFORM! main_rps.cc:586: void rps_check_mtime_files() rps_check_mtime_files: did make -t -C /home/basile/RefPerSys -q objects successfully
    ** RefPerSys INFORM! store_rps.cc:749: void Rps_Loader::load_all_state_files() loaded 1 space files in second pass
    with 196 objects and 0 todos

    ** RefPerSys INFORM! store_rps.cc:2721: void rps_load_from(const
    string&) rps_load_from completed
    ... from directory /home/basile/RefPerSys with RefPerSys built Thu 29
    Jul 2021 08:53:24 PM MEST
     lastgitcommit 8553aeaa8442 more code in RpsTemp_ObjectBrowser::refresh_object_browser - the loop to display
    object is incomplete
     md5sum 45449edd9382713d22f67e2b8edad88b
     loaded 196 objects in 0.004 elapsed, 0.004 cpu seconds
     so 22.165 elapsed µs/ob, 22.161 cpu µs/ob, in 7434 memory words. =============================================================================




    *** RefPerSys INFORM: main_rps.cc:1120: <void rps_run_application(int&, char**)>
     rps_run_application: start of ./refpersys
    .. gitid 8553aeaa84429a15d52d961e632210c93dc1f8ae+
    .. build timestamp Thu 29 Jul 2021 08:53:24 PM MEST
    .. last git commit 8553aeaa8442 more code in RpsTemp_ObjectBrowser::refresh_object_browser - the loop to display
    object is incomplete
    .. md5sum 45449edd9382713d22f67e2b8edad88b
    .. in /home/basile/RefPerSys
    .. on host rimski pid 10298


    ** RefPerSys INFORM! main_rps.cc:1675: bool rps_set_debug_flag(const
    string&) setting debugging flag GUI
    ** RefPerSys INFORM! main_rps.cc:1675: bool rps_set_debug_flag(const
    string&) setting debugging flag WEB


    *** RefPerSys INFORM: main_rps.cc:1138: <void rps_run_application(int&, char**)>
     rps_run_application did set debug after load to GUI,WEB

    ** RefPerSys INFORM! main_rps.cc:1206: void rps_run_application(int&,
    char**) rps_run_application will do Qt from pid 10298 on rimski so make tempgui-qrps.so
    make: 'tempgui-qrps.so' is up to date.


    ** RefPerSys FATAL! main_rps.cc:1214:: dlopen tempgui-qrps.so failed : ./tempgui-qrps.so: undefined symbol: _ZN17Rps_PayloadStrBuf12clear_bufferEv

    RPS FATAL:
     RefPerSys gitid 8553aeaa84429a15d52d961e632210c93dc1f8ae+,
         built timestamp Thu 29 Jul 2021 08:53:24 PM MEST,
         on host rimski, md5sum 45449edd9382713d22f67e2b8edad88b,
         elapsed 0.068, process 0.022 sec
    [001] main_rps.cc:1214°: rps_run_application @0x555c2cb9f84b
    [002] main_rps.cc:768°: main @0x555c2cba242d
    ===== end fatal error at main_rps.cc:1214 ====== --------------------------------/ main_rps.cc:1214
    zsh: IOT instruction (core dumped)  ./refpersys --Qt -AGUI,WEB


    Ca fait plusieurs jours que je n'arrive pas à comprendre cette erreur,
    et à corriger mon bogue.

    Avez vous des idées, une stratégie de déboguage? Je ne suis pas un
    expert de /binutils/. Je suis sensé avoir été un expert de GCC.


    Librement.

    PS. Je cherche aussi des "mécènes", concrètement des partenaires pour
    des soumissions ITEA ou HorizonEurope. Le site http://refpersys.org/ <http://refpersys.org/> donne des références possibles d'appels à
    projets dans le cadre HorizonEurope, et des futures applications.


    NB: je cherche aussi des relecteurs pour un papier en cours de
    soumission à ROIA (revue ouverte d'intelligence artificielle). Contactez
    moi pour en obtenir le PDF actuel.

    --

    Basile Starynkevitch <basile@starynkevitch.net>
    (only mine opinions / les opinions sont miennes uniquement)
    92340 Bourg-la-Reine, France
    web page: starynkevitch.net/Basile/


    --
    Polyna-Maude R.-Summerside
    -Be smart, Be wise, Support opensource development


    --vFG0kQWbH4zNh9zinVa1XOPI03pQDxYhy--

    -----BEGIN PGP SIGNATURE-----

    wsF5BAABCAAjFiEElxOPFqFt1Wj+LmZjS1zCmZZxgEYFAmEDCpAFAwAAAAAACgkQS1zCmZZxgEbQ Cw//ZDA/iRpLjn+QgTK83csHqtzyNOXUnQNdqam82ED8dFLIQ6iOxnr2azoH+pOsADiU/TZhbH2a LD2m4132HMwPtL0FTWR0S1yE9FAUpsqvzlRmB9sa4hmA/lx9kbXC/t+X67dXOkc1kItbD1ep/sDJ 2RjxxPhoZadHcxXMZfXn58NlUutEAIyUTL9+msb/fUWy108HOWmvIqwXv39BB1ixwUagOpFShE99 6JAHUU3rDX2AkbJjMzLwaziJYgu6UIX4CwDu2bJjQIYpihLleb16L20IPuoArr/7aoygeBpuAwrS qWJ95ea/eBj8hoYQ+xu0i2Z8o6mjzlBrxQDrvU+X2S0tUWBXpCY7kWM/21KFa3kWgGoRx5cQls/p i9FWjOmnd5mwplFm99Nx6E9x7IT7X/UruufhL2rokPUmRjsr8/QIvpZq7iST5uSWzClEaUoWGSnF 6D5/10C/7KnWGF43W5dNKW68mGvIGflipKManym2mS83k2o9zRgficuAHo7tetMmLeoVbkGoRuS9 o+RsRDVJbEQ0b16C0NOKbV/hqQNK4ZROuGTPqIGwS43rXSsRW3LglQm8rpvZWcNxFUr6sngHozLg 7S/OaBQbcxlzhxJ2Xm6rK0/hn2oc1gizhP4R6u/qIrh1UsIuU+f+1Zgr/W6PJUWxx2PX24AyYzl3 apI=
    =OvA8
    -----END PGP SIGNATURE-----

    --- SoupGate-Win32 v1.05
    * Origin: