This is a multi-part message in MIME format.
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/
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
</head>
<body>
<p><br>
</p>
<div class="moz-forward-container">Bonsoir,</div>
<div class="moz-forward-container"><br>
</div>
<div class="moz-forward-container"><br>
</div>
<div class="moz-forward-container">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)</div>
<div class="moz-forward-container"> <br>
-------- Forwarded Message --------
<table class="moz-email-headers-table" cellspacing="0"
cellpadding="0" border="0">
<tbody>
<tr>
<th valign="BASELINE" nowrap="nowrap" align="RIGHT">Subject:
</th>
<td>bogue dlopen croisé dans RefPerSys (commit 8553aeaa8442)</td>
</tr>
<tr>
<th valign="BASELINE" nowrap="nowrap" align="RIGHT">Date: </th>
<td>Thu, 29 Jul 2021 21:40:04 +0200</td>
</tr>
<tr>
<th valign="BASELINE" nowrap="nowrap" align="RIGHT">From: </th>
<td>Basile Starynkevitch <a class="moz-txt-link-rfc2396E" href="mailto:
basile@starynkevitch.net"><
basile@starynkevitch.net></a></td>
</tr>
<tr>
<th valign="BASELINE" nowrap="nowrap" align="RIGHT">To: </th>
<td><a class="moz-txt-link-abbreviated" href="mailto:
technique@april.org">
technique@april.org</a></td>
</tr>
</tbody>
</table>
<br>
<br>
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<p>Bonsoir à tous,</p>
<p><a moz-do-not-send="true" href="
http://refpersys.org/">RefPerSys</a>
est un logiciel libre d'intelligence artificielle symbolique
(sous licence GPLv3+) sous Linux. La philosophie, c'est <i>méta-connaissances
déclaratives</i> (vous lirez avec profit le livre: <i>Méta-connaissances,
futur de l'Intelligence Artificielle</i> 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...).<br>
</p>
<p>Pour les curieux, voir les exposés en <a
moz-do-not-send="true"
href="
https://afia.asso.fr/journee-hommage-j-pitrat/">https://afia.asso.fr/journee-hommage-j-pitrat/</a>
et surtout, lire le dernier livre de Pitrat (en anglais) <i>Artificial
Beings : the Conscience of a Conscious Machine</i> <span
class="a-size-base a-color-base a-text-bold">ISBN-13:</span> <span
class="a-size-base a-color-base"> 978-1848211018. </span>Ce
livre se lit bien et ne nécessite pas de connaissances
informatiques poussées.<br>
</p>
<p>Le code C++ (actuellement écrit à la main, hélas; je voudrais
en générer davantage) de RefPerSys (commenté en anglais) est en
<a moz-do-not-send="true"
href="
https://github.com/RefPerSys/RefPerSys">https://github.com/RefPerSys/RefPerSys<br>
</a></p>
<p>et ce message concerne le git commit <a moz-do-not-send="true" href="
https://github.com/RefPerSys/RefPerSys/commit/8553aeaa84429a15d52d961e632210c93dc1f8ae">8553aeaa8442</a><br>
</p>
<p>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 <font face="monospace">persistore/</font>
...) dans un format inspiré de JSON.<br>
</p>
<p>La configuration de RefPerSys est artisanale: un banal
Makefile, avec un fichier inclus <font face="monospace">$HOME/.refpersys.mk
</font>qui contient par exemple</p>
<p><font face="monospace"># file ~/.refpersys.mk<br>
RPS_BUILD_CC= /usr/bin/gcc-10<br>
RPS_BUILD_CXX= /usr/bin/g++-10</font><br>
</p>
<p>(on peut remplacer <font face="monospace">gcc-10</font> par <font
face="monospace">gcc-11</font> ou <font face="monospace">clang-12</font>,
etc...)</p>
<p><br>
</p>
<p>Après avoir compilé RefPerSys (par un <font face="monospace">make
-j7 refpersys && make all</font>) je le lance avec <font
face="monospace">./refpersys --Qt -AGUI,WEB</font> et
j'obtiens (depuis un commit ou deux) systématiquement l'erreur:</p>
<p>rimski.x86_64 ~/RefPerSys 20:53 .0 % ./refpersys --Qt -AGUI,WEB<br>
<font face="monospace"><br>
<br>
*** RefPerSys INFORM: main_rps.cc:754: <int main(int,
char**)><br>
!-!-! starting RefPerSys !-!-! ./refpersys process 10298 on
host rimski<br>
... gitid 8553aeaa84429a15 built Thu 29 Jul 2021 08:53:24 PM
MEST (main@0x555c2cba177d) interactive mode (3 jobs)<br>
<br>
make: Entering directory '/home/basile/RefPerSys'<br>
make: Leaving directory '/home/basile/RefPerSys'<br>
** 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<br>
** 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<br>
<br>
** RefPerSys INFORM! store_rps.cc:2721: void
rps_load_from(const string&) rps_load_from completed<br>
... from directory /home/basile/RefPerSys with RefPerSys built
Thu 29 Jul 2021 08:53:24 PM MEST<br>
lastgitcommit 8553aeaa8442 more code in
RpsTemp_ObjectBrowser::refresh_object_browser - the loop to
display object is incomplete<br>
md5sum 45449edd9382713d22f67e2b8edad88b<br>
loaded 196 objects in 0.004 elapsed, 0.004 cpu seconds<br>
so 22.165 elapsed µs/ob, 22.161 cpu µs/ob, in 7434 memory
words.<br> =============================================================================<br>
<br>
<br>
<br>
<br>
*** RefPerSys INFORM: main_rps.cc:1120: <void
rps_run_application(int&, char**)><br>
rps_run_application: start of ./refpersys<br>
.. gitid 8553aeaa84429a15d52d961e632210c93dc1f8ae+<br>
.. build timestamp Thu 29 Jul 2021 08:53:24 PM MEST<br>
.. last git commit 8553aeaa8442 more code in
RpsTemp_ObjectBrowser::refresh_object_browser - the loop to
display object is incomplete<br>
.. md5sum 45449edd9382713d22f67e2b8edad88b<br>
.. in /home/basile/RefPerSys<br>
.. on host rimski pid 10298<br>
<br>
<br>
** RefPerSys INFORM! main_rps.cc:1675: bool
rps_set_debug_flag(const string&) setting debugging flag
GUI<br>
** RefPerSys INFORM! main_rps.cc:1675: bool
rps_set_debug_flag(const string&) setting debugging flag
WEB<br>
<br>
<br>
*** RefPerSys INFORM: main_rps.cc:1138: <void
rps_run_application(int&, char**)><br>
rps_run_application did set debug after load to GUI,WEB<br>
<br>
** 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<br>
make: 'tempgui-qrps.so' is up to date.<br>
<br>
<br>
** RefPerSys FATAL! main_rps.cc:1214:: dlopen tempgui-qrps.so
failed : ./tempgui-qrps.so: undefined symbol:
_ZN17Rps_PayloadStrBuf12clear_bufferEv<br>
<br>
RPS FATAL:<br>
RefPerSys gitid 8553aeaa84429a15d52d961e632210c93dc1f8ae+,<br>
built timestamp Thu 29 Jul 2021 08:53:24 PM MEST,<br>
on host rimski, md5sum 45449edd9382713d22f67e2b8edad88b,<br>
elapsed 0.068, process 0.022 sec<br>
[001] main_rps.cc:1214°: rps_run_application @0x555c2cb9f84b<br>
[002] main_rps.cc:768°: main @0x555c2cba242d<br>
===== end fatal error at main_rps.cc:1214 ======<br>
--------------------------------/ main_rps.cc:1214<br>
zsh: IOT instruction (core dumped) ./refpersys --Qt -AGUI,WEB</font></p>
<p><br>
</p>
<p>Ca fait plusieurs jours que je n'arrive pas à comprendre cette
erreur, et à corriger mon bogue.</p>
<p>Avez vous des idées, une stratégie de déboguage? Je ne suis pas
un expert de <i>binutils</i>. Je suis sensé avoir été un expert
de GCC.<br>
</p>
<p><br>
</p>
<p>Librement.<br>
</p>
<p>PS. Je cherche aussi des "mécènes", concrètement des
partenaires pour des soumissions ITEA ou HorizonEurope. Le site
<a moz-do-not-send="true" href="
http://refpersys.org/">http://refpersys.org/</a>
donne des références possibles d'appels à projets dans le cadre
HorizonEurope, et des futures applications.</p>
<p><br>
</p>
<p>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.<br>
</p>
<p>-- </p>
<pre class="moz-signature" cols="72">Basile Starynkevitch <a class="moz-txt-link-rfc2396E" href="mailto:
basile@starynkevitch.net" moz-do-not-send="true"><
basile@starynkevitch.net></a>
(only mine opinions / les opinions sont miennes uniquement)
92340 Bourg-la-Reine, France
web page: starynkevitch.net/Basile/
</pre>
</div>
</body>
</html>
--- SoupGate-Win32 v1.05
* Origin: fsxNet Usenet Gateway (21:1/5)