IN2P3-Forge: Issueshttps://forge.in2p3.fr/https://forge.in2p3.fr/favicon.ico?16780521162018-05-31T15:49:48ZIN2P3-Forge
Redmine Lavoisier - Feature #33350 (New): add a XPath function multireplace()https://forge.in2p3.fr/issues/333502018-05-31T15:49:48ZReynaud SylvainSylvain.Reynaud@in2p3.fr
This function would support a variable number of arguments:
<ul>
<li>string: the input string</li>
<li>search: the substring to replace</li>
<li>replace: the replacement string for the first occurence of the search string</li>
<li>replace: the replacement string for the second occurence of the search string</li>
<li>...</li>
<li>replace: the replacement string for the Nth occurence of the search string</li>
</ul> Lavoisier - Feature #30741 (New): add research button on web sitehttps://forge.in2p3.fr/issues/307412018-04-04T10:53:55ZReynaud SylvainSylvain.Reynaud@in2p3.fr
<p>with a javascript that automatically add "site:http://software.in2p3.fr/lavoisier" to the query, and send it to Google</p> Lavoisier - Feature #30735 (New): write documentation about the admin web consolehttps://forge.in2p3.fr/issues/307352018-04-04T10:51:59ZReynaud SylvainSylvain.Reynaud@in2p3.fr
<p>to be done the the admin web consoled will be stabilised</p> Lavoisier - Bug #26766 (New): prefix-namespace mapping is moved to the wrong nodehttps://forge.in2p3.fr/issues/267662018-01-03T17:32:43ZReynaud SylvainSylvain.Reynaud@in2p3.fr
<code>
<view name="test">
<connector type="StringConnector">
<parameter name="content"><![CDATA[<root><foo><child xmlns="uri://"/></foo><bar>two</bar></root>]]></parameter>
</connector>
<processors>
<element in="root">
<element in="foo" out="item">
<element-ignore/>
</element>
<element in="bar" out="item"/>
</element>
</processors>
</view>
</code> Lavoisier - Bug #20738 (New): Stacktracehttps://forge.in2p3.fr/issues/207382017-08-30T10:39:18ZLavoisier Api
<p>Build Version: 2.1.2-SNAPSHOT<br />Build Date: Thu Apr 21 07:12:14 UTC 2016<br />Author: lavoisier<br />Description: Describe the context of the problem here...<br />Stack Trace: fr.in2p3.lavoisier.interfaces.error.AdaptorException: Exception raised for view 'VAPOR_ComputingShare' [Adaptor raised exception -- javax.naming.CommunicationException: connection closed [Root exception is java.io.IOException: connection closed]]<br /> at fr.in2p3.lavoisier.chaining.link.connector.SAXConnectorLink.generate(SAXConnectorLink.java:26)<br /> at fr.in2p3.lavoisier.chaining.Chain.generate(Chain.java:120)<br /> at fr.in2p3.lavoisier.chaining.Chain.writeToCache(Chain.java:109)<br /> at fr.in2p3.lavoisier.engine.view.ViewCached.refresh(ViewCached.java:151)<br /> at fr.in2p3.lavoisier.engine.task.CacheRefreshTask.run(CacheRefreshTask.java:22)<br /> at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)<br /> at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)<br /> at java.lang.Thread.run(Thread.java:748)<br />Caused by: javax.naming.CommunicationException: connection closed [Root exception is java.io.IOException: connection closed]<br /> at com.sun.jndi.ldap.LdapCtx.getSearchReply(LdapCtx.java:1920)<br /> at com.sun.jndi.ldap.AbstractLdapNamingEnumeration.getNextBatch(AbstractLdapNamingEnumeration.java:130)<br /> at com.sun.jndi.ldap.AbstractLdapNamingEnumeration.hasMoreImpl(AbstractLdapNamingEnumeration.java:217)<br /> at com.sun.jndi.ldap.AbstractLdapNamingEnumeration.hasMore(AbstractLdapNamingEnumeration.java:189)<br /> at fr.in2p3.lavoisier.connector.LDAPConnector.writeToContentHandler(LDAPConnector.java:88)<br /> at fr.in2p3.lavoisier.chaining.link.connector.SAXConnectorLink.generate(SAXConnectorLink.java:24)<br /> ... 7 more<br />Caused by: java.io.IOException: connection closed<br /> at com.sun.jndi.ldap.LdapClient.ensureOpen(LdapClient.java:1592)<br /> at com.sun.jndi.ldap.LdapClient.getSearchReply(LdapClient.java:598)<br /> at com.sun.jndi.ldap.LdapCtx.getSearchReply(LdapCtx.java:1918)<br /> ... 12 more</p> PEM - Bug #12978 (New): pem-sync pullhttps://forge.in2p3.fr/issues/129782016-03-24T17:11:58ZNguyen-Kim Kaneknguyen@ipno.in2p3.fr
<p>add a progress bar when downloading the realm</p> PEM - Feature #12976 (New): pem-sync co_pemhttps://forge.in2p3.fr/issues/129762016-03-24T17:00:48ZNguyen-Kim Kaneknguyen@ipno.in2p3.fr
<p>automatically update the ~/.bashrc with the entry :<br />path=/opt/pem/bin:$PATH at the end of 'pem-sync co_pem'</p> Lavoisier - Feature #11484 (New): improve command "lavoisier-upgrade.sh"https://forge.in2p3.fr/issues/114842015-12-10T10:39:44ZReynaud SylvainSylvain.Reynaud@in2p3.fr
<p>la commande diff de linux est inadéquate => recherche d'une solution alternative type (git diff ?)</p> TReqS - Bug #9736 (Suspended): hpss_SetLoginCred + hpss_PurgeLoginCredhttps://forge.in2p3.fr/issues/97362015-04-21T09:40:04ZChambon Bernard
<p>Doing some tests, encountered the following behaviour</p>
<ul>
<li>Case calling hpss_PurgeLoginCred either case failure<br />With user root123 fail (=PASS), then with user root <strong>hanging on hpss_SetLoginCred</strong> (=FAILURE)</li>
</ul>
<pre>
TRACE HPSSConnection - Login for user root123 ...
TRACE HPSSConnection - Using authentication method 'unix'
ERROR HPSSConnection - Just before hpss_SetLoginCred
ERROR HPSSConnection - Just after hpss_SetLoginCred
ERROR HPSSConnection - Authentication failed for user root123, hpss_SetLoginCred return -1
TRACE HPSSConnection - Logout ...
TRACE HPSSConnection - Logout done
Calling HPSSConnection
TRACE HPSSConnection - logger already configured ...
TRACE HPSSConnection - Login for user root ...
TRACE HPSSConnection - Using authentication method 'unix'
ERROR HPSSConnection - Just before hpss_SetLoginCred
^C
Here hpss_PurgeLoginCred hang forever !
</pre>
<ul>
<li>Case calling hpss_PurgeLoginCred only if hpss_SetLoginCred succeed <br />With user root123 fail (=PASS), then with <strong>user root fail</strong> (= FAILURE)</li>
</ul>
<pre>
Calling HPSSConnection
TRACE HPSSConnection - Login for user root123 ...
TRACE HPSSConnection - Using authentication method 'unix'
ERROR HPSSConnection - Just before hpss_SetLoginCred
ERROR HPSSConnection - Just after hpss_SetLoginCred
ERROR HPSSConnection - Authentication failed for user root123, hpss_SetLoginCred return -1
Calling HPSSConnection
Exception catched : Authentication failed for user root123
TRACE HPSSConnection - logger already configured ...
TRACE HPSSConnection - Login for user root ...
TRACE HPSSConnection - Using authentication method 'unix'
ERROR HPSSConnection - Just before hpss_SetLoginCred
ERROR HPSSConnection - Just after hpss_SetLoginCred
ERROR HPSSConnection - Authentication failed for user root, hpss_SetLoginCred return -22
Exception catched : Authentication failed for user root
</pre> Lavoisier - Bug #7566 (New): fields of view "form" are disabled when they have default valuehttps://forge.in2p3.fr/issues/75662014-06-27T16:53:21ZReynaud SylvainSylvain.Reynaud@in2p3.fr
<p>send the form with javascript instead</p> Lavoisier - Feature #6687 (New): develop a CronTriggerhttps://forge.in2p3.fr/issues/66872014-03-27T16:36:12ZReynaud SylvainSylvain.Reynaud@in2p3.fr
<p><a class="external" href="http://fr.wikipedia.org/wiki/Crontab">http://fr.wikipedia.org/wiki/Crontab</a></p> Lavoisier - Feature #6360 (New): develop a EntriesProcessor (or a EntriesRenderer)https://forge.in2p3.fr/issues/63602014-03-05T15:22:23ZReynaud SylvainSylvain.Reynaud@in2p3.fr
<p>Input data example:<br /><pre><code class="xml syntaxhl"><span class="nt"><root></span>
<span class="nt"><child</span> <span class="na">id=</span><span class="s">"truc"</span> <span class="na">name=</span><span class="s">"IGNORED"</span><span class="nt">></span>
<span class="nt"><id></span>truc<span class="nt"></id></span>
<span class="nt"><leaf</span> <span class="na">name=</span><span class="s">"bidule"</span><span class="nt">></span>value<span class="nt"></leaf></span>
<span class="nt"><leaf</span> <span class="na">name=</span><span class="s">"bidule2"</span><span class="nt">></span>value2<span class="nt"></leaf></span>
<span class="nt"><leaf</span> <span class="na">name=</span><span class="s">"name"</span><span class="nt">></span>nom<span class="nt"></leaf></span>
<span class="nt"></child></span>
<span class="nt"></root></span>
</code></pre></p>
<p>Plugin configuration example:<br /><pre><code class="xml syntaxhl"><span class="nt"><e:root></span>
<span class="nt"><e:entries</span> <span class="na">base=</span><span class="s">"root/child"</span> <span class="na">key=</span><span class="s">"id/text()"</span><span class="nt">></span>
<span class="nt"><e:entry</span> <span class="na">base=</span><span class="s">"leaf"</span> <span class="na">key=</span><span class="s">"@name"</span> <span class="na">value=</span><span class="s">"text()"</span><span class="nt">/></span>
<span class="nt"></e:entries></span>
<span class="nt"></e:root></span>
</code></pre></p>
<p>Result example:<br /><pre><code class="xml syntaxhl"><span class="nt"><e:entries></span>
<span class="nt"><e:entries</span> <span class="na">key=</span><span class="s">"truc"</span><span class="nt">></span>
<span class="nt"><e:entry</span> <span class="na">key=</span><span class="s">"value"</span><span class="nt">></span>machin<span class="nt"></e:entry></span>
<span class="nt"><e:entry</span> <span class="na">key=</span><span class="s">"bidule"</span><span class="nt">></span>value<span class="nt"></e:entry></span>
<span class="nt"><e:entry</span> <span class="na">key=</span><span class="s">"name"</span><span class="nt">></span>nom<span class="nt"></e:entry></span>
<span class="nt"></e:entries></span>
<span class="nt"></e:entries></span>
</code></pre></p> Lavoisier - Feature #6353 (New): support new parameter type "Language"https://forge.in2p3.fr/issues/63532014-03-04T15:10:47ZReynaud SylvainSylvain.Reynaud@in2p3.fr
<p>The goal is to support langage-specific syntax-highlight in web console and configuration wizard (e.g. SQL, XQuery...).</p> Lavoisier - Feature #6325 (New): enable limiting the maximum output sizehttps://forge.in2p3.fr/issues/63252014-03-03T10:47:04ZReynaud SylvainSylvain.Reynaud@in2p3.fr
<p>All the opened elements should be automatically closed in order to keep the XML output well formed.</p> Lavoisier - Feature #6303 (New): support attributes @package and @id on <config>https://forge.in2p3.fr/issues/63032014-02-27T17:00:28ZReynaud SylvainSylvain.Reynaud@in2p3.fr
<p>This will replace metadata <category>.</p>
This must correspond to (or must be deduced from) file system:
<ul>
<li>@package must correspond to directory name</li>
<li>@id must correspond to file name</li>
</ul>
<p>Element <view> may support attribute @private="true|FALSE".</p>
When referencing a data view:
<ul>
<li>if it is in another package, then add package name : view('my.package.myView').</li>
<li>if it is in the same package, then package name will be automatically added.</li>
</ul> Lavoisier - Feature #6260 (New): support introspection of view-templatehttps://forge.in2p3.fr/issues/62602014-02-24T18:22:11ZReynaud SylvainSylvain.Reynaud@in2p3.fr
<p>a process should be able to query the list of parameters of a view-template</p> Topology Manager - Feature #5757 (New): Topology manager- error detection in mezzaninehttps://forge.in2p3.fr/issues/57572014-01-07T13:29:11ZRalet Damian
<p>We noticed that it is possible to set two time a relation of a carrier to the same mezzanine (in our case it was mez-112).<br />It would be nice if the TM could noticed this error, and bring it up.</p> Electronic Control and Monitoring - Feature #5751 (New): buildcfg with some error messagehttps://forge.in2p3.fr/issues/57512014-01-06T17:43:19ZRalet Damian
I am still missing some information errors like:
<ul>
<li>no FRS (I tryed, no information was telling me that it was missing)</li>
<li>15C, not in database, and yet no error message.</li>
</ul> Topology Manager - Feature #5729 (New): Title in firefoxhttps://forge.in2p3.fr/issues/57292014-01-03T18:58:58ZLegay EricEric.Legay@csnsm.in2p3.fr
<p>Should be great to have a real name in the firefox tab instead of <a class="external" href="http://scgw2:6095">http://scgw2:6095</a></p> DCOD - Bug #5592 (New): environment test missing in ./configurehttps://forge.in2p3.fr/issues/55922013-11-29T11:12:40ZDosme NicolasLavoisier - Feature #5558 (New): add XPath function build_xpath()https://forge.in2p3.fr/issues/55582013-11-22T14:51:40ZReynaud SylvainSylvain.Reynaud@in2p3.fr
<pre><code class="xml syntaxhl"><span class="nt"><view</span> <span class="na">name=</span><span class="s">"v"</span><span class="nt">></span>
<span class="nt"><argument</span> <span class="na">name=</span><span class="s">"site"</span><span class="nt">></span>NONE<span class="nt"></argument></span>
<span class="nt"><connector</span> <span class="na">type=</span><span class="s">"XMLConnector"</span><span class="nt">></span>
<span class="nt"><parameter</span> <span class="na">name=</span><span class="s">"content"</span><span class="nt">></span>
<span class="nt"><entry</span> <span class="na">key=</span><span class="s">"CC-IN2P3"</span><span class="nt">></span>Lyon<span class="nt"></entry></span>
<span class="nt"><entry</span> <span class="na">key=</span><span class="s">"LAPP"</span><span class="nt">></span>Annecy<span class="nt"></entry></span>
<span class="nt"><entry</span> <span class="na">key=</span><span class="s">"CERN"</span><span class="nt">></span>Geneve<span class="nt"></entry></span>
<span class="nt"></parameter></span>
<span class="nt"></connector></span>
<span class="nt"><processors></span>
<span class="c"><!-- the less flexible solution (the XPath is fixed in the view) --></span>
<span class="nt"><processor</span> <span class="na">type=</span><span class="s">"SelectProcessor"</span> <span class="na">match=</span><span class="s">"/*/*[@key=$site]"</span> <span class="na">disabled=</span><span class="s">"$site='NONE'"</span><span class="nt">/></span>
<span class="nt"></processors></span>
<span class="nt"></view></span>
<span class="c"><!-- the less efficient solution (requires a data structure to be built) --></span>
<span class="nt"><parameter</span> <span class="na">eval=</span><span class="s">"view('v')/*/*[@key=$site]"</span><span class="nt">/></span>
<span class="c"><!-- argument 'site' is evaluated by view 'v' --></span>
<span class="nt"><parameter</span> <span class="na">eval=</span><span class="s">"view('v/*/*[@key=$site]', arguments())"</span><span class="nt">/></span><span class="c"><!-- view 'v' must have <argument name="site"/> --></span>
<span class="nt"><parameter</span> <span class="na">eval=</span><span class="s">"view('v/*/*[@key=arguments()[@key=&quot;site&quot;]])]', arguments())"</span><span class="nt">/></span>
<span class="c"><!-- argument 'site' is evaluated by current view --></span>
<span class="nt"><parameter</span> <span class="na">eval=</span><span class="s">"view(concat('v/*/*[@key=',quot($site),']'))"</span><span class="nt">/></span>
<span class="nt"><parameter</span> <span class="na">eval=</span><span class="s">"view(build_xpath('v/*/*[@key={$site}'))"</span><span class="nt">/></span>
</code></pre>
<p><ins>Note</ins>: build_xpath() must disable optimizer for {match()/@id}</p> ENX - Feature #5527 (New): Named register listhttps://forge.in2p3.fr/issues/55272013-11-18T17:30:28ZLegay EricEric.Legay@csnsm.in2p3.fr
<p>It should be great to remove template-register.ads from driver files and to list the regsiter from a configuration file...</p>
<p>need to define a way to find this configuration file and some others details, but to do ...</p> DCOD - Feature #5503 (New): test ada 2012 in ./configurehttps://forge.in2p3.fr/issues/55032013-11-13T16:54:14ZDosme Nicolas
<p>We can test availability of ada 2012 features in ./configure.<br />and not wait compilation to know that the used compiler is not the good one.</p> DCOD - Bug #5462 (Feedback): Cleaning tagshttps://forge.in2p3.fr/issues/54622013-11-05T17:06:24ZLegay EricEric.Legay@csnsm.in2p3.fr
<p>It should be great to have only "readable" tags ...</p>
<p>And potentially with coherent naming <img src="/plugin_assets/redmine_wiki_extensions/images/wink.png" alt=";)"></p>
<pre>
dataserver:~/Projects/dcod/enx/tools/Driver_Generator$ hg tags
tip 901:2917b5c7fe3e
ENX-V2.6.02 860:6dccaaedecc9
last-monotone-version 770:0cdcea7b6f0b
narval.1.10.3-1 690:3555f5589824
narval-1.10.3 678:5277417ba5bb
narval-1.8.1 654:eccbdeaa2c2c
Debian 648:1c59cb36e91e
glade_to_polyorb 632:2831b9b87a1d
1.6.6-compatible 631:6e70e9f5efa6
narval-1.6.6 628:466159b15547
narval-1.6.4 production 604:afc5bd34f045
ENX-V2.6.01 578:9957d1d423c1
ENX-V2.6.00 576:d64cad49c457
ENX-V2.5 574:552bf30293d9
ENX-V2.4-AP1-Scanning 572:4358b89995ba
ENX-V2.2 570:9c55505f8ff3
ENX-V2.0 568:9a160e6544ca
ENX-V1.0 565:d26e8f3dd1cc
</pre> ENX - Bug #5447 (New): make distclean - DCODhttps://forge.in2p3.fr/issues/54472013-10-30T10:18:56ZLegay EricEric.Legay@csnsm.in2p3.fr
<p>After 'make distclean' in /docd/, some objs and libraries are not cleaned.</p>
<pre>
? enx/common/ID_Handler/libidhandler.a
? enx/common/ID_Handler/libidhandler.so
? enx/common/ID_Handler/obj_dynamic/auto.cgpr
? enx/common/ID_Handler/obj_dynamic/b__idhandler.adb
? enx/common/ID_Handler/obj_dynamic/b__idhandler.ads
? enx/common/ID_Handler/obj_dynamic/idhandler.lexch
? enx/common/ID_Handler/obj_static/auto.cgpr
? enx/common/ID_Handler/obj_static/b__idhandler.adb
? enx/common/ID_Handler/obj_static/b__idhandler.ads
? enx/common/ID_Handler/obj_static/idhandler.lexch
? enx/common/Types/libenxtypes.a
? enx/common/Types/libenxtypes.so
? enx/common/Types/obj_dynamic/auto.cgpr
? enx/common/Types/obj_dynamic/b__enxtypes.adb
? enx/common/Types/obj_dynamic/b__enxtypes.ads
? enx/common/Types/obj_dynamic/enxtypes.lexch
? enx/common/Types/obj_static/auto.cgpr
? enx/common/Types/obj_static/b__enxtypes.adb
? enx/common/Types/obj_static/b__enxtypes.ads
? enx/common/Types/obj_static/enxtypes.lexch
? enx/common/plugins/libenxplugins.a
? enx/common/plugins/libenxplugins.so
? enx/common/plugins/obj_dynamic/auto.cgpr
? enx/common/plugins/obj_dynamic/b__enxplugins.adb
? enx/common/plugins/obj_dynamic/b__enxplugins.ads
? enx/common/plugins/obj_dynamic/enxplugins.lexch
? enx/common/plugins/obj_static/auto.cgpr
? enx/common/plugins/obj_static/b__enxplugins.adb
? enx/common/plugins/obj_static/b__enxplugins.ads
? enx/common/plugins/obj_static/enxplugins.lexch
? enx/common/soap/libenxsoapclient.a
? enx/common/soap/libenxsoapclient.so
? enx/common/soap/obj_dynamic/auto.cgpr
? enx/common/soap/obj_dynamic/b__enxsoapclient.adb
? enx/common/soap/obj_dynamic/b__enxsoapclient.ads
? enx/common/soap/obj_dynamic/enxsoapclient.lexch
? enx/common/soap/obj_static/auto.cgpr
? enx/common/soap/obj_static/b__enxsoapclient.adb
? enx/common/soap/obj_static/b__enxsoapclient.ads
? enx/common/soap/obj_static/enxsoapclient.lexch
? enx/common/soap/sources
? enx/common/soap/src/client/server_xml_service-client.adb
? enx/common/soap/src/client/server_xml_service-client.ads
? enx/common/soap/src/common/server_xml_service-types.ads
? enx/common/soap/src/common/server_xml_service.ads
? enx/common/soap/src/server/server_web_enx.adb
? enx/common/soap/src/server/server_xml_service-cb.adb
? enx/common/soap/src/server/server_xml_service-cb.ads
? enx/common/soap/src/server/server_xml_service-server.adb
? enx/common/soap/src/server/server_xml_service-server.ads
? enx/common/soap/wsdl/server_xml.wsdl
? enx/server/UI/remote-console.adb.orig
? enx/server/_init.enx
? enx/server/build/x86_64/bin/remote-console
? enx/server/build/x86_64/bin/server_web_enx
? enx/server/build/x86_64/obj/b~remote-console.adb
? enx/server/build/x86_64/obj/b~remote-console.ads
? enx/server/build/x86_64/obj/b~server_web_enx.adb
? enx/server/build/x86_64/obj/b~server_web_enx.ads
? enx/server/soap/server_web_enx.adb
? enx/server/soap/server_xml.wsdl
? enx/server/soap/server_xml_service-cb.adb
? enx/server/soap/server_xml_service-cb.ads
? enx/server/soap/server_xml_service-client.adb
? enx/server/soap/server_xml_service-client.ads
? enx/server/soap/server_xml_service-server.adb
? enx/server/soap/server_xml_service-server.ads
? enx/server/soap/server_xml_service-types.ads
? enx/server/soap/server_xml_service.ads
</pre> CLASS - Feature #5377 (New): enrichment factoryhttps://forge.in2p3.fr/issues/53772013-10-21T15:15:07ZMOUGINOT Baptiste
<p>Do a fabrication plant which can build UOX fuel...</p> CLASS - Feature #5376 (New): Reactor batch creationhttps://forge.in2p3.fr/issues/53762013-10-21T15:14:08ZMOUGINOT Baptiste
<p>Create a CLASS/ or equivalent, to automatically generate the batch for the fuel loading plan (bye exemple UOX 1/3, or UOX/MOX transition...)</p> CLASS - Feature #5350 (New): Set some quality criteria on Pu when building a MOX fuelhttps://forge.in2p3.fr/issues/53502013-10-15T19:18:36ZMOUGINOT BaptisteCLASS - Feature #5329 (New): Power densityhttps://forge.in2p3.fr/issues/53292013-10-14T17:58:13ZMOUGINOT Baptiste
<p>Check power density in reactor...</p>
<p>Add power density in EvolutionData</p> ENX - Bug #5144 (Feedback): ENX + P42 regressionhttps://forge.in2p3.fr/issues/51442013-09-26T11:08:03ZGrave Xavier
<p>ENX > !create My_Device 0x0 0xff DRV_DEBUG<br /> 3191 INFO [main_task_0000000000B6DA20] ENX.Console - NO_RESULT<br />ENX > !list device<br /> 3208 INFO [main_task_0000000000B6DA20] ENX.Console - DEVICE list:<br /> - My_Device<br />ENX > <br />ENX > MD My_Device 0x0<br /> 3337 INFO [main_task_0000000000B6DA20] ENX.Console - 0x00000000 -> 0x00<br />ENX > MM My_Device 0x0 0xfadadada<br /> 3360 INFO [main_task_0000000000B6DA20] ENX.Console - OK<br />ENX > MM My_Device 0x4 0xdeadbeaf<br /> 3372 INFO [main_task_0000000000B6DA20] ENX.Console - OK<br />ENX > MD My_Device 0x0</p>
<blockquote>
<p>0xFADADADA< : Wrong kind of arguments.</p>
</blockquote>
<p>Should be a number.</p>
<pre><code>3376 ERROR [main_task_0000000000B6DA20] ENX.Console - Uncatched Exception. - P42.CONVERT.WRONG_TYPE - p42-convert-characters_2_numeric.adb:84<br />ENX > MD My_Device 0x4</code></pre>
<blockquote>
<p>0xDEADBEAF< : Wrong kind of arguments.</p>
</blockquote>
<p>Should be a number.</p>
<pre><code>3407 ERROR [main_task_0000000000B6DA20] ENX.Console - Uncatched Exception. - P42.CONVERT.WRONG_TYPE - p42-convert-characters_2_numeric.adb:84</code></pre> Lavoisier - Feature #5090 (New): add new adaptor type : <writer>https://forge.in2p3.fr/issues/50902013-09-17T15:49:22ZReynaud SylvainSylvain.Reynaud@in2p3.fr
Adaptors example:
<ul>
<li>SQLWriter</li>
<li>HTTPWriter</li>
<li>FileWriter</li>
<li>EmailWriter</li>
</ul>
<p>Usage example:<br /><pre><code class="xml syntaxhl"><span class="nt"><view</span> <span class="na">name=</span><span class="s">"ldap-to-sql"</span><span class="nt">></span>
<span class="nt"><connector</span> <span class="na">type=</span><span class="s">"LDAPConnector"</span><span class="nt">/></span>
<span class="nt"><writer</span> <span class="na">type=</span><span class="s">"SQLWriter"</span> <span class="na">match=</span><span class="s">"/o/cn[@id='fr']/ou[@id='in2p3']/dn"</span>
<span class="na">recovery-base-directory=</span><span class="s">"$TMP/recovery"</span> <span class="na">recovery-period=</span><span class="s">"PT1M"</span><span class="nt">></span>
<span class="nt"><parameter</span> <span class="na">name=</span><span class="s">"url"</span><span class="nt">></span>jdbc:...<span class="nt"></parameter></span>
<span class="nt"><parameter</span> <span class="na">name=</span><span class="s">"query"</span><span class="nt">></span>INSERT INTO my_table (?,?)<span class="nt"></parameter></span>
<span class="nt"><parameter</span> <span class="na">name=</span><span class="s">"parameters"</span><span class="nt">></span>
<span class="nt"><entry</span> <span class="na">eval=</span><span class="s">"@id"</span><span class="nt">/></span>
<span class="nt"><entry</span> <span class="na">eval=</span><span class="s">"ancestor::cn/@id"</span><span class="nt">/></span>
<span class="nt"></parameter></span>
<span class="nt"><trigger</span> <span class="na">type=</span><span class="s">"DeltaTimeTrigger"</span><span class="nt">></span>
<span class="nt"><parameter</span> <span class="na">name=</span><span class="s">"hours"</span><span class="nt">></span>1<span class="nt"></parameter></span>
<span class="nt"></trigger></span>
<span class="nt"></writer></span>
<span class="nt"></view></span>
</code></pre></p>
<p>Interface:<br /><pre><code class="java syntaxhl"><span class="kd">public</span> <span class="kd">interface</span> <span class="nc">Writer</span> <span class="kd">extends</span> <span class="nc">Adaptor</span> <span class="o">{</span>
<span class="cm">/**
* @return the list of exceptions caused by bad configuration (event will not be retried).
*/</span>
<span class="kd">public</span> <span class="nc">Exception</span><span class="o">[]</span> <span class="nf">getConfigurationExceptions</span><span class="o">();</span>
<span class="cm">/**
* A resource can be for example: a connection to database, an URL to an AVAILABLE web service, a pointer to file...
* @throws ResourceAlreadyOpened if resource was already opened.
* @return true if opening resource is successful, else false.
*/</span>
<span class="kd">public</span> <span class="kt">boolean</span> <span class="nf">openResource</span><span class="o">()</span> <span class="kd">throws</span> <span class="nc">ResourceAlreadyOpened</span><span class="o">;</span>
<span class="kd">public</span> <span class="kt">void</span> <span class="nf">closeResource</span><span class="o">();</span>
<span class="o">}</span>
</code></pre></p>
<p>Algorithm:<br /><pre><code class="java syntaxhl"><span class="kd">public</span> <span class="kd">class</span> <span class="nc">WriterLink</span> <span class="o">{</span>
<span class="kd">private</span> <span class="nc">File</span> <span class="n">m_base_directory</span><span class="o">;</span>
<span class="kd">private</span> <span class="nc">Duration</span> <span class="n">m_retry_period</span><span class="o">;</span>
<span class="kd">private</span> <span class="nc">EventStore</span> <span class="n">m_unrecoverable</span><span class="o">;</span>
<span class="kd">private</span> <span class="nc">EventStore</span> <span class="n">m_recoverable</span><span class="o">;</span>
<span class="kd">private</span> <span class="nc">Writer</span> <span class="n">m_writer</span><span class="o">;</span>
<span class="kd">private</span> <span class="nc">Set</span><span class="o"><</span><span class="nc">Exception</span><span class="o">></span> <span class="n">m_configuration_exceptions</span><span class="o">;</span>
<span class="kd">public</span> <span class="nf">WriterLink</span><span class="o">()</span> <span class="o">{</span>
<span class="n">m_configuration_exceptions</span> <span class="o">=</span> <span class="k">new</span> <span class="nc">HashSet</span><span class="o"><</span><span class="nc">Exception</span><span class="o">>();</span>
<span class="n">m_configuration_exceptions</span><span class="o">.</span><span class="na">addAll</span><span class="o">(</span><span class="nc">Arrays</span><span class="o">.</span><span class="na">asList</span><span class="o">(</span><span class="n">m_writer</span><span class="o">.</span><span class="na">getConfigurationExceptions</span><span class="o">()));</span>
<span class="o">}</span>
<span class="kd">public</span> <span class="kt">void</span> <span class="nf">write</span><span class="o">(</span><span class="nc">Xml</span> <span class="n">view</span><span class="o">)</span> <span class="o">{</span>
<span class="nc">EventReader</span> <span class="n">input</span> <span class="o">=</span> <span class="k">new</span> <span class="nc">EventReader</span><span class="o">(</span><span class="n">view</span><span class="o">);</span>
<span class="n">m_unrecoverable</span> <span class="o">=</span> <span class="k">new</span> <span class="nc">EventStore</span><span class="o">(</span><span class="n">m_viewId</span><span class="o">);</span>
<span class="n">m_unrecoverable</span><span class="o">.</span><span class="na">write</span><span class="o">(</span><span class="nc">StartElement</span><span class="o">(</span><span class="s">"root"</span><span class="o">));</span>
<span class="k">while</span><span class="o">(!</span><span class="n">input</span><span class="o">.</span><span class="na">isEmpty</span><span class="o">()</span> <span class="o">&&</span> <span class="o">!</span><span class="n">isTriggered</span><span class="o">)</span> <span class="o">{</span>
<span class="nl">label:</span> <span class="k">while</span><span class="o">(!</span><span class="n">isTriggered</span><span class="o">)</span> <span class="o">{</span>
<span class="k">switch</span> <span class="o">(</span><span class="n">m_writer</span><span class="o">.</span><span class="na">openResource</span><span class="o">())</span> <span class="o">{</span>
<span class="k">case</span> <span class="nl">WAS_ALREADY_OPENED:</span>
<span class="nc">Thread</span><span class="o">.</span><span class="na">sleep</span><span class="o">(</span><span class="n">m_retry_period</span><span class="o">);</span>
<span class="k">break</span> <span class="n">label</span><span class="o">;</span>
<span class="k">case</span> <span class="nl">IS_OPENED:</span>
<span class="k">break</span> <span class="n">label</span><span class="o">;</span>
<span class="k">case</span> <span class="nl">IS_CLOSED:</span>
<span class="nc">Thread</span><span class="o">.</span><span class="na">sleep</span><span class="o">(</span><span class="n">m_retry_period</span><span class="o">);</span>
<span class="k">break</span><span class="o">;</span>
<span class="o">}</span>
<span class="o">}</span>
<span class="n">m_recoverable</span> <span class="o">=</span> <span class="k">new</span> <span class="nc">EventStore</span><span class="o">(</span><span class="n">m_viewId</span><span class="o">);</span>
<span class="k">try</span> <span class="o">{</span>
<span class="k">for</span> <span class="o">(</span><span class="n">event</span> <span class="o">:</span> <span class="n">input</span><span class="o">.</span><span class="na">getEvents</span><span class="o">())</span> <span class="o">{</span>
<span class="k">switch</span><span class="o">(</span><span class="n">event</span><span class="o">.</span><span class="na">getState</span><span class="o">())</span> <span class="o">{</span>
<span class="k">case</span> <span class="nl">UNSELECTED:</span>
<span class="n">m_recoverable</span><span class="o">.</span><span class="na">write</span><span class="o">(</span><span class="n">event</span><span class="o">);</span>
<span class="k">break</span><span class="o">;</span>
<span class="k">case</span> <span class="nl">SELECTED:</span>
<span class="k">this</span><span class="o">.</span><span class="na">write</span><span class="o">(</span><span class="n">event</span><span class="o">.</span><span class="na">getCurrent</span><span class="o">());</span>
<span class="k">break</span><span class="o">;</span>
<span class="k">case</span> <span class="nl">DESCENDANT_OF_SELECTED:</span>
<span class="k">break</span><span class="o">;</span>
<span class="o">}</span>
<span class="o">}</span>
<span class="o">}</span> <span class="k">catch</span> <span class="o">(</span><span class="nc">ResourceClosedException</span> <span class="n">e</span><span class="o">)</span> <span class="o">{</span>
<span class="k">for</span> <span class="o">(</span><span class="n">event</span> <span class="o">:</span> <span class="n">input</span><span class="o">.</span><span class="na">getEvents</span><span class="o">())</span> <span class="o">{</span>
<span class="n">m_recoverable</span><span class="o">.</span><span class="na">write</span><span class="o">(</span><span class="n">event</span><span class="o">);</span>
<span class="o">}</span>
<span class="o">}</span>
<span class="n">m_recoverable</span><span class="o">.</span><span class="na">close</span><span class="o">();</span> <span class="c1">// remove the file if if contains no event</span>
<span class="n">m_recoverable</span><span class="o">.</span><span class="na">moveTo</span><span class="o">(</span><span class="n">input</span><span class="o">);</span>
<span class="o">}</span>
<span class="n">m_writer</span><span class="o">.</span><span class="na">close</span><span class="o">();</span>
<span class="n">m_unrecoverable</span><span class="o">.</span><span class="na">write</span><span class="o">(</span><span class="nc">EndElement</span><span class="o">(</span><span class="s">"root"</span><span class="o">));</span>
<span class="n">m_unrecoverable</span><span class="o">.</span><span class="na">close</span><span class="o">();</span> <span class="c1">// remove the file if it contains no event</span>
<span class="o">}</span>
<span class="kd">public</span> <span class="kt">void</span> <span class="nf">write</span><span class="o">(</span><span class="nc">Element</span> <span class="n">current</span><span class="o">)</span> <span class="kd">throws</span> <span class="nc">ResourceClosedException</span> <span class="o">{</span>
<span class="k">try</span> <span class="o">{</span>
<span class="n">m_writer</span><span class="o">.</span><span class="na">write</span><span class="o">(</span><span class="n">current</span><span class="o">);</span>
<span class="o">}</span> <span class="k">catch</span> <span class="o">(</span><span class="nc">Exception</span> <span class="n">e</span><span class="o">)</span> <span class="o">{</span>
<span class="k">if</span> <span class="o">(</span><span class="n">m_configuration_exceptions</span><span class="o">.</span><span class="na">contains</span><span class="o">(</span><span class="n">e</span><span class="o">))</span> <span class="o">{</span>
<span class="n">m_unrecoverable</span><span class="o">.</span><span class="na">write</span><span class="o">(</span><span class="n">current</span><span class="o">);</span>
<span class="o">}</span> <span class="k">else</span> <span class="o">{</span>
<span class="k">switch</span> <span class="o">(</span><span class="n">m_writer</span><span class="o">.</span><span class="na">openResource</span><span class="o">())</span> <span class="o">{</span>
<span class="k">case</span> <span class="nl">WAS_ALREADY_OPENED:</span>
<span class="n">m_recoverable</span><span class="o">.</span><span class="na">write</span><span class="o">(</span><span class="n">current</span><span class="o">);</span>
<span class="k">break</span><span class="o">;</span>
<span class="k">case</span> <span class="nl">IS_OPENED:</span>
<span class="k">try</span> <span class="o">{</span>
<span class="n">m_writer</span><span class="o">.</span><span class="na">write</span><span class="o">(</span><span class="n">current</span><span class="o">);</span>
<span class="o">}</span> <span class="k">catch</span> <span class="o">(</span><span class="nc">Exception</span> <span class="n">e</span><span class="o">)</span> <span class="o">{</span>
<span class="n">m_recoverable</span><span class="o">.</span><span class="na">write</span><span class="o">(</span><span class="n">current</span><span class="o">);</span>
<span class="o">}</span>
<span class="k">break</span><span class="o">;</span>
<span class="k">case</span> <span class="nl">IS_CLOSED:</span>
<span class="k">throw</span> <span class="k">new</span> <span class="nf">ResourceClosedException</span><span class="o">();</span>
<span class="o">}</span>
<span class="o">}</span>
<span class="o">}</span>
<span class="o">}</span>
<span class="o">}</span>
</code></pre></p> Lavoisier - Feature #5009 (New): ICalRendererhttps://forge.in2p3.fr/issues/50092013-09-12T10:46:56ZReynaud SylvainSylvain.Reynaud@in2p3.frLavoisier - Feature #5008 (New): ICalSerializerhttps://forge.in2p3.fr/issues/50082013-09-12T10:44:37ZReynaud SylvainSylvain.Reynaud@in2p3.frLavoisier - Feature #4934 (New): implement some additional cache adaptorshttps://forge.in2p3.fr/issues/49342013-08-26T17:13:59ZReynaud SylvainSylvain.Reynaud@in2p3.fr
Technologies to be considered are:
<ul>
<li>in-memory cache (DOM, DOM4J or recorded stream of XML events)</li>
<li>on-disk serialized DOM tree or recorded stream of XML events</li>
<li>native XML database</li>
<li>relational database</li>
<li>no-SQL dataabse (e.g. MongoDB)</li>
</ul> Lavoisier - Feature #4906 (New): XPath2SQLTemplate : add support for SQL functionshttps://forge.in2p3.fr/issues/49062013-08-16T11:13:25ZReynaud SylvainSylvain.Reynaud@in2p3.fr
<pre>
http://host:8080/lavoisier/database/dept:*[sql:contains(dno,'DR')]
</pre> Lavoisier - Feature #4905 (New): XPath2SQLTemplate : add support for XPath functionshttps://forge.in2p3.fr/issues/49052013-08-16T11:10:47ZReynaud SylvainSylvain.Reynaud@in2p3.fr
<pre>
http://host:8080/lavoisier/database/dept:*[starts-with(dno,'DR')]
</pre> ENX - Bug #3834 (New): Removing data8 type for MM and MDhttps://forge.in2p3.fr/issues/38342013-01-17T18:08:22ZLegay EricEric.Legay@csnsm.in2p3.fr
<p>Finding something to replace it ....</p> Smurf - Bug #3673 (Feedback): gestion des options de smupdatehttps://forge.in2p3.fr/issues/36732012-12-19T10:57:40ZCanehan Xavier
<p>Le parsing des options de smupdate est trop zélé :</p>
<p>% smupdate -set comment='vierge, donnee au LPNHE' ccdcacsn1{18..23}<br />FATAL: no affectation specified for donnee au LPNHE. Use '--unset donnee au LPNHE' instead if you want to set it to (SQL)NULL</p>
<p>L'éclatement sur la virgule se fait aussi dans un bloc protégé.</p> LC2 - Bug #2373 (Assigned): Test of responsivityhttps://forge.in2p3.fr/issues/23732011-12-20T15:49:06ZLafage Vincentlafage@ipno.in2p3.fr
<p>Simple</p> Pipelet - Bug #1566 (New): Bug daemon cherrypy on Macintoshhttps://forge.in2p3.fr/issues/15662011-04-15T17:53:52ZLe Jeune Maudelejeune@apc.in2p3.fr
<p>Check where the bug come from, if not to low level do something, or warn the user.</p> LC2 - Bug #1253 (Assigned): use / harden checks of getlinehttps://forge.in2p3.fr/issues/12532011-01-17T13:32:58ZLafage Vincentlafage@ipno.in2p3.fr
<p>2010-09-15T12:32:38+0200<br />we have 4 cases of<br /><pre>
warning: unused variable ‘isReadingCorrect’
</pre></p>
<p>that could be further exploited.</p>
<pre>
src/CrocusConfig.cxx: In ScanFromResult?(std::istream&, Crocus::ui32&)
src/CrocusConfig.cxx:280:8:
src/CrocusConfig.cxx: In ScanFromFeC2 (const std::string&)
src/CrocusConfig.cxx:648:12:
src/CrocusConfig.cxx: In ReadPedestalConfig? (const std::string&, double)
src/CrocusConfig.cxx:840:10:
src/CrocusConfig.cxx:848:10:
int llPatchBus1 = -1;
in.get (first);
while (first == '/') {
bool isReadingCorrect = getline (in, getstr);
in.get (first);
}
in.unget();
while (!in.eof ()) {
in >> Bus_Patch_Abs >> Manu_Id >> Channel >> Mean >> Sigma;
if (in.eof ()) break;
bool isReadingCorrect = getline (in, getstr);
</pre><br />Further case are not exploited:<br /><pre>
source/config/src/utilities.cxx: isReadingCorrect = getline (stream, line);
source/config/src/utilities.cxx: isReadingCorrect = getline (stream, line);
source/gui1/src/ListView.cxx://[VLA]// in.getline (line, 120);
source/version/src/CrocusVerHeaderFile.cxx: in.getline (line, 120);
</pre>
<p>... and should be !</p> LC2 - Bug #1252 (Assigned): What is the proper Parsing Algorithm?https://forge.in2p3.fr/issues/12522011-01-17T11:34:39ZLafage Vincentlafage@ipno.in2p3.fr
<p>2010-09-15T01:02:01+0200In<br />bool FrtCrtConfig::ScanFromResult(std::istream& stream, ui32& key)</p>
<p>the following code block lead to rejection of a seemingly well formed result file:<br /><pre>
// If event padder, read dataKey
if ( payLoadLength % 2 == 1 ) {
result = ReadNextValue(dataKey, stream);
if ( ! result ) return false;
}
</pre></p>
<p>payLoadLength was 75=0000000x4b<br />instead of 0x00000032 for a good case</p> LC2 - Bug #1235 (Assigned): shared-lib-calls-exithttps://forge.in2p3.fr/issues/12352011-01-12T00:47:28ZLafage Vincentlafage@ipno.in2p3.fr
<p>2010-09-13T04:23:04+0200<br /><pre>
/opt/daq-MCH/LC2/lib/libLC2config.so
/opt/daq-MCH/LC2/lib/libLC2version.so
</pre></p>
<p>These library packages calls exit() or _exit(), probably in a non-fork() context. Doing so from a library is strongly discouraged - when a library function calls exit(), it prevents the calling program from handling the error, reporting it to the user, closing files properly, and cleaning up any state that the program has. It is preferred for the library to return an actual error code and let the calling program decide how to handle the situation.</p>
<p>The concerned classes are:<br /><pre>
LC2/source/version/src/CError.cxx
LC2/source/config/src/FrtCrtConfig.cxx
LC2/source/config/src/utilities.cxx
</pre></p> Oval - Bug #1082 (New): NO DIFFhttps://forge.in2p3.fr/issues/10822010-11-16T11:38:30ZChamont David
<p>When "oval log" displays "NO DIFF", it is not easy for the newcomer to distinguish between "there is no difference" or "the diff command has not been applied". We should investigate how to make it more clear.</p> SphereLib - Bug #938 (New): Construction icosahedronhttps://forge.in2p3.fr/issues/9382010-09-29T11:32:48ZLe Jeune Maudelejeune@apc.in2p3.fr
<p>Utiliser le module fortran pour la compilation de icosahedron.f</p> Oval - Bug #28 (New): "oval validate" should remove differences in "oval log"https://forge.in2p3.fr/issues/282009-02-16T19:01:54ZChamont David
<p>As said in the title...</p> Oval - Bug #27 (New): Some commands should not require a current valid directoryhttps://forge.in2p3.fr/issues/272009-02-16T18:51:50ZChamont David
<p>For example, in a scram configuration, one should be able to type "oval version" and have a valid output, even if he is not within a valid scram project.</p> Oval - Bug #26 (New): Commands options not well propagated, when declared within an OvalFilehttps://forge.in2p3.fr/issues/262009-02-16T18:50:15ZChamont David
<p>Intro: so to ensure user interface and commands consistency, each single feature is implemented in a single command, and when a command needs another command feature, it is internally instanciating this command and use it. Behind this nice concept, since the internal command is not instanciated in the same way as the main command, we must propagate to it some "fake command line" options, and fakely calls its functions, as would do the main oval framework with the top level command. This fake calls are not done automatically, but case by case and "by hand" by the top command. This is why there could be and there is some<br />errors or awkward situation.</p>
<p>The general bug: in the current implementation, when a commmand option is set within an OvalFile, it is not<br />correctly propagated to the internals commands.</p>
<p>Example: if I set "-sh" for the runtime command, it will not be propagated to "environnement" command, and the<br />resulting output will be a mix of csh and sh commands.</p>
<p>Solution: review the use of internal commands, and the way they are managed, so that they are in the same state if they are instanciated as user commands or as internal commands.</p> Oval - Bug #25 (New): Temporary files after a crashhttps://forge.in2p3.fr/issues/252009-02-16T18:46:14ZChamont David
<p>If an oval process is killed or crashes, we should check if the temporary files remain in the current directory or not, which may confuse subsequent oval runs.</p> Oval - Bug #22 (New): Deliver messages when ISA failshttps://forge.in2p3.fr/issues/222009-02-16T18:22:12ZChamont David
<p>When there is a perl failure, for example when ISA fails because perl does not find the relevant base package, it would be nice if oval could catch the event and deliver the defered messages before exiting.</p>