The following table provides a summary of issues that were fixed in Release 10.3.0:
# |
Module |
Topic/ keyword |
Issue and resolution |
Affect Version |
|---|---|---|---|---|
1 |
Automation |
Web admin run rule |
The manual run of rule using the AutomationAdmin runRule operation or Web Admin run rule button was disabling any rule modification till the rule is running. Now the active rule management is unified no matter if the rule is triggered automatically or started manually. In both cases, it is possible to update, delete, disable and get the rule. The write operations are handled just after the execution of currently running rule instruction, i.e. the rule is stopped before next instruction execution. |
10.0.0 |
2 |
Automation |
Automation script handler |
The execution of rules having script actions or conditions was resulting in memory leaks. Scripting fixes were done in order to resolve the issues in using the Automation script handler. |
10.2.0 |
3 |
BACnet 1.3.0 |
Network search |
An initiated BACnet network search with timeout was not sending periodically WhoIs messages over the network for the given search time interval. Now, it is fixed and the network search operation works properly by resending a WhoIs message after the given search time interval elapses. |
10.2.0 |
4 |
BACnet 1.3.0 |
BACnet security policy |
The BACnet adapter bundle had insufficient permissions for accessing the JSON config file for device filtering when the OSGi framework is launched under security mode. Now, the missing FilePermission is added in the local permissions file of the bundle and the implementation could access and modify the device filtering data from an arbitrary JSON config file, pointed in the adapter configuration. |
10.2.0 |
5 |
Bluetooth LE |
GATT Service UUID |
Changed the handling of Gatt Service UUIDs from case-sensitive to case-insensitive strings by the Bluetooth LE driver and device access adapter implementations. |
10.2.0 |
6 |
Cameras |
Connect to ONVIF Camera |
Width and Height parameters, part of the Video Encoder Configuration was processed as mandatory, which cause error when try to connect to ONVIF Camera. The parameters are optional and now they are not processed if missing. |
10.0 |
7 |
Cameras |
RTSP Proxy |
Calling OPTIONS method twice was causing bad request on some devices. The OPTIONS method is now protected and requires authorization. |
10.0 |
8 |
Cameras |
RTSP Proxy |
With some devices the Session Data Protocol had modified target URI, which causing error on DESCRIBE method. The modification of the SDP is now fixed. |
9.3.0 |
9 |
Cameras |
Servlet Proxy |
Unable to process Proxy Servlet requests if query parameters are used. This is now fixed. |
10.0 |
10 |
Device Access |
Cache polling |
Device Access update cache earlier after cache refresh. Now it is fixed and cache is updating on polling interval time. |
10.0.0 |
11 |
External 1.7.0 |
Service ranking property bug in org.eclipse.equinox.http.servlet |
There was a type conversion bug in the org.eclipse.equinox.http.servlet library's service ranking property upon service registration. It has been patched. |
10.2.0 |
12 |
External 1.7.0 |
Missing bundle events from org.apache.aries.spifly |
There were some missing bundle events from bundles with weaving data because of incorrect subsystem isolation handling. This has been fixed. |
10.2.0 |
13 |
External 1.7.0 |
Service ranking property |
There was a type conversion bug in the org.eclipse.equinox.http.servlet library's service ranking property upon service registration. It has been patched. |
10.2.0 |
14 |
FIM 2.5.0 |
Load of persisted BEAN value |
There was error on loading of persisted BEAN data with a custom numeric or interface metadata class. The error is fixed and instead of null, the expected value is created after invocation of the available TypeFactory or valueOf static method. Beans with java constructor type of creation were not influenced. |
9.0.0 |
15 |
Framework |
Signed bundles |
There was a problem with handling signed bundles, observed with OpenJDK 11. Handling of singed jar files has been improved and this issue is no longer observed. |
10.2.0 |
16 |
Framework |
Framework storage |
There was an issue, when framework hangs on startup with corrupted storage. This has now been fixed and framework starts regardless of this. |
10.2.0 |
17 |
Framework |
Framework factory |
There was a problem with cleanup of startup properties for a framework instance and all of them were reused in subsequently created instances, unless null argument is used (FrameworkFactory#newFramework(Map)). This has now been fixed and each instance uses only its own properties. |
10.2.0 |
18 |
Framework |
Services |
Service property values of enum types were not cleaned up after enum class loader disappears (its bundle becomes uninstalled). This memory leak has now been fixed. |
10.2.0 |
19 |
Framework |
Services |
Some class cast exceptions upon using lazy services were fixed. |
10.2.0 |
20 |
Framework |
Fragments |
Some NullPointerExceptions were observed upon working with fragment bundles. Synchronization has been improved and these no longer occur. |
10.2.0 |
21 |
Framework |
Resolver |
There was a problem resolving some packages with a version. This has now been fixed and allows resolver service to function properly. |
10.2.0 |
22 |
Framework |
Framework startup, resolving |
There was a StackOverflowError when resolving multiple bundles with complex dependencies, due to recursive algorithm. Now resolving is done in a separate thread with configurable thread stack size, which allows this issue to be avoided, especially upon framework startup. |
10.2.0 |
23 |
Framework |
Shutdown hook, log listeners |
An error was observed when killing framework process, if log listeners were registered. Synchronization has been fixed and this no longer occurs and framework can be killed successfully. |
10.2.0 |
24 |
Framework |
Bundle events, hooks |
Sometimes there were recently added bundle listeners not receiving bundle events, due to a race condition. This was observed when bundle event hook(s) are registered, even without filtering the listeners. Framework eventing mechanism has been fixed and issue no longer occurs. |
10.2.0 |
25 |
Framework |
Bundle listeners, framework listeners |
Sometimes bundle and framework events were not dispatched to all registered listeners after a listener was removed. Synchronization has now been fixed and issue no longer occurs. |
10.2.0 |
26 |
History |
History web admin |
Month drop down in timestamp UI component was not working after reset on defining the end time. This is now fixed. |
10.2.0 |
27 |
History |
History web admin |
Tokens of History Configurations were not properly dispelled in configurations table. This is now fixed. |
10.2.0 |
28 |
History |
History configurations |
History configuration namespace and tokens patterns validation was extended to clarify if the namespace or tokens are not valid patterns. The available message was generic and insufficient. |
10.2.0 |
29 |
KNX |
USBException, error message |
In a rare case it was possible that KNX USB driver report wrong error message to user when KNX USB connection could not be established. It was not a functional problem with no serious impact, just a misleading error message. This is now fixed. |
10.2.0 |
30 |
mDNS |
Network, topology, adapter |
A registered service was no longer available after turning off and on a network adapter. This is now fixed. |
9.0.0, 10.0.0 |
31 |
OSGi 1.9.0 |
Subsystem, dynamic imports |
There was a class loading problem for bundles within a subsystem(s), that use DynamicImport-Package header. Issue has been fixed and loading classes from dynamically imported packages works. |
10.2.0 |
32 |
OSGi 1.9.0 |
Subsystem, storage |
A problem was observed, preventing subsystem bundle to start with corrupted storage. This has now been fixed and subsystem bundle starts successfully, regardless of this. |
10.2.0 |
33 |
OSGi 1.9.0 |
Declarative services |
There was a problem injecting a service component field value upon re-activation. This has now been fixed and re-activation works properly. |
10.2.0 |
34 |
OSGi 1.9.0 |
Wireadmin |
A NullPointerExceptions in wireadmin was observed when performing concurrent calls. Synchronization has been fixed and issue no longer appears. |
10.2.0 |
35 |
OSGi 1.9.0 |
Configuration admin |
There was a problem with configuration admin functioning, when a custom timeout value for configuration update was set. This has been fixed and service works properly with timeouts, different than default one. |
10.2.0 |
36 |
OSGi 1.9.0 |
Metatype configuration loader |
There was a problem loading external configurations from а bundle in boot.ini and only way to be created was restarting the bundle from boot.ini. This has now been fixed and configurations are always available. |
10.2.0 |
37 |
OSGi 1.9.0 |
Metatype configuration loader, storage |
Sometimes there was a problem updating external configurations upon a framework restart after metadata files were modified. Issue has been fixed and metadata is always scanned for changes, which are reflected accordingly in OSGi configurations. |
10.2.0 |
38 |
OSGi 1.9.0 |
HTTP Extender |
Race condition in HTTP Extender bundle resulted in multiple registration of the default HTTP Context. This is now fixed. |
10.2.0 |
39 |
OSGi 1.9.0 |
Legacy HTTP |
A race condition in legacy HTTP service implementations resulted in request contents to be prepended to the corresponding response. This is now fixed. |
10.2.0 |
40 |
ONVIF 1.6.0 |
ONVIF discovery |
Discovery does not find devices if the local network IP is changed during runtime. This is now fixed. |
10.2.0 |
41 |
OSGi Things |
Thing Admin implementation |
When a functional item mapped as a thing, e.g. with @Representation(asThing=true) annotation, was unregistered, the whole thing was removed by ThingAdmin. If there was another functional item mapped to a feature of the same thing, e.g. with representationThingId attribute, this feature was removed too even though the functional item remained in the registry. Registering back the first functional item lead to adding the thing again, but the second functional item was not attached as feature to it until not unregistered and registered again. This scenario was reproducible by stopping/starting.bundles com.prosyst.mbs.things.agent.items.osgi.bundle and com.prosyst.mbs.things.agent.items.su.bundle. The ThingAdmin implementation is now fixed and it handles OSGi service dynamics correctly so no things and features should be missing anymore. |
10.2.0 |
42 |
OSGi Things |
Bundle items, install |
When a bundle was installed by execution of the install operation of the BundleFactory functional item, a synchronization problem inside the implementation caused the new bundle to be represented by two Bundle functional items eating up thing's size and producing unnecessary thing events. This is now fixed, the the registration of the Bundle items is synchronized and only one Bundle item is registered per bundle. |
10.2.0 |
43 |
OSGi Things |
Feature properties |
|
10.2.0 |
44 |
OSGi Things |
Missing features, |
When @Representation annotation is used to map functional items to thing and features, the ThingAdmin expected the "Thing" functional item (@Representation(asThing=true)) to be registered first and then any other "feature" functional items with (@Representation(asThing=false)). If the functional items came in other order, any "feature" functional items registered before the "thing" functional item produced NullPointerExceptions and their corresponding features were missing. This is now fixed and ThingAdmin works fine with any order of registration of the functional items. |
10.2.0 |
45 |
OSGi Things |
Feature IDs |
A problem was observed regarding the mapping from a functional item of a device to a respective feature of thing. It was reproducable with Z-Wave secure devices with device items that contain ":secure" in their UIDs. As a result, the ThingAdmin mapped different functional items to one feature with unexpected ID. This is now fixed and the Functional Items are represented as Features correctly. |
10.2.0 |
46 |
OSGi Things |
Missing features, set property |
Trying to set feature property through the special operation $set.configuration/<property-name> for a property that does not exist, a NullPointerException was thrown. This is now fixed and proper IllegalArgumentExcepton is thrown instead. |
10.2.0 |
47 |
OSGi Things |
Insufficient local permissions |
Starting Edge Services runtime in security mode and enabling 'selfConfig' option of the Thing Admin Configuration resulted in several warnings regarding insufficient local permissions. Now these are fixed and ThingAdmin core bundle starts without warnings in security mode. |
10.2.0 |
48 |
OSGi Things |
No error changing non-writable property |
Trying to set feature property through the special operation $set.configuration/<property-name> for a property that is not writable, no error was returned and operation seemed to be successful even through nothing is changed. This is now fixed and proper IllegalArgumentExcepton is thrown instead. |
10.2.0 |
49 |
OSGi Things |
Configuration update |
Updating the properties of an OSGi configuration through its mapped Configuration functional item was not possible and unexpected exception was thrown. This is now fixed and updating configuration properties works fine. |
10.2.0 |
50 |
OSGi Things |
Property changed events |
When a Functional item with annotation @Representation(asThing = true) produced a property changed event, it was not mapped to the correct thing and feature and the correct feature property was not updated. This is now fixed, ThingAdmin maps functional item property changed events correctly and property changed events should be delivered to correct features. |
10.2.0 |
51 |
Peripheral |
Tests |
TEE tests improvements. |
10.2.0 |
52 |
Policy Admin |
Missing bundle events from Policy Admin Core |
There were some missing bundle events because of incorrect subsystem isolation handling in Policy Admin Core. This has been fixed. |
10.2.0 |
53 |
REST |
HTTP service port |
Wink Rest Client picks wrong HTTP service port when building the REST client. If more than one HTTP service exists, the port from randomly selected one gets picked, instead of the default one, which made the client's use inconsistent and erroneous. This is now fixed. |
|
54 |
Scripting 1.1.0 |
Memory leak in FIM access |
FIM access was leaking logger instances. This is now fixed. |
10.2.0 |
55 |
Things REST |
TEE test |
When executing Things REST test cases, there were synchronization problems inside the test cases and sometimes test execution continued before the asynchronous delivery of expected events was completed so that test asserts failed and final test result was reported as failure. The test cases are now fixed and test execution result should be passed. |
10.2.0 |
56 |
Units |
Quantity Web Console editor |
Quantity Web Console validation messages were duplicated on entering of invalid content. Now this is fixed. |
10.2.0 |
57 |
Web |
Configurations |
Configuration values of Collection type were displayed as a single value instead of multiple elements. The missing support is added and the values could be edited as separate collection elements. |
10.2.0 |
58 |
WebSockets |
WebSockets endpoints |
References to WebSockets endpoints were being kept after unregistration, causing endpoint memory leaks in JavaX implementation. This is now fixed. |
10.2.0 |
59 |
WebSockets |
WebSocket servlet not getting destroyed in JavaX implementation |
After restarting com.prosyst.mbs.websockets.javax bundle, WebSocket servlet was not getting destroyed, causing a memory leak. This is now fixed. |
10.2.0 |
60 |
WebSockets |
WebSocketServerFactory instance leak |
On destroyal of the ServletContext, the WebSocketServerFactory instance was not getting cleaned up from the context's attributes, causing the instance leak. This is now fixed. |
10.2.0 |
61 |
Z-Wave 6.3.1 |
TemperatureActuator Device Class |
No TemperatureActuator Device Class representation was being registered in HDM for thermostat devices, which support version 3 or higher of the Z-Wave Thermostat Setpoint Command Class. |
9.0.0 |
62 |
Z-Wave 6.3.1 |
Custom configuration and association |
The support for custom device configuration during inclusion was not functional for devices, which have their Manufacturer Specific Command Class listed within the secure command classes only. This is now fixed. |
9.0.0 |
63 |
Z-Wave 6.3.1 |
ZIP Gateway Driver potential initialization issue |
There was an initialization issue with the corresponding driver in case the ZIP Gateway's local device cache is corrupted. This is now fixed. |
10.0.0 |
64 |
Zigbee 4.11.0 |
Configure reporting for multi-cluster DCOs |
AbstractDeviceClassObjectV3 allows to provide a single DCO that handles multiple Zigbee clusters. However it only used the attribute identifier of a DeviceClassConfiguration when reports are configured. This resulted in conflicts, if the same attribute identifier from different clusters were configured. Now this is fixed - cluster identifier is taken in account as well and there should be no more conflicts. |
9.0.0 |
Known Issues
The following section provides a summary of known issues in the current release:
System Integrity Protection (SIP) in macOS: Affecting Gateway Software version 9.3.X, when System Integrity Protection on Mac OS X is turned on, bundles with native libraries may throw an Error, when libraries are loaded and it may lead to malfunctioning of the bundles. System Integrity Protection has to be disabled in order to use the functionality provided by the native libraries from the bundles on macOS/OS X since version 10.11 (OS X El Capitan).
# |
Module |
Search keyword |
Known Issue |
|---|---|---|---|
1 |
HAM |
FIM Web Console support |
The IoT/FIM support for the deprecated Automation ESH functional items is temporary unstable so the items with UIDs automation:rule:admin, automation:moduletype:admin and automation:ruletemplate:admin could not be opened. However the IoT/Automation ESH is still working so the Web Admin support is available. |
2 |
BACnet 1.3.0 |
BACnet Units |
Some uncommon and rare BACnet engineering units are not fully integrated within the Units of Measurements module of the Bosch IoT Gateway Software. If a BACnet device uses an unsupported BACnet engineering unit, its values will be reported as dimensionless quantities, but the original BACnet engineering unit will still be present as device item attribute. |
3 |
BACnet 1.3.0 |
BACnet APIs |
The modules does not provide a BACnet Driver API. The BACnet devices are exposed solely at Device Access level. |
4 |
BACnet 1.3.0 |
BACnet Discovery |
Тhe BACnetDiscoveredDevice FIM bean returns empty strings for object name and model name. |
5 |
BACnet 1.3.0 |
BACnet Endpoint Configurator |
Modifications over the set of endpoint configurations may effect in splitting some of them into single configurations per instance number. |
6 |
mBProfiler |
View toolbars |
Due to bugs 564205 and 562645 found in Eclipse version 4.14 and 4.15: Automatic open of various profiling views like Classes, Objects, Memory Call Tree and etc. causes duplication of session management buttons and also some NullPointerException-s to pop-up. |
7 |
ONVIF 1.6.0 |
Target Image EJDK compact1 |
Apache xerces library is used for ONVIF Discovery and it is not included in the Target Images. The bundle (org.apache.xerces.jar) needs to be installed manually when using ejdk compact1 profile. |
8 |
ONVIF 1.6.0 |
TLS Resumption |
Java is introducing the Extended Master Secret Extension enabled by default after the 8u161 update. Some Cameras which are not supporting the extension will cause the TLS Resumption to fail during the SSL handshake. Without resumption, the delay for each ONVIF request will be increased. Disabling the Extended Master Secret Extension will allow the TLS resumption to work for those devices. This could be achieved setting the System Property jdk.tls.useExtendedMasterSecret to false. |