RLM Issues Affecting Software Publishers (Pre v8.0)
This is a list of RLM issues fixed prior to v8.0.
To see the full description, click on the issue title or the '+' sign on the left.
expand list (Good for searching full description in browser).
Click here to show the CURRENT issues list.
|P168 - Some product names cause rlm_detached_demo() to fail|
If rlm_detached_demo() is called for a product name containing the substring "99", rlm_detached_demo() will fail with RLM_EH_DEMOWRITEERR (-138) on Windows.
|P167 - Obsolete license pools can have incorrect inuse count|
If a license server has checked-out licenses, then the license is removed from the license file (or the entire license file is removed), and a reread is done on the license server, from that point on until the clients check their licenses back in, the number of licenses reported checked out will be incorrect.
|P166 - On Mac/OS, rlm thread synchronization does not work|
This results in 2 distinct problems:
|P165 - roamed licenses don't expire on Windows|
On Windows, the server will occasionally keep a roamed license checked out past the expiration of the roam time.
|P164- Error adding GROUP to named user list on Windows|
P164 - If a GROUP definition has any uppercase letters in the keyword "group", then it cannot be added to a named user list using the rlm web GUI. This bug appears on Windows servers only. The workaround is to define the group using the keyword "group" (using all lowercase letters). This is fixed in RLM v7.0BL4. Fix requires: server.
|P163 - DEBUGLOG failure with "+" outside quotes|
When specifying DEBUGLOG or REPORTLOG in the ISV options file, if the path to the log file contains embedded spaces, it must be enclosed in double quotes. If using a '+' to indicate that the existing log file should be appended to rather than overwritten, RLM will not create the log file if the '+' precedes the opening double quote. For example,
|P162 - End-user MAX specifications work incorrectly|
P162 - A MAX specification does not work correctly with shared licenses or with reservations. If a MAX specification is used with shared licenses, new requests which can share with prior licenses will be rejected if the counts sum to more than the max, even though the total would not be over the max with sharing. Also, reserved licenses are not counted toward the MAX, so usage above the specified MAX will be allowed. Both of these issues are fixed in v7.0BL4. Fix requires: server.
|p161 - end-user MAX with a GROUP causes server crash|
P161 - if a MAX line appears in an ISV server options file specifying a GROUP, the server will crash when a checkout is attempted on the product.
|P160 - complete UPGRADEs sometimes lose licenses|
P160 - If all licenses of a particular product are UPGRADEd by a single UPGRADE line, the licenses disappear. Partial upgrades work properly. In addition, this failure only occurs if the UPGRADE line precedes the LICENSE line in the license file - if the LICENSE line is first, the upgrade works properly. The workaround is to issue partial upgrades adding up to the total license count to be upgraded. This is fixed in v7.0BL4. Fix requires: server.
|P159 - license transfer destination server crashes|
The destination server of a license transfer can crash if a held license is transferred.
|P158 - token-based licenses with hold= cause failures|
P158 - If a token-based license contains two or more primary licenses where one of the primary licenses has a hold period specified, and another one does not have a hold, the license server will either fail to check in the held license, or it will cause it's internal lists to become corrupted. This is fixed in v7.0BL4. Fix requires: server.
|P157 - Older ISV server settings files don't work on 7.0BL3|
RLM ISV server settings files from prior versions will not work with v7.0BL3 rlm executables. The workaround is to issue a new ISV server settings file. This is fixed in v7.0BL4. Fix requires: rlm, settings.
|P156 - rlm web interface sometimes displays "bad" characters|
The rlm web interface will display bad characters near the buttons in the Edit Transfer page when "Server Status" is followed by "Edit Transfer". This is fixed in RLM v7.0BL4. Fix requires: rlm.
|P155 - RLM sometimes fails to start ISV server on Windows|
rlm will fail to start an isv server on Windows under the following circumstances:
|P154 - ISV server fails on reread after license replaced|
If a license server has a checked-out license, then: - a new replacement license is installed, and - a reread is done after the licenses have been upgraded (replaced) then the ISV server will fail. This is corrected in v7.0BL3. The workaround is to shut down and restart the servers.
|P153 - Activation fails with long attribute strings|
P153 - the activation gui (rlc) and license generator (ISV_mklic) will fail if the database contains strings longer than the maximum allowed. This generally happens with hand-edited databases, and in particular with the "extra license attribute" string, which is limited to 200 characters. This is fixed in v7.0BL2. The strings are still limited to 200 characters, but they are now truncated at 200 characters when read by rlc and ISV_mklic.
|P152 - roamed licenses become unusable after license upgrade|
|P151 - end-user IP-based options fail on loopback address|
P151 - If a system has it's primary hostname configured on the loopback address (127.0.0.1), rlm options which specify the "real" IP address of the system will not work.
|P150 - roamed licenses sometimes fail on Mac systems|
P149 - A roamed license will sometimes fail on a Mac system when it is disconnected from the network. This happens when the IP address to which the license was assigned disappears from the system when the system is disconnected. This is fixed in v7.0BL1.
|P149 - ISV server hangs on reread with missing licenses|
P149 - If a running license server has licenses checked out from 2 (or more) separate license pools, then a reread command is given to the server when the licenses from 2 (or more) of these pools are no longer valid, the license server will hang in an infinite loop. This can happen, for example, when 2 of the licenses expire on the same day when the server does it's automatic reread at midnight. The workaround is to kill the server after it gets into this state - rlm will restart it automatically. This is fixed in v6.0BL4.
|P148 - ISV-defined hostid is case-sensitive (sometimes)|
P148 - The value of an ISV-defined hostid (ie, the string) is case sensitive at the time it is compared to the hostid on the target system. The string in the license is not case sensitive, but it must match the case returned by your routine which retrieves the hostid. A workaround is to modify the license file to have the exact case which the system is returning so that the comparison succeeds. This is fixed (ie, the compare is done in a case-insensitive manner) in v7.0BL1.
|P147 - ISV server running as service doesn't read ISV.opt|
P147 - when running as a windows service, the ISV server fails to read it's option file <ISV>.opt which is located in the directory with the license file.
|P146 - activation server hangs on IIS with HTML forms|
P146 - If RLM activation data is submitted from an HTML form, and it contains an ISV-defined hostid (with an embedded "="), the activation license generator (ISV_mklic) will hang if it is running on IIS. This is not an issue with the rlm_act_request() API call, nor is it an issue running on Apache. This is fixed in v6.0BL4.
|P145 - ISV server paths > 128 characters fail|
On Windows, if the path to an ISV server is over 128 bytes, the rlm server will not start the ISV server. This is corrected in v6.0BL3.
|P144 - generic server fails if ISV's RLM license too long|
If an ISV has licensed approx 7 or more platforms, an ISV settings file created will fail to operate correctly. ISV binaries work correctly, this only applies to the generic server. The actual problem occurs when the RLM license is > 128 characters, which happens when the licensed platform string is longer than approximately 46 characters (which is usually 7 or more platforms). This is fixed in RLM v6.0BL3.
|P143 - thread deadlock in rlm_close() with rlm_auto_hb()|
P143 - rlm_close() will occasionally hang with a thread deadlock if using rlm_auto_hb(). This is a windows-only issue. The deadlock can be minimized by calling: rlm_set_active(handle, 0) before calling: rlm_close(handle) This problem is fixed in v6.0BL3.
|P142 - path with trailing backslash in rlm_init() fails|
If the path passed to rlm_init() in the first argument has a trailing slash or backslash, no license files are found in that path. This is a windows-only issue. The workaround is to avoid passing paths with trailing slash or backslash characters. This is fixed in v6.0BL3.
|P140 - ISV server crashes if New Reportlog is requested...|
An ISV server will exit with a segment fault if the user requests a New Reportlog and there is currently no report log. Starting in 6.0BL3, the server will log the error: 01/13 11:08 (isvname) ERROR: New Reportlog cmd received with no old log file. (Note: this bug exists in all versions of RLM prior to v6.0BL3)
|P139 - rlm gives confusing error message with bad ISV line|
With the following ISV line:
|P138 - rlc crashes when showing activations|
rlc will crash when displaying activations on certain 64-bit windows systems when running a 32-bit binary. This is corrected in v6.0BL2.
|P137 - If a linux system has an eth7 device, RLM hangs|
If a linux system has an eth7 device, RLM client code hangs. This means your application as well as the rlmhostid command will hang on any system which has an eth7 device. A side effect of this bug is that only the first ethernet device is recognized. This bug applies to linux systems only, and was introduced in RLM v4.0. This is fixed in RLM v5.0BL6.
|P136 - ISV servers fail if no SERVER line in license file|
ISV servers will fail if processing multiple license files and the only valid licenses are in a file with no SERVER line. To work around this problem, ensure that a valid SERVER line is present in the license file with the valid license(s). This problem is corrected in RLM v6.0BL1.
|P135 - rlm_act_request() uses less than optimal hostid|
Activation requests made via rlm_act_request() which do not specify a hostid (or hostid list) use the default list of RLM hostids, including the 32-bit hostids.
|P134 - RLM server listens on port 28000 on Windows|
On Windows, if the RLM server is started as a service and there is no command-line "-c license_file_path" option specified, the rlm server will listen on port 28000 (In addition to other ports in the license files). This causes no real problems; it is just confusing. This was reported on RLM v5.0 and is fixed in RLM v6.0.
|P133 - Roaming named-user license re-installation issues|
If users have roamed named-user licenses checked out when a new license is installed, when the server re-starts or re-reads the license file, it will create a new empty named user list (which is correct), then check out the roamed licenses on behalf of the users (which is also correct), but will not add the users to the (newly empty) named user list. The users are now added to the named user list. This problem was reported in RLM v5.0 and is fixed in RLM v6.0BL1.
|P132 - rlm client fails when license file has 8-bit chars|
An RLM client (and server) will fail if the license file contains 8-bit characters with the high-order bit set. This is corrected in RLM v6.0
|P130 - rlc license generation fails for token= or disable=|
rlc license generation will not generate token= or disable= licenses This problem appeared in RLM v5.0. disable= licenses will be fixed in v6.0. token= licenses are not supported in the rlc license generator.
|P129 - ISV servers can create report logs with bad version #|
RLM ISV servers can create report log files with version and revision numbers of zero. This happens when the server is started without a report log, then an options file is created to specify a report log, then the server rereads it's license file. This is corrected in v5.0BL5.
|P128 - ISV servers fail on reread with "cannot open ..."|
ISV servers will fail to open their license files on a reread if all the low-numbered descriptors (< 256) are in use. This is due to an fopen() bug on 32-bit solaris. This problem has always been present in RLM and is fixed in v5.0BL5 and later.
|P127 - Getting list of ethernet addresses can cause crash|
Getting the list of ethernet addresses on the Mac can cause an application crash. This happens when an application requests a license from the server. This problem has only been reported on Mac systems. Note that this only happens when the network is improperly configured, such that the return of gethostname() (or the "hostname" shell command) is not found in the network database. This problem appeared in v5 and is fixed in v5.0BL5 and later.
|P126 - licenses expiring before 31-dec-1999 are valid|
Licenses which expire prior to 31-dec-1999 are currently valid. This is fixed in v6.0BL2. Until then, do not issue licenses which expire prior to Jan 1, 2000.
|P125 - RLM web interface displays bad characters in options|
When the options file is read from disk (either rlm or ISV) in the RLM web interface, there are random characters appended to it. This happens most often on files with a single line with no trailing <CR> Note: these characters are in the display only, not in the file. However, if a "save options" is performed, then the bad characters are written to the file. This is fixed in v5.0BL5 and later.
|P124 - ISV server reports an incorrect requested product|
The RLM server will sometimes report (in the web interface, rlmstat, and the report log) an incorrect requested product. This happens when a token-based license is checked out and checked back in. Subsequent checkouts of non-token-based licenses will sometimes have the name of the token-based license as the requested product. This is corrected in v5.0BL5.
|P116 - (Windows) rlmhostid infinite loops|
P116 - On Windows, rlmhostid infinite loops if one of the network adapters on the system has an all-0 address or an address which is not 6 bytes in length. This can also affect clients and servers - anything that calls l_gethostid. This is fixed in v4.0BL7 and v5.0BL3.
|P123 - Activation server loses track of fulfillments|
P123 - The rlm activation server (ISV_mklic) will overwrite all fulfillment counts (except the current activation key's count) every time it does an activation. This results in activation keys being re-usable when they should not be. This is corrected in v5.0BL4. Note: this problem was introduced in v5.0BL2, and does not exist in earlier versions of RLM.
|P122 - rlc will sometimes fail during license generation.|
P122 - rlc will sometimes fail during license generation. This is corrected in v5.0BL4.
|P121 ISV servers crash with a long ISV-defined hostid|
P121 - ISV servers will crash if an ISV-defined hostid on the HOST line is longer than 53 characters. This is corrected in v5.0BL4.
|P119 (Windows) Long command line causes rlm to fail|
P119 - On Windows, if the rlm command line including -service_install exceeds 255 characters, the stack is corrupted and rlm crashes. This is corrected in v5.0BL3.
|P118 - rlm on windows does not recognize *.LIC or *.DAT|
rlm on Windows does not recognize license files which have uppercase characters in the file extension. This is fixed in 5.0BL3.
|P117 - rlm_product_options() returns no options|
rlm_product_options() returns NULL even if the license contains options. This is fixed in v5.0BL3. rlm_product_options() was introduced in v5.0BL2.
|P115 - FLEXlm compatible lockfile issues on Windows|
RLM writes the FLEXlm compatible lockfile on Windows to the system drive. FLEXlm writes the lockfile to the C: drive (at least as of FLEXlm v10.3). Starting in RLM v4.0BL6 (and RLM v5.0BL2), RLM will write the lockfile to the C: drive by default. The ISV has the option of using the older RLM behavior of using the system drive as well. Note that if the target system has no C: drive, the locking will fail and RLM servers will not run. On the other hand, if you select the system drive, RLM will lock there, and FLEXlm will do whatever it does when there is no C: drive.
|P114 - rlm_act_admin fails on x86_w2 with no db fulfillments|
(Note: This issue is the same as P102) rlm_act_admin will fail (exit) when run on a database with no fulfillments. This happens on versions built with the x86_w2 kit only. The workaround is to build rlm_act_admin with the x86_w1 kit using VS6 or VS2003. This issue is fixed in rlm v4.0BL6
|P111 - ISV servers do not detect removal of portable hostids|
The RLM ISV servers do not detect the removal of a portable (transient) hostid. This is fixed in RLM v5.0BL1.
|P108 - Users are added to named user list incorrectly|
Users are added to the named user list even when they cannot get a license due to reservations which would preclude them. This is corrected in RLM v4.0BL6
|P107 - rlm_products() returns expired roamed licenses|
rlm_products() will return expired roamed licenses in the list. This is corrected in v4.0BL6.
|P104 - rlm_get_attr_health() failure on partitioned network|
If the network between client and server nodes becomes partitioned, the client correctly notices that the license is not valid after a call to rlm_get_attr_health() (or via rlm_auto_hb()), however, the bad status will persist after network connectivity is restored. This is corrected in v4.0BL6.
|P102 - rlm_act_admin generates an access violation on x86_w2|
P102 - rlm_act_admin would generate an access violation at times on versions built with the x86_w2 kit. The workaround is to build rlm_act_admin with the x86_w1 kit. The problem is corrected on x86_w2 in v4.0BL6.
|P99 - rlmstat -avail segment faults under certain conditions|
rlmstat -avail will segment fault under certain conditions. If there are multiple license files, and a license file before the last one processed has a bad or missing HOST line (as would be the case if the license file contained only nodelocked, uncounted licenses, for example), then rlmstat -avail will segment fault. This is corrected in v4.0.
|P98 - Once a roamed license expires, it can't be checked out|
Once a roamed license expires, it cannot be checked out again. This is corrected in v4.0.
|P97 - ISV server doesn't return roaming licenses|
The ISV server does not return roaming licenses automatically. This is corrected in v4.0.
|P96 - roamed license does not get invalidated properly|
If a roamed license is checked out, then another process returns the roamed license back to the license pool, the first process will not be notified that it's license is invalid when it calls the heartbeat functions (either manually or automatically). This is corrected in v4.0.
|P86 - activation license generator can fail...|
The activation license generator will fail (core dump) on certain license types, due to a problem in the internal license printing routines. This problem can manifest itself in any license generator which creates licenses directly in a string using the rlm_sign_license() API call. The rlmsign utility is not affected. This is fixed in v3.0BL6.
|P85 - license server can "forget" roamed licenses|
If licenses are roaming, and the ISV server is stopped and restarted, creating new roaming licenses will cause the ISV server to "forget" about the old roamed licenses of the same product name. This is fixed in v3.0BL6.
|P84 - rlmstat can hang if the server goes down|
rlmstat can hang in the middle of a userlist operation if the server goes down. This is corrected in v3.0BL6.
|P81 - core dump if serverhostname is not in network DB|
rlm core dumps if the hostname on the server node is not present in the network database. This is fixed in v3.0BL6. A workaround is to ensure that the local hostname appears in the network database.
|P80 - rlm_act_request() fails on Windows Vista ...|
rlm_act_request() fails on Windows Vista if the supplied URL has a leading "http://" in the string. This is fixed in v3.0BL4.
|P75 - Missing ethernet devices on Linux return all 0's|
Missing ethernet devices on Linux will result in a good hostid of all zeroes being returned. The same result will happen on operating systems on which RLM does not support an ethernet address as a hostid. This situation now results in an invalid hostid, which will not match any hostid in a license file. This is fixed in v3.0BL4.
|P74 - licenses locked to wildcard IP address are unusable|
Counted license which are nodelocked to a wildcard IP address will not be available for checkout. This is fixed in v3.0BL4.
|P68 - rlm_products() causes application fault.|
If rlm_products() is called and a license file with only nodelocked licenses in it appears anywhere in the license list except the last position, rlm_products() will cause an application fault. This is fixed in v3.0BL4.
|P67 - Windows RLM servers do not find license files|
On Windows, if rlm is started in a folder which has a pathname with embedded spaces, it will not find license files in that folder. This is fixed in v3.0BL3.
|P65 - ISV server does not start on Windows|
If the ISV server pathname is omitted on a Windows system, the ISV server will not start. This is fixed in v3.0BL3.
|P59 - License requests for valid versions sometimes fail|
License requests for valid versions will sometimes fail when they should not. This happens if the major version # is the same, and the minor version number from the request is less than the license version number, but the minor version in the request either has more digits or the same number of digits and the last digit is higher than the corresponding digit in the license. So, for example, a request for 2.49 will fail on a license for v2.5, or v2.50. This is fixed in v3.0BL3.
|P58 - no port in LF - client connection problems|
If the port # in the license file is 0 or missing, the server starts on the default port (28000), but clients cannot connect. This is fixed in v3.0BL3. (Note: the workaround prior to v3.0BL3 is to either specify a port #, or use [email protected] in the client environment).
|P57 - rlm_products() did not report on local roam|
rlm_products() did not report on products that were roaming on the local node. This is fixed in v3.0.
|P42 - rlm will not start if hostnames don't match|
rlm will not start if a fully-qualified hostname is in the license file, but the hostname command returns the unqualified hostname. This is fixed in rlm v3.0BL3, since the servers no longer verify the hostname in the license file.
|P30 - rlm_products() causes a segment fault|
rlm_products() causes a segment fault if there are no matching products. Additionaly, it was case-sensitive. Both of these issues were fixed in v3.0BL3.
|P29 - roamed licenses on a failover server|
P29 - licenses could be roamed from a failed-over license server. These licenses could not be checked back in unless the original server is still down. The resolution is that roaming operations are no longer permitted on license pools that come from a failed server (even if only a portion of the licenses came from the failed server). Fixed in v3.0BL3
|P26 - starting rlm from a dos window|
P26 - (windows) - when starting rlm from a dos window a warning about rlm_path being NULL was generated. Fixed in v3.0BL3
Resources for software publishers and license administrators
Send us your questions or requests for technical assistance.
Follow Reprise on Twitter for news of bug fixes, product releases, and more.
Stay current on all topics related to license management
Sign up for a live demo of RLM or Activation Pro
- Linux x86 (64-bit, 32-bit)
- Windows XP, Vista, 7, 8, 10 (64-bit, 32-bit)
- Windows Server 2003 and later (64-bit, 32-bit)
- Windows 2000 (32-bit)
- Mac OS X x86 (64-bit, 32-bit)
- Solaris x86 (64-bit, 32-bit)
- Solaris Sparc (64-bit, 32-bit)
- Linux on IBM power (64-bit)
- NetBSD x86 (32-bit)
- Java (Mac, Unix, Windows)