Known problems, bugs, and limitations
If you find a bug or a problem not described here, please take the time to fill and submit a bug report. You may also send an email message to support@logtalk.org.
Version 2.31.6
Version 2.31.5
- A Logtalk runtime bug in the :/1 control construct prevents calling a predicate defined in a category extended by a category that is imported by the object making the call.
- A Logtalk compiler bug prevents the use of alias/3 predicate directives within a category that extends other categories.
- A Logtalk compiler bug results in wrong code being generated when compiling a class that imports a category that extends other categories.
Version 2.31.4
- A bug in the built-in predicate threaded/1 may lead to incorrect compilation of its argument.
- A Logtalk compiler bug allows a predicate to be declared both dynamic and synchronized.
- A Logtalk compiler bug results in the generation of local definition clauses for dynamic predicates for categories.
- A bug in the SWI-Prolog config file in the declaration of the proprietary built-in meta-predicate "soft cut" prevents using this predicate within objects and categories.
- A bug in the library object "lgtunit" when running "throws" tests may lead to wrong results.
Version 2.31.3
- A bug in the implementation of competitive or-parallelism calls can result in premature failures with individual calls still pending. Corrected in version 2.31.4.
- A bug in the implementation of competitive or-parallelism calls can result in successful calls when when all the individual calls had failed. Corrected in version 2.31.4.
- A bug in the implementation of the predicate lookup/3 in the library object "bintree" results in failed tree lookups. Corrected in version 2.31.4.
- A bug in the implementation of the bisection algorithm in the multi-threading example "functions" may result in an endless loop. Corrected in version 2.31.4.
Version 2.31.2
- The Quintus Prolog integration scripts are broken due to this compiler lack of support for expanding environment variables in filenames. A workaround for this problem (tested on Windows) is included in version 2.31.3.
Version 2.31.1
Version 2.31.0
Version 2.30.8
Version 2.30.7
- A bug in the compilation of synchronized predicates breaks Logtalk on single-threaded Prolog compilers. Corrected in version 2.30.8.
Version 2.30.6
- A bug in the compilation of synchronized predicates breaks Logtalk on single-threaded Prolog compilers. Corrected in version 2.30.8.
Version 2.30.5
- Compilation of synchronized predicates on Prolog compilers implementing immediate update semantics (instead of logical update semantics) leads to an infinite loop. Corrected in version 2.30.6.
Version 2.30.4
- Calls to the
threaded_exit/1
and threaded_peek/1
built-in predicates may block the calling thread indefinitely when the argument is subsumed by the original argument in the threaded_call/1
and threaded_once/1
calls instead of being a variant. Corrected in version 2.30.5.
- A bug in the library object "lgtunit" may result in failed tests. Corrected in version 2.30.5.
Version 2.30.3
Version 2.30.2
- The multi-threading built-in predicate
threaded_exit/1
may fail to ensure that all alternative solutions come from the same computing thread. Corrected in version 2.30.3.
Version 2.30.1
- A bug in the implementation of the multi-threading built-in predicate
threaded_ignore/1
results in a deadlock for the calling thread. Corrected in version 2.30.2.
Version 2.30.0
Version 2.29.5
- A bug in the compilation of dynamic predicates can prevent the use of the
clause/2
built-in database method. Corrected in version 2.30.0.
- A bug when using the Logtalk built-in database method clause/2 with entities compiled in debug mode. Corrected in version 2.30.0.
- A bug in the Logtalk implementation of the built-in predicates
abolish_object/1
, abolish_protocol/1
, and abolish_category/1
prevents abolishing of dynamic entities loaded from a source file. Corrected in version 2.30.0.
- A bug in the SWI-Prolog config file prevents the use of alternative compilation directories (i.e. turning on the
altdirs
compiler flag). Corrected in version 2.30.0.
- A bug in the SWI-Prolog config file can prevent
make/0
from recompiling and reloading modified Logtalk source files. Corrected in version 2.30.0.
- The SWI-Prolog integration script,
swilgt.sh
, may fail to detect the compiler executable name. Improved in version 2.30.0.
Version 2.29.4
- The built-in debugger fails to properly process actions at a port that implies reading a port action again (e.g. print exception term, print debugging status, and help options). Corrected in version 2.29.5.
- A bug when compiling entities containing synchronization directives on single-threaded Prolog configurations results in runtime errors. Corrected in version 2.29.5.
Version 2.29.3
- A ordering bug on the entity initialization goal results in errors when trying to run an object initialization goal that makes use of the object thread. Corrected in version 2.29.4.
- A bug when asserting rules into an object's database results in only the first asserted rule being visible when calling the predicate through message sending. Corrected in version 2.29.4.
- A bug in the compilation of dynamic entities (defined in source files using the dynamic/0 directive) results in declared predicates being wrongly compiled as static instead of dynamic. Corrected in version 2.29.4.
Version 2.29.2
- A bug in the Logtalk compiler optimizer code results in some declaration and definition catchall clauses being wrongly discarded. This results in runtime errors when using the Logtalk built-in database methods when there is no initial declaration and definition for the referenced dynamic predicates. Corrected in version 2.29.3.
- A bug in the compilation of empty, standalone protocols and categories results in runtime errors when sending messages to an object implementing such a protocol or importing such a category. Corrected in version 2.29.3.
Version 2.29.1
- A bug in the creation of dynamic entities using the built-in predicates
create_object/4
, create_category/4
, and create_protocol/3
results in a runtime error. Corrected in version 2.29.2.
- A bug when reloading source files defining threaded objects results in a loading error. Corrected in version 2.29.2.
- A bug in the implementation of the built-in predicate
threaded_peek/1
prevented alternative solutions from being retrieved using the built-in predicate threaded_exit/1
. Corrected in version 2.29.2.
Version 2.29.0
- A bug in the Logtalk compiler may result in the wrong line number being reported when printing a compilation warning or error message. Corrected in version 2.29.1.
- A bug in the
logtalk.spec
file makes the default value for the LOGTALKUSER environment variable specific for the user doing the RPM installation. Corrected in version 2.29.1.
- A bug when using partial lists with the predicates
nth0/3-4
and nth1/3-4
provided by the list
library object may result in out of stack errors. Corrected in version 2.29.1.
Version 2.28.2
- A bug in the built-in method
predicate_property/2
may result in some predicate properties may being returned when enumerating properties using backtracking. Corrected in version 2.29.0.
- A bug in the compilation of empty classes that are not instances of a metaclass can result on unexpected exceptions at runtime. Corrected in version 2.29.0.
- Threaded calls fail when using as initialization goals on threaded objects. Corrected in version 2.29.0.
- An elusive bug in the Logtalk compiler may result in a source file containing a syntax error not being properly closed. Corrected in version 2.29.0.
- A bug in the implementation of the built-in methods
retract/1
and retractall/1
may could result in unexpected exceptions. Corrected in version 2.29.0.
- An elusive bug in the definition of predicate
'$lgt_directory_exists'/1
on the config file of SWI-Prolog may result in "library not found" errors when loading Logtalk source files from within the SWI-Prolog initialization file.
- The specification of the
copyright
tag is missing from the Logtalk DTD file. Corrected in version 2.29.0.
- A bug in the
lgt2*.js
scripts resulted in the custom.ent
file was not copied when generating (X)HTML and PDF files. Corrected in version 2.29.0.
Version 2.28.1
- A compiler bug results in unknown entities not being reported when compiling a source file whenever an entity with the same name but of a different type is already known. Corrected in version 2.28.2.
Version 2.28.0
- A typo on the
logtalk.dtd
file prevents validation of XML documenting files that use a local reference to the DTD. Corrected in version 2.28.1.
Version 2.27.1
- A bug in the compilation of user meta-predicates allows illegal calls to non-public predicates on the caller object to be made from the object defining the meta-predicates. Corrected in version 2.28.0.
- A bug in the built-in predicates
abolish_object/1
, abolish_protocol/1
, and abolish_category/1
results in some clauses not being retracted when an object is abolished. Corrected in version 2.28.0.
- A compiler bug (introduced in version 2.27.1) may prevent correct processing of user term_expansion/2 predicate definitions. Corrected in version 2.28.0.
- A compiler bug prevents the correct compilation of redefined built-in predicates with no clauses. Corrected in version 2.28.0.
Version 2.27.0
- A bug in the built-in predicates
abolish_object/1
, abolish_protocol/1
, and abolish_category/1
results in some clauses not being retracted when an object is abolished. Corrected in version 2.28.0.
Version 2.26.2
- A bug on the implementation of the built-in predicate
create_category/4
prevents the dynamic creation of new categories. Corrected in version 2.27.0.
- A bug in the reporting of singleton variables results in inaccurate warning messages for facts and grammar rules. Corrected in version 2.27.0.
- A bug exists in passing the correct calling context (this) when processing meta-calls in objects. Corrected in version 2.27.0.
- A bug exists in scope checking with local calls to reflection and database methods. Corrected in version 2.27.0.
- A bug exists in the code that checks the validity of the arguments of the
op/3
directive appearing inside entities. Corrected in version 2.27.0.
- The config file for Bin Prolog is missing a defintion for the ISO Prolog predicate
open/4
. Corrected in version 2.27.0.
- A bug on B-Prolog prevents the ISO Prolog predicate
number_codes/2
of being recognized as a built-predicate. A workaround is provided in version 2.27.0.
- The experimental protocol on file
library/systemp.lgt
may prevent successful compilation of library entities using the loader file all_loader.lgt
on some Prolog compilers. Corrected in version 2.27.0.
Version 2.26.1
- A bug on the implementation of the built-in method
phrase/2-3
results in wrong results for negated grammar rule bodies. Corrected in version 2.26.2.
- A typo on source file of the
metapredicates
example prevents its compilation. Corrected in version 2.26.2.
Version 2.26.0
Version 2.25.3
- When compiling a source file, the generated Prolog file might not be properly closed if a compilation error occurs. Corrected in version 2.26.0.
- A a bug on the Logtalk built-in debugger on the processing of the abort option at a leashed port results in the option being ignored instead of aborting the debugging session. Corrected in version 2.26.0.
- A bug on the
gplgt
shell script generated by the make_gplgt.sh
shell script results on the value of the LOGTALKHOME
environment variable not being retrieved at runtime. Corrected in version 2.26.0.
- A bug on the implementation of the built-in method abolish/1 prevents abolishing of dynamic predicates with arity zero. Corrected in version 2.26.0.
Version 2.25.2
Version 2.25.1
- A bug on the
lgt_install.sh
and make*lgt.sh
shell scripts results on an execution error when no explicit installation prefix is given. Corrected in version 2.25.2.
- A bug on the
makeall_lgt.sh
shell script results in failure to properly detect unsuccessful completion of individual Prolog integration scripts. Corrected in version 2.25.2.
Version 2.25.0
- A bug on the
lgtxml.xsl
XSLT file, used to process XML documenting files, results in links to related files pointing to .html
files instead of .xml
files. Corrected in version 2.25.1.
Version 2.24.0
Version 2.23.1
- A bug in the implementation of the built-in database methods
asserta/1
and assertz/1
prevents facts from being asserted on objects compiled in debug mode. Corrected in version 2.24.0.
- A bug in the method
leash/1
of the built-in pseudo-object debugger
prevents using an empty list as a valid argument. Corrected in version 2.24.0.
- A bug in the header of the generated XML documenting files when using the XML Schema specification (
logtalk.xsd
) can prevent validation when the compiler flag doctype
set to web
. Corrected in version 2.24.0.
- A bug in the
lgt2html.*
, lgt2pdf.*
, and cplgtdirs.sh
shell scripts may result in failed transformations whenever the LOGTALKHOME
and LOGTALKUSER
environment variables or the output directory contains spaces or accented characters. Corrected in version 2.24.0.
- Corrected a compilation bug where Prolog clauses written outside entities on source metafiles would have their order reversed. Simplified splitting of source metafiles. Corrected in version 2.24.0.
- Corrected a compilation bug where Prolog clauses written before an entity opening directive would not be copied to the generated Prolog file. Corrected in version 2.24.0.
- A bug on the
roots
example in the object class
results in failure to properly test the validity of new object identifiers. Corrected in version 2.24.0.
- A bug in the syntax coloring file for the Vim text editor leads to an error message the first time a Logtalk source file is open. Corrected in version 2.24.0.
Version 2.23.0
- The lookup caches are cleaned only after loading a redefined entity, which could lead to potential problems with an entity initialization goal when it contains message sending calls. Corrected in version 2.23.1.
- There is a potential compatibility problem with the "birds" example due to the use of an operator not available in some Prolog compilers. Corrected in version 2.23.1.
- When reloading an object, its tables of dynamic predicate declarations and dynamic predicate definitions are not being reseted. Corrected in version 2.23.1.
Version 2.22.5
- A bug on the implementation of the built-in methods
asserta/1
and assertz/1
that prevented asserting of rules. Corrected in version 2.23.0.
- A bug on the implementation of built-in methods
retractall/1
, retract/1
, and clause/2
allows access to local dynamic predicates from outside the container object. Corrected in version 2.23.0.
Version 2.22.4
- Some call patterns of the built-in predicate
define_events/5
can result on spurious backtracking. Corrected in version 2.22.5.
- Abolishing dynamic entities containing
alias/3
directives fails to abolishes the entity clauses implementing this directive. Corrected in version 2.22.5.
- This version contains a performance bug with the code generated by the compilation of calls to built-in predicates from objects and categories. Corrected in version 2.22.5.
- The config file for K-Prolog is broken. Corrected in version 2.22.5.
Version 2.22.3
- A compiler bug in the code that checks for redefined parametric objects results in no warning being printed for these cases. Corrected in version 2.22.4.
- A bug in the built-in predicate
abolish_category/1
resulted in import relation clauses between the category being abolished and other categories not being deleted. Corrected in version 2.22.4.
Version 2.22.2
- A bug on the implementation of alternative compilation directories results in a failure the first time the
logtalk_compile/1-2
or logtalk_load/1-2
predicates are used for a given file or library. Corrected in version 2.22.3.
- A bug in the built-in methods
asserta/1
and assertz/1
when asserting facts into an object being debugged results in wrong execution context information being printed when tracing calls to the asserted facts. Corrected in version 2.22.3.
- A bug in the built-in methods
asserta/1
and assertz/1
when asserting rules into an object being debugged results in rule bodies compiled with no information being printed for the rule head when tracing calls to the asserted rules. Corrected in version 2.22.3.
- A bug in the dynamic creation of objects, protocols, and categories when the debug flag is on results in the table of entities being debugged not being updated. Corrected in version 2.22.3.
- A bug in the handling of exceptions thrown when using the built-in debugger results in exceptions always being turned into failures. Corrected in version 2.22.3.
Version 2.22.1
- Calling the
predicate_property/2
built-in method with the second argument instantiated to the alias/1
property always fails. Corrected in version 2.22.2.
Version 2.22.0
- A Windows Scripting Host bug may result in broken shortcuts when using the
misc/lgt_install.js
JScript script for installing Logtalk. A workaround for this problem is provided in version 2.22.1.
Version 2.21.6
- A bug in the code that checks for file existence when compiling or loading source files and source metafiles has been corrected in version 2.22.0.
Version 2.21.5
Version 2.21.4
Version 2.21.3
- A bug in the definition of the predicate
repeat/1
on the new "benchmarks" example leads to wrong timings. Corrected in version 2.21.4.
Version 2.21.2
- A bug in the compilation of message sending results in a small performance loss. Corrected in version 2.21.3.
Version 2.21.1
Version 2.21.0
- A bug in the expansion of
\+/1
in grammar rule bodies results in wrong clauses. Corrected in version 2.21.1.
- A bug in the implementation of the built-in method
clause/2
prevents access to clauses of local dynamic predicates. Corrected in version 2.21.1.
Version 2.20.2
- Compiling source metafiles containing parametric entities does not work. Corrected in version 2.21.0.
Version 2.20.1
- Some source files are missing from the "errors" example. Corrected in version 2.20.2.
Version 2.20.0
- This version shipped with the wrong versions of the Windows JScript scripts
lgt2pdf.js
and lgt2html.js
. Corrected in version 2.20.1.
- The encoding attribute of the
xsl:output
tag is missing from the lgtxml.xsl
, lgthtml.xsl
, and lgtxhtml.xsl
files. Corrected in version 2.20.1.
Version 2.19.1
- The extension for source metafiles is missing from the SWI-Prolog hook file. Corrected in version 2.20.0.
- The
lgtxhtml.xsl
XSLT file contains a wrong reference to the Logtalk CSS file in the xml-stylesheet
tag. Corrected in version 2.20.0.
Version 2.19.0
- Compiler options are not used when compiling source metafiles. Corrected in version 2.19.1.
- Reloading entities which depend on other, not yet loaded, entities results in a compilation error. Corrected in version 2.19.1.
Version 2.18.0
- Reloading entities which depend on other, not yet loaded, entities results in a compilation error. Corrected in version 2.19.1.
Version 2.17.2
- The config file for XSB 2.6 is broken. Corrected in version 2.18.0.
- Reloading entities which depend on other, not yet loaded, entities results in a compilation error. Corrected in version 2.19.1.
Version 2.17.1
- Reloading entities which depend on other, not yet loaded, entities results in a compilation error. Corrected in version 2.19.1.
- A bug in handling of local object operators that are also global operators could result in the deletion of the global operators. Corrected in version 2.17.2.
- Dynamic directives are not being generated for dynamic predicates that lack a scope directive or an initial set of clauses. Corrected in version 2.17.2.
- Local dynamic predicates would need a private scope directive in order to allow clauses of the predicate to be retracted. Corrected in version 2.17.2.
- Some files contain wrong end-on-lines. Corrected in version 2.17.2.
Version 2.17.0
- Compiling this version with B-Prolog results in a compilation error due to a problem with operator priorities. Corrected in version 2.17.1.
Version 2.16.2
- A bug in the definition of the pseudo-object
user
results in mixed up metapredicate and type predicate properties. Corrected in version 2.17.0.
Version 2.16.1
- A bug in the library category
monitor
prevents its compilation. Corrected in version 2.16.2.
Version 2.16.0
- Compilation of metacalls whose meta-arguments are variables does not work correctly. Corrected in version 2.16.1.
Version 2.15.6
- Calls to Logtalk built-in predicates are reported as non-portable when the value of compiler option
portability
is set to warning
. Corrected in version 2.16.0.
Version 2.15.5
- A bug in the built-in predicate
current_logtalk_flag/2
prevented some flag values from being returned after using the built-in predicate set_logtalk_flag/2
. Corrected in version 2.15.6.
Version 2.15.4
Version 2.15.3
- Spurious backtracking bug in the DCG rule translator. Corrected in version 2.15.4.
Version 2.15.2
Version 2.15.1
- A bug in the configuration file for GNU Prolog results in failure to abolish dynamic entities. Corrected in version 2.15.2.
Version 2.15.0
- A typo on the jEdit templates resulted in syntax errors. In addition, the entity templates use a wrong year format in
info/1
directive. Corrected in version 2.15.1.
Version 2.14.7
Version 2.14.6
- A bug in the built-in methods
asserta/1
and assertz/1
prevented asserting of predicate rules. Corrected in version 2.14.7.
Version 2.14.5
- A bug in the table of valid entity opening directives prevents recognition of directive
object/5
. Corrected in version 2.14.6.
Version 2.14.4
- Sending messages such as
true/0
or !/0
to an unknown object succeeds instead of throwing the correct exception. Corrected in version 2.14.5.
Version 2.14.3
Version 2.14.2
Version 2.14.1
Version 2.14.0
- Manual pages contain an incorrect XHTML DOCTYPE declaration (Strict instead of Transitional). Corrected in version 2.14.1.
Version 2.13.0
- Directive
info/2
was wrongly declared as an entity directive instead of a predicate directive. Corrected in version 2.14.0.
Version 2.12.0
- Compiling clauses with long bodies fail in some Prolog compilers due to low term depth limits related to handling of cyclic terms. Corrected in version 2.13.0.
- Warnings of redefined entities when reloading a source file does not work for parametric objects. Corrected in version 2.13.0.
Version 2.11.0
- The Logtalk built-in predicate
set_logtalk_flag/2
returns the wrong exception term when we try to modify a read-only flag. Corrected in version 2.12.0.
- Warnings of redefined entities when reloading a source file does not work for parametric objects.
Version 2.10.0
- Warnings of redefined entities when reloading a source file does not work for parametric objects.
Version 2.9.3
- Missing declarations for Logtalk built-in predicates
set_logtalk_flag/2
and current_logtalk_flag/2
. Corrected in version 2.10.0.
Version 2.9.2
Version 2.9.1
- A compiler bug in the updating of the entity relation tables when an entity is loaded results in only an answer given to relation predicates such as
implements_protocol/2
or imports_category/2
. Code that does not use these predicates is not affected by this bug. Corrected in version 2.9.2. An updated Logtalk compiler can be downloaded from the download page.
Version 2.9.0
- A compiler bug in the
info/1
and info/2
error checking code results in an exception when trying to throw an exception to report a compiler error! Corrected in version 2.9.1.
Version 2.8.4
Version 2.8.3
- There is an incomplete entity definition in the Logtalk XML DTD. Corrected in version 2.8.4.
Version 2.8.2
- Sending a message for a built-in method to an unknown object fails instead of generating the expected exception. Corrected in version 2.8.3.
- The compiler contains some occurrences of atoms
public
, mode
, and type
that are not between ()'s resulting in compilation errors in BinProlog and other Prolog compilers that declare these atoms as operators. Corrected in version 2.8.3.
- A bug in the the definition of the state space of the "Missionaries and Cannibals" problem in the "searching" example results in some wrong solutions. Corrected in version 2.8.3.
Version 2.8.1
- Explicit compilation options are correctly parsed but not processed. Corrected in version 2.8.2.
- Default init options definition bug in the points, polygons, and bricks examples. Corrected in version 2.8.2.
Version 2.8.0
- Depending on the Prolog compiler used, the Logtalk pre-processor may not close a file after reporting a syntax error, preventing the file to be corrected and saved without first closing it manually or by restarting the Prolog session. Corrected in version 2.8.1.
Version 2.7.0
- I have found that I have uploaded to the Logtalk web server a development version of Logtalk 2.7.0 instead of the final one! To avoid confusions I decided to release a new version. Please update to version 2.8.0.
Version 2.6.2
Version 2.6.1
Version 2.6.0
Version 2.5.2
- Two bugs in the farmer searching example. Corrected in version 2.6.0
- Some wrong cross-reference links and titles in the reference and user manuals HTML pages. Corrected in version 2.6.0
Version 2.5.1
- Two wrong declarations of built-in methods (
forall/2
and retractall/1
) in the Logtalk pre-processor. Corrected in version 2.5.2.
- Bug where predicates declared in dynamic entities may end up with a
static
instead of a dynamic
property. Corrected in version 2.5.2.
- Bug in category compilation prevents a dynamic category from being abolished. Corrected in version 2.5.2.
Version 2.5.0
Version 2.4.0
Version 2.3.1
Version 2.3.0
- In order to workaround a problem with the
dynamic/1
directive in XSB Prolog 2.0, you will need to change the file compiler/logtalk.pl
at line 1689
from lgt_current_object_(user, user0_).
to :- assertz(lgt_current_object_(user, user0_)).
.
- Compiling the Logtalk pre-processor/runtime (
compiler/logtalk.pl
) under ALS Prolog 3.1 or BinProlog 7.50 results in some syntax errors due to built-in operator definitions in these two compilers (fixed in Logtalk 2.3.1)
Version 2.2.0
- Asserting clauses for a dynamic metapredicate does not work. Also, the built-in predicate
predicate_property/2
does not return a metapredicate
property for metapredicates.
Version 2.1.0
- The definition of the predicate
read_term/3
in some config files does not instantiate the singleton variables list to the empty list for Prolog compilers that do not support this read option. This may cause backtracking problems with the logtalk_load/1
and logtalk_compile/1
predicates. Updated config files are now available to workaround this problem.
- Asserting clauses for a dynamic metapredicate does not work. Also, the built-in predicate
predicate_property/2
does not return a metapredicate
property for metapredicates.
Version 2.0.0
- There is a bug in the definition of the pseudo-object
user
that shows up when sending the message predicate_property/2
. Please apply the fixing instructions described here.
- Asserting clauses for a dynamic metapredicate does not work. Also, the built-in predicate
predicate_property/2
does not return a metapredicate
property for metapredicates.
Version 2.0 beta 3
- Asserting clauses for a dynamic metapredicate does not work.
- Yap 4.1.14 contains a bug that affects some Logtalk examples. The problem is corrected in version 4.1.15.
Version 2.0 beta 2
- The provided config file for Amzi Prolog does not work: the
read_term/3
definition returns the wrong atom when the end of a file is reached. An updated file is now available for download.
- Asserting clauses for a dynamic metapredicate does not work.
Version 2.0 beta 1
- Yap 4.1.9 fails to identify some system predicates as built-in. This bug (that affects the Logtalk pre-processor) is corrected in the 4.1.10 version.