Previous Topic

Next Topic

Book Contents

Book Index

Resolved and known issues

The following table provides a summary of issues that were fixed in Release 10.0.0

#

Module version

Topic/keyword

Issue and resolution

Affect version

1

Automation 5.0.3000

JSON resource tracking

The tracking of resources in subdirectories was not correct. Tracking of subdirectories 'rules' and 'templates' was missed if they were not present at the time of installation or restart. Now it is fixed.

SDK 9.0.0

2

Automation 5.0.3000

Template variables

Variables metadata min, max and pattern were not used for validation of template variable values. Currently the validation used for rules input values is applied to the template variables also.

SDK 9.0.0

3

Automation 5.0.3000

Disabled rules backup

The disabled rules were enabled on creating a backup. Now this is fixed and the disabled rules keep their state till they are enabled by an user request.

SDK 9.3.0

4

Automation 5.0.3000

Automation Repeating Time Trigger

There was NullPointerException status message when null input value provided for some of the inputs expecting set of string values. Same behavior also if they contain null elements. Now a proper message for unexpected input is present.

SDK 9.0.0

5

Automation 5.0.3000

Options web editor

Empty option was not displayed in web editor for selecting binding source value of ENUM parameter type. Now it's fixed – if empty option is specified as valid, it will be possible to be selected.

SDK 9.0.0

6

Automation 5.0.3000

Binding source validation

There was a NullPointerException on validation of null value for input value on preparing a handler input values. Now the null value does not break a rule execution because it could be a valid input value.

SDK 9.0.0

7

Automation 5.0.3000

Core handlers

There were NullPointerException errors with no additional information on providing null input value for handlers as item property or script source. Now they are fixed and IllegalArgumentException exceptions with proper messages added as validation.

SDK 9.0.0

8

Automation 5.0.3000

Console commands

Strings with "null" value were omitted on automation resources printing the same way the null values are omitted. Now this is fixed so it's clear for the user when there is no value set and when the string is with "null" value.

SDK 9.0.0

9

HAM 5.0.3000

HAM AstroTimer condition

AstroTimer Condition was satisfied only once before sunset or sunrise. Now this is fixed to be checked each weekday it is specified on creation.

SDK 9.0.0

10

HAM 5.0.3000

HAM NthDayTimer condition

NthDayTimer Condition with monthly execution interval was with unexpected behavior if the specified day exceeds the maximum number of days in a month, e.g. it was satisfied on May 1st instead of April 30th when the execution of the 31th day of each month is requested. Now this is fixed and condition is satisfied on the last day of the month.

SDK 9.0.0

11

Core 1.4.0

Backup restore error

The LogService was not tracked correctly in com.prosyst.util.ref.Log. This was causing some problems during backup and restore. This is now fixed.

SDK 9.3.2

12

Core 1.4.0

Command annotations order

When Option annotation parameters were given in an order after Argument annotation parameters, they were wrongly interpreted. This caused some misconceptions with some specific orderings of parameters and is now fixed.

SDK 9.3.2

13

Core 1.4.0

Debug logs

When setting log level via system properties, the debug logs would not show. The com.prosyst.util.ref.Log#setLogLevel(int loglevel) was modified to use configurations from the ConfigurationAdmin for different bundles and it resolved the issue.

SDK 9.3.2

14

Core 1.4.0

Array properties
console printing

Array properties in event properties weren't printed correctly – they were references instead of the actual values. This is now fixed.

SDK 9.3.2

15

Core 1.4.0

Local permissions

A log entry about missing permissions could be observed on framework stop when enabled with security mode. This was due to a lack of a permission on the DB bundle and is now fixed.

SDK 9.3.2

16

Device Access 3.5.0

REST

The Device Access didn't send any REST event when the framework is started with security. Now it is fixed.

SDK 9.0.0

17

External 1.4.0

Faulty sources jars

Some sources jar files used to contain irrelevant sources and information. This resulted in confusing sources. It is now fixed.

SDK 9.3.2

18

FIM 2.3.2000

AbstractFunctionalItem

java.lang.IllegalArgumentException for missing object classes was thrown on register FunctionalItem with overridden AbstractFunctionalItem.getItemMetadata(). Now is fixed.

SDK 9.0.0

19

FIM 2.3.2000

Tracking FunctionalItem instances

There was insufficient synchronization on tracking item and generation item registered and unregistered events. Now is fixed in order to prevent missing events.

SDK 9.0.0

20

Framework 8.6.2

Storage error

In some cases extension bundles could not be installed, because of incorrect initialization of trusted root storage. This is now fixed.

SDK 9.3.2

21

Framework 8.6.2

Security leak

Bundles could read properties via PropertyUtils#getProperty(...) without having the necessary property permissions. This security leak is now fixed.

SDK 9.3.2

22

Framework 8.6.2

Event hooks
security

Extra arguments were passed to service event hooks, including services, for which receiver does not have permissions. This has been fixed and now only relevant service arguments are provided.

SDK 9.3.2

24

Framework 8.6.2

Execution environment

Framework was exporting different versions of JavaSE as a single capability. This was noticed, when running OSGi Core R7 tests and is now fixed.

SDK 9.3.2

25

Framework 8.6.2

Event hooks

Service event hooks were not called if there are no service listeners to be notified, which breaks specification. This has been fixed.

SDK 9.3.2

26

Framework 8.6.2

Framework resolving

Fixed comparison of dynamic imports in order to follow R7 specification.

SDK 9.3.2

27

Framework 8.6.2

Storage
Security

Extracting sub jars from the main bundle archive was not always executed in a privileged block, which caused security problems. This has been fixed.

SDK 9.3.2

28

Framework 8.6.2

Storage, Data recovery
power loss

Bosch IoT Gateway Software could not start up properly after a power loss of the gateway until you delete the persistent storage. Now this is fixed and you can restart the Framework without deleting the persistent storage.

SDK 9.3.2

29

Framework 8.6.2

Natives

Fixes in loading native libraries. Natives, containing extension in their name can be distinguished from their non-extension counterparts.

SDK 9.3.2

30

Framework 8.6.2

Security

Fixed memory leak in functional groups. Groups for uninstalled bundles are garbage collected now.

SDK 9.3.2

31

Framework 8.6.2

Framework resolving

Sometimes fragments failed to resolve when their host is updated. This is now fixed.

SDK 9.3.2

32

Framework 8.6.2

Certificate manager
Skelmir

Framework fixed to run without certificate manager on Skelmir, due to VM issues.

SDK 9.3.2

33

Framework 8.6.2

Framework Launcher
URL

There were problems with opening URLs, when framework was launched through factory. URL handling has been fixed now.

SDK 9.3.2

34

Framework 8.6.2

Class loading
Security
Weaving hooks

There were problems with bundle update(NoClassDefFoundError) in some cases, when updating a bundle with a weaving hook/s available. This has been fixed.

SDK 9.3.1

35

Framework 8.6.2

Resolver

There was a NullPointerException when resolving a fragment which imports and exports the same package. This logic now works correctly. Note that this fix was needed only for OSGi resolver service.

SDK 9.3.2

36

Framework 8.6.2

Framework factory
Class loading

Loading of classes is delegated to class loader of FrameworkFactory if mbs.server.jar property is not present. This helps stand-alone applications with their own class loaders to use framework via launcher, without setting mbs.server.jar.

SDK 9.3.2

37

KNX 5.5.0

Package import

The manifest of com.prosyst.mbs.knx.driver.api bundle included the unnecessary import of package org.kxmk2.io with resolution optional. This is now fixed and the unneeded import-package clause is removed.

SDK 9.x.x

38

OSGi 1.6.0

Config admin
Log, UPNP
Security

Added required permissions in order to enable bundles to function properly under security.

SDK 9.3.2

39

OSGi 1.6.0

Metatype
Security

Reading metatype information caused errors, when the com.prosyst.mbs.services.metatype API are used and the Gateway is run with security enabled. This was fixed.

SDK 9.3.2

40

OSGi 1.6.0

SCR

Thread class context was not always set to its initial value after performing an SCR callback to component. This has now been fixed.

SDK 9.3.2

41

OSGi 1.6.0

Config Admin

Thread class context was not always set to its initial value after performing a callback to ManagedService. This has now been fixed.

SDK 9.3.2

42

OSGi 1.6.0

Dangling HTTP Service

If an error occurred during Jetty HTTP server startup, the HttpService associated with it was not properly unregistered. Moreover, the HttpService had incorrect service properties for open HTTP ports, despite the server not being bound on any port. This issue was fixed and now the HTTP service is properly unregistered.

SDK 9.3.2

43

OSGi 1.6.0

NullPointerExcception
HTTPS config

A NullPointerException was thrown when HTTP server configuration had HTTPS enabled, but no SSL key-store path specified. The NullPointerExcception is now fixed.

SDK 9.3.2

44

OSGi 1.6.0, Legacy HTTP

ConcurrentModificationException
whiteboard HttpContext

A ConcurrentModificationException was thrown when unregistering whiteboard HttpContext, which may have resulted in improper cleanup and memory leaks. The issue is now fixed.

SDK 9.3.2

45

OSGi 1.6.0, Legacy HTTP

Whiteboard Servlet

A NullPointerException was sometimes thrown when unregistering whiteboard Servlet, which may have resulted in improper cleanup and memory leaks. The issue is now fixed.

SDK 9.3.2

46

Peripheral 2.0.4000

ONVIF observer

When stopping the ONVIF observer, there was a delay of 10-20 seconds until the bundle stops. Now it is fixed.

SDK 10.0

47

Peripheral 2.0.4000

ONVIF observer

When stopping the ONVIF observer, unuseful errors were generated. Now it is fixed by improving the error handling.

SDK 10.0

48

Peripheral 2.0.4000

Unneeded configurations

Unneeded configurations were produced, thus flooding framework's database. The problem appeared when devices are added and their driver is not installed. Now it is fixed in Peripheral Core.

SDK 10.0

49

Peripheral 2.0.4000

ONVIF observer

The existing ONVIF devices kept being reconfigured periodically. The problem appeared when their driver is installed. Now it is fixed by improving the adding algorithm.

SDK 10.0

50

Peripheral 2.0.4000

inet.addresses field

The mDNS devices had empty inet.addresses field. The problem appeared in Peripheral Info box in Web Console. Now it is fixed by fixing data types for that field.

SDK 10.0

51

Policy Admin 1.2.1000

Bundle security IDs

References to bundles providing security Ids were noticed even if the bundles were uninstalled long time ago. The observed memory leaks are prevented now.

SDK 9.0.0

52

Policy Admin 1.2.1000

IdentityProviders
User Admin identities

When the framework was started with clean storage the User Admin identities were not present. The functionality for tracking the registered IdentityProviders, for which there is descriptions in the policy files, now works as expected

SDK 9.0.0

53

REST 2.1.0

Memory leak
Policy Invoker

PolicySecurityContext in com.prosyst.mbs.webservices.rest.invoker.policy did not clean up added security IDs, which resulted in memory leak. Now the security IDs are clean-up when the bundle is stopped.

SDK 9.3.1

54

TEE 2.0.4001

JUnit5

JUnit5 executor initialization was failing when execution thread context classloader was modified by other bundles in the system. This misbehavior is now fixed.

SDK 9.0.0

55

Util 1.2.0

Telnet server

For the user the telnet server appeared disabled, while actually it was running on the secondary port. In fact after invocation of ServerSocket, the descriptor won't be destroyed immediately and its port won't be accessible immediately. On some platforms like Linux the port will continue to stay opened (as a zombie) for some time until kernel decides to release it.

SDK 9.3.2

56

Web 1.1.3000

Admin Web console plug-in

It was impossible to edit default user credentials using web console plug-in UI. There was an error that the user already existed every time. This misbehavior is now fixed.

SDK 9.0.0

57

Web 1.1.3000

Shell Web console plug-in

It was observed that shell view scroll automatically jumps to the bottom when the user tries to examine previous output. This is now fixed.

SDK 9.1.0

58

WebSockets 1.2.0

Access rights

When subscription command is received, the current thread was used to determine access rights. This can result in missing permissions, because typically, user is authenticated during WebSocket connection establishment. This was fixed and now access rights are determined when the WebSocket connection is made.

SDK 9.3.1

59

WebSockets 1.2.0

Race condition
WebSocketHandler

A race condition in WebSocketHandler implementation reported a connection as not open right after it was established. This could have caused errors when attempt was made to send a message right after the connection was established. This issue is now fixed.

SDK 9.3.1

60

WebSockets 1.2.0

Push Events

Missing synchronization in Push Events WebSocket implementation could have resulted in error (and closing of the connection) when event messages and messages for subscription expiration or subscription acknowledgment were sent simultaneously. This race condition is now fixed.

SDK 9.3.1

61

Z-Wave 6.0.0

Color Switch device item

No ColorSwitch Device Item was registered for devices, supporting versions higher than 1 of the respective Z-Wave Command Class. This is now fixed.

SDK 9.0.0

62

Z-Wave 6.0.0

Log Configuration

Logging Configuration instances were left behind undeleted after Z-Wave bundles are uninstalled. This is now fixed.

SDK 9.0.0

63

Z-Wave 6.0.0

Blood Pressure sensor metrics

Quantity metric values and Item attributes within the Device Access layer regarding Blood Pressure sensor type were incorrectly represented. This is now fixed.

SDK 9.0.0

64

Z-Wave 6.0.0

Device Items, Device Class Objects

The system Device Class Objects or Device Items (depending on the setup), were missing after the Adapter bundle was being updated. They appeared again after framework was restarted. This is now fixed.

SDK 9.0.0

65

Z-Wave 6.0.0

Device Items, Device Class Objects

If a custom Device Class Object or Device Item implementation is provided, but does not fully match the manufacturer indicating properties, neither custom nor default Device Class implementation instances were created. This is now fixed.

SDK 9.0.0

66

Z-Wave 6.0.0

Device Items, Device Class Objects

When a device is securely included, all custom provided Device Class Objects/Device Items that do not define a specific command class ID (i.e. annotated with @ZWaveCommandClassId) were getting registered both in the root and in the secure child device Spi. This is now fixed.

SDK 9.0.0

67

Zigbee 4.8.0

Discovery

There was a race condition when device discovery is triggered immediately after CoordinatorConnection is registered. As a result sometimes the discovery might not start. Now this is fixed and device discovery is started.

SDK 9.0.0

68

Zigbee 4.8.0

Bundle-RequiredExecutionEnviroment

The required execution environment was wrongly stated as JavaSE-1.8(Full SE) in all Zigbee bundle manifest headers. Now this is fixed and the proper execution environment is stated: JavaSE/compact1-1.8(compact1 profile).

SDK 9.3.0

Known Issues

The following section provides a summary of issues known 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 Version

Known Issue

ONVIF 1.3.0

ONVIF Discovery is not detecting devices if the local network IP is changed during runtime or by DHCP, therefore the discovery is no longer working, until the ONVIF Core bundle or the framework is restarted.

ONVIF 1.5.0

The ServiceID of the functional item for RCP+ firmware upgrade is changed.
The old serviceID was DeviceService which was causing conflict with the other DeviceService items. That was due to the lack of guarantee that each UID belongs to the same functional item, if the order was changed during functional item registration.
To escape the conflict, a unique serviceID was provided for the RCP+ firmware update: RcpPlus.
Examples of UIDs:

  • for 10.0.0 and 10.1.0 releases
    da:item:ONVIF:Bosch-FLEXIDOME_IP_5000i_IR-094456675477890014/DeviceService/2:FirmwareUpdate ()
  • for 10.2.0 release
    da:item:ONVIF:Bosch-FLEXIDOME_IP_5000i_IR-094456675477890014/RcpPlus/1:FirmwareUpdate ()

This change is backward incompatible for 10.0.0 and 10.1.0 releases.