Thank you for your feedback.
Form temporarily unavailable. Please try again or contact docfeedback@servicenow.com to submit your comments.

Geneva Patch 8

Log in to subscribe to topics and get notified when content changes.

Geneva Patch 8

The Geneva Patch 8 release provides fixes for the Geneva release.

For the Geneva Patch 8 release:
Build date: 08-16-2016_1231
Build tag: glide-geneva-08-25-2015__patch8-07-27-2016

For more information about how to upgrade an instance, see Upgrade to Geneva.

For more information about the release cycle, see the ServiceNow Release Cycle. For a downloadable, sortable version of Geneva fixed problems, see KB0598265.

Note: This version is approved for FedRAMP.

Security-related Fixes

Geneva Patch 8 includes fixes for security-related problems that affected certain applications and the ServiceNow platform. We recommend that customers upgrade to this patch for the most secure and up-to-date ServiceNow features. For more details on security problems fixed in Geneva Patch 8, refer to KB0596965.

Notable Fixes

The following problems and their fixes are ordered by potential impact to customers, starting with the most significant fixes.
Problem Affected Plugins Short description Description Steps to reproduce

Platform Performance

PRB670075

KB0594813

ServletTransaction does not account for recycled requests and leaves sessions in session sync The RESTAPIProcessor throws an exception that causes the transaction to be cancelled, but not release the session sync on the session. This results in sessions "leaking" in the queue and can eventually, in a worst case scenario, consume the whole transaction queue. The affected end user(s) experiences HTTP 429 "Rejecting request" errors. Refer to the listed Known Error KB article for details.

Persistence

PRB668233

KB0596779

Instance with an LDAP listener running Geneva P7 runs out of memory and becomes unavailable In the RecordWatcher statsListener on Geneva Patch 7, instances that use an LDAP listener to sync users or groups risk running out of memory during the transformation of imported LDAP records. Refer to the listed Known Error KB article for details.

User Interface (UI)

PRB668554

KB0596137

UI16 Duplication of banner image sys_attachment records after Geneva/Helsinki upgrade causes slow response times Slow response times have been seen after upgrading to Geneva and some builds of Helsinki when logging in and navigating in the instance. Login is taking 1+ minute in some cases. This issue is due to duplicate records inserted during the upgrade from a fix script that cause the sys_attachment table to become very large. A frequent encoded query against sys_attachment triggers delays in the instance. Refer to the listed Known Error KB article for details.

Performance Analytics

PRB678758

KB0596793

Scores not in current domain are wrongly deleted in collection cleaner job A small number of customers have reported that Performance Analytics scores are missing after upgrading. The engineering team has identified that this is due to a bug in the handling of row data stored in the table in instances that have domain separation enabled. As a result of this bug, after the collection cleaner is finished, all scores with indicators or breakdowns (or breakdown level2) not in the global domain are deleted, which is incorrect. Only scores with invalid indicators or invalid breakdowns (or breakdown level2) domains should be removed. Refer to the listed Known Error KB article for details.

Chat

PRB676159

Closing a chat session on an end user's side does not move chat into Close_Complete (state remains in waiting)
  1. Start a Support conversation.
  2. As the end user, click End chat.

Verify that the state does not change to 'Closed_Complete'.

User Interface (UI)

PRB679621

KB0595003

Clicking the Calendar button next to a date field for a Catalog item causes the Calendar widget to appear at the top of the page rather than near the field When you open a Date Field variable on a Catalog item, the Calendar widget appears at the top of the page rather than near the field. Refer to the listed Known Error KB article for details.

Reporting

PRB660102

KB0596724

When a report saves for the first time, the groups and users in the sharing options are not saved When a report saves for the first time (initial save, insert, or insert and stay), the groups and users in the sharing options are not saved. The error message "Number of rows removed from this list by Security constraints" is displayed.

Do one of the following processes:

  1. Create a new report, but do not save the report.
  2. Click the drop-down arrow next to Save and select Sharing.
  3. Click Groups and Users.
  4. Specify a group.
  5. Click Close.
or
  1. Open an existing report with sharing options on Groups.
  2. Click the drop-down arrow next to Save and select Insert or Insert and Stay.

Service Catalog

PRB664557

KB0594575

Catalog UI policies are not applying to variables in a RITM / Catalog Task variable editor when read-only Catalog UI policies and catalog client scripts set to 'Applies on Requested Items' or 'Applies on Catalog Tasks' can fail when a write-role has been specified on the variable and a user views the record while logged in as (impersonating) a user that fails the role check. Refer to the listed Known Error KB article for details.

User Interface (UI)

PRB659934

Accessing a public report from type List deletes the default record of the report table from sys_ui_list, causing the default list for a table to revert to its system-generated version When having a public report from type list, accessing it results a deletion of the default record from the sys_ui_list table. This means that the list layout which was configured by the administrator is lost. In addition, a record is created by the guest user on the sys_ui_list table, where the View field is empty.
  1. Clear the cache.
  2. Navigate to incident.list.
  3. Confirm that there is a list for the incident table on the default view by going to the following URL - leave this window/tab open to refresh later: sys_ui_list_list.do?sysparm_query=view%3DDefault%20view%5Ename%3Dincident
  4. Create a public list type report on the incident table.
    • Navigate to Reports > View/Run > Create a Report.
    • Data: Table, Incident
    • Save.
    • From the Save drop down arrow, click Publish > Copy Public URL.
  5. Open an incognito window or another browser to make sure you have no active sessions to the system you were in.
  6. View the URL copied in step 4, and then close that browser.
  7. Refresh the list from step 3.

Note that your task list is no longer there.

Table Rotation/Extension

PRB664049

KB0595625

Database Rotation In Table Rotation/Extension, any index name that begins with "u" and is defined on the base shard is not added to newly created shards In Table Rotation/Extension, any index name that begins with "u" and is defined on the base shard is not added to newly created shards. The main table affected is new shards of sys_email. For sys_email, each new table shard is queried by the POP Reader job. The missing index for this new shard on the "uid" column causes substantial delays with the POP Reader job. Refer to the listed Known Error KB article for details.

User Interface (UI)

PRB656058

Browser attempts to apply a username and password at the user form when the browser Save Password is in force
  1. Log in to an instance and select to Save Password.
  2. Go to an existing or new user record.

The password field will be filled in with the login password, and the field immediately prior (typically Department) will have the login username filled in.

User Interface (UI)

PRB667491

NG shared components CC: field does not show up on activity formatter when using UI16, but shows when using UI11 in the same instance After configuring email on an instance with UI16, if you send an email from an incident, the emails will not show the CC field when displayed in the activity formatter on this incident.
  1. If an instance email is not already active, provision one (Service Catalog > Provision Instance Email > input instance name, click Order Now).
  2. Navigate to System Properties > Email Properties.
  3. Add an email address for "Send all email to this test email address (non-production testing)".
  4. In the Email Properties, make sure that Email receiving enabled is checked.
  5. Pull up an active incident from the incident table.
  6. Click the '...' at the top of the incident and click Email.
  7. Enter in a valid email address (your own) for the To and CC fields, type something into the body, then click Send.
  8. Notice that in UI16, the CC field does not show in the activity formatter.
  9. Switch to UI11 (navpage.do?sysparm_device=desktop) and pull up the same incident.

Actual behavior: Notice that it does show the CC field in the activity formatter.

Expected behavior: The CC field should show regardless of what UI you are using.

User Interface (UI)

PRB692216

KB0597917

Safari 10.x in MacOS Sierra sends users to UI11

When a user logs into certain versions of a Fuji, Geneva, and Helsinki instance using Safari 10.0 (Mac Sierra beta version), they are redirected to UI11/U14.

The user agent off of the new Safari 10 is: "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12) AppleWebKit/602.1.38 (KHTML, like Gecko) Version/10.0 Safari/602.1.38".

Refer to the listed Known Error KB article for details.

All Other Fixes

Problem category Affected Plugins Short description Description Steps to reproduce

Change Management

PRB674593

Change Request Inconsistent behavior in the 'Planned Start/End Date validation' business rule between Eureka and Geneva releases The business rule 'Planned Start/End Date validation' is aborting the creation of change_request records in Geneva that it allowed in Eureka with the same criteria. Users with scheduled templates have their templates fail without any notification after an upgrade from Eureka to Geneva.
  1. Open a new change request.
  2. Set the planned start and planned end dates to be the same.
  3. Try to save the record.

A warning message is shown stating that the planned end date needs to be after the planned start date.

Chat

PRB667004

Geneva with legacy chat: SN session timeout interval not recalculating if user types in chat
  1. Navigate to Plugins > Chat. Ensure that only legacy chat is enabled - the new Connect Support should not be enabled.
  2. Enable the following Chat debug properties:
    • glide.chat.log = true
    • glide.chat.debug = true
  3. Override the base system 30 minute timeout by adding the 'glide.ui.session_timeout' system property with value: 5.
  4. Log into Chrome as System Admin.
  5. Launch /ess and click the Chat button in the upper right.
  6. Log into another browser as Fred Luddy, launch Social IT > Chat, then Answer.
  7. As Fred Luddy, type a message BEFORE the expected 5 minute timeout and note the time.
  8. The session timeout prompt will still be received 5 minutes from opening chat_desktop.do.
2016-03-17 09:42:43 (854) http-28 New transaction FE55E294119612004E822E581A56A23A #14908 /chat_desktop.do
2016-03-17 09:47:47 (691) http-7 session logout (AMB) FE55E294119612004E822E581A56A23A 
2016-03-17 09:47:47 (702) http-7 SYSTEM session logout BC5409125F79F46286CCF93627B4BD37 
2016-03-17 09:47:47 (869) http-33 New transaction FE55E294119612004E822E581A56A23A #15281 /amb_login.do 
2016-03-17 09:47:47 (896) Default-thread-15 SYSTEM WARNING *** WARNING *** User Mismatch glide_user=fred.luddy glide_session_user=guest cookie_user= requestURI=http://<ip_address>16000/amb_login.do

Chat

PRB667768

Connect chat timestamps are inaccurate and do not update during chat session Users actively in a Connect chat see all new messages stamped with 'just now' for their time. The only way to update the times is to refresh the window. Even when updated, times labeled 'x hours ago' are too inaccurate for critical use situations.
  1. Log in as admin.
  2. Start a new Connect chat.
  3. Invite some test users (e.g. Beth Anglin, Joe Employee).
  4. All messages entered will be time-stamped with 'just now'.
  5. Intermittently update for about 10 minutes and note the earlier messages still say 'just now,' identical to the newest message(s).
  6. Refresh the page and see the timestamps are calculated as 'minutes ago, hours ago,' etc.

Chat

PRB668543

Connect Support - Chat Queue Entry: Unexpected results for aggregate data (wait time and action) make reporting and tracking difficult/impossible Chat queue entry data is generated in a way that seems strange to administrators and makes reporting difficult. Specifically, the wait time appears to be updated to match the total duration when the session is closed, and the action is set to abandoned when complete. However, this does not align with customer expectations. Additionally, in Helsinki, it does not appear that there is a way for a user to END a chat - that responsibility appears to be available only to the Support Agent.
  1. Activate the Chat plugin.
  2. Activate the Connect Support plugin.
  3. Open two distinct browser sessions, one impersonating Joe Employee, the other impersonating Fred Luddy.
  4. As Joe, navigate to this URL and start a chat: $chat_support.do?queueID=c54f0abf0a0a0b452db84664f409c79c
  5. As Fred, accept the chat, then:
    • Bring up the chat queue for Service Desk chat.
    • Find the Chat Queue Entry for the chat you just created in the related list.
    • Note the wait time and action. The wait time should reflect the amount of time that the user waited for the chat to be accepted, and the action should reflect 'accepted'. These values make sense.
    • Send a few replies to the chat.
  6. As Joe, send a few replies to the chat, then:
    • Realize that you no longer need assistance and attempt to close the chat. You cannot.
    • Send a message to Fred indicating that you are good to go.
  7. As Fred, end the chat, then:
    • Navigate back to the chat queue entry for the chat.
    • Note that the wait time matches the duration and that its status is 'abandoned'.

Summary of issues

  • The wait time should not change, but it seems to reflect the total duration of the chat instead of only the wait time.
  • The action shows as 'abandoned', which seems a bit strange since no one actually abandoned the chat. The customer expectation is that 'abandoned' should only be set when the user leaves a chat before it was accepted, and there should be other actions to indicate that the issue was solved in the chat or that the chat was transferred to an incident.
  • The action shows as abandoned even if you create an incident from the chat.

Chat

PRB674127

Connect Support Customers activating Connect Support need to have legacy chat conversations moved to the Closed Complete state When customers who have previously used legacy chat set a conversation limit in Connect Support, some support agents are unable to accept Connect Support conversations. This is because the system stores Connect Support conversations on the same table as legacy chat conversations, Chat Queue Entry [chat_queue_entry], and legacy chat conversations use a different field than Connect Support to indicate closure. If an agent is assigned more legacy chat conversations than the number specified in the connect.support.conversation_limit property, that agent cannot accept Connect Support conversations because the legacy chat conversations are seen as active.
  1. Have a few help desk chats open as an agent using legacy chat.
  2. Activate the Connect Support plugin.
  3. Set the connect.support.conversation_limit property to 1.
  4. As an end user, initiate a Connect Support conversation.
  5. As a Connect Support agent, try to accept the conversation.

The system will not allow the agent to accept new support conversations.

Chat

PRB675171

Setting 'collaboration.frameset' to false prevents chat windows from appearing from avatar interactions When right-clicking on a user's avatar, an option appears called "Open a new chat". If collaboration.frameset is false, clicking this option produces no output since the frameset appears to control the appearance of the chat window.

In a Geneva instance:

  1. Set collaboration.frameset to false.
  2. Try to open a new chat with a user using avatar interaction. The easiest way is to open a VTB and attempt to open a chat with yourself.

Chat

PRB676067

Collaborate Actions: Even after 'Transfer' to another queue, 'conversation.table' record still references previous chat_queue_entry_record

In a Geneva instance with the Connect and Connect Support plugins activated:

  1. In one browser session, impersonate Abel Tuter.
  2. In another browser session, impersonate Don Goodliffe.
  3. As admin, navigate to Collaborate > Actions.
  4. Add this gs log entry in the script for the Create Incident action and Save:
    gs.log("conversation record" + conversation.document.sys_id);
  5. As Abel Tuter, go to ess and initiate a Service Desk chat.
  6. In Don Goodliffe's session, Transfer the chat to HR Support.
  7. Impersonate Beth Anglin, Accept the HR Support chat, create an incident, and save the incident.
  8. As admin, verify the script logs.

The sys_id from the log statement refers to the old chat_queue_entry instead of the new one.

Chat

PRB682848

Connect Requests to /api/now/collaborators/all are slow for large conversation lists Users who are members of many conversations (100+) can experience slow load times in Connect. In particular, requests to collaborators/all can take multiple seconds to resolve.
  1. Include a user in 100 groups that each have 10 members.
  2. Make a request to /api/now/collaborators/all.

Notice that the response can take several seconds to complete.

Chat

PRB684434

No messages should be generated inside a record activity stream when a user follows a case When you follow a case, your name is entered in the log as "added to the group". However, because this is a public comment, it generates an email to the user with the change. Messages such as these are unnecessary.

Chat

PRB684676

NGPresenceArray.build will swallow exceptions The catch block in NGPresenceArray catches Exceptions but does not check for transaction cancellation. This can lead to a stuck semaphore.

Chat

PRB689533

Idle time countdown does not work
  1. Start a support conversation.
  2. Have an agent answer.
  3. Wait for the idle message box to appear.
  4. Move the mouse cursor into the client window.

Note that the timer stops.

Chat

PRB691776

Support chat - Messages from a user in a lower-level domain will not appear immediately in the chat queue For chats to appear, a refresh is required.
  1. As ACME.employee, open the URL to the ACNME support queue as a user. (You must construct URL manually or have a shortcut already established to it.)
  2. As ACME.employee, view the incoming chat request in the queue.
  3. As MSP.itil, accept the chat.
  4. As MSP.itil, acknowledge the chat with a message.
  5. As ACME.employee, type a message back to MSP.itil.
  6. As MSP.itil, respond to the message.

Actual result: Users have to refresh in order to see and respond to messages.

Expected result: Users are able to see each other's messages immediately.

Chat

PRB706341

Create Case action missing in Live Chat
  1. Activate Customer Service with demo data.
  2. Impersonate and log in as Abel Tuter in one browser.
  3. In another browser, impersonate and log in as Beth Anglin to the CMS portal.
  4. As Abel Tuter, initiate a conversation. Click Chat.
  5. As John Jason, Accept the chat queue.

Notice the 'Create Case' action is missing from the dialog.

Cloud Management Application

PRB660302

If the "Data disc not desired" is set for a VMware size, and attempt to provision a VM with that size, VM provisioning fails

Prerequisites

  1. Enable VMware.
  2. Configure MID Server.
  3. Run Discovery.

Steps to reproduce

  1. In the VMware sizes module, check Data disk not desired on a size.
  2. While ordering a VM, choose the size for which we checked Data disk not desired in step 1.

Note that VM provisioning fails. There is an issue when adding the data disk to VMware instance "mvmwareinstancesizeissue1".

Cloud Management Application

PRB682972

AWS Cloud provisioning report appears to misinterpret the day as the month when "glide.sys.date_format" is not YYYY-MM-dd For the script include "BillingReportDateTimeUtil" and its inside functions getCurrentMonth and getCurrentYear:
  • GlideDateTime(gs.nowDateTime()) will return date in the default format YYYY-MM-dd
  • GlideDateTime(gs.nowNoTZ()) will return date in the format specified by glide.sys.date_format

CMDB

PRB677848

CMDBMetadata should not rely on calculated field "name", since it can get translated into other languages When an instance's language is changed, the CMDBMetadata cache is not reloaded. As a result, when using RelationDescriptors from this class, they appear in the wrong language. It also makes finding relations using this class quite difficult unless the user has the ID ready.
  1. Work on your instance with some language (e.g. English).
  2. Change the instance's language (e.g. Spanish).
  3. Try to work with CMDBMetadata's RelationDescriptors.

You will see that their names appear in the previous language.

CMDB

PRB687008

In the presence of multiple duplicate records, incorrect record gets selected as candidate for matching, leading to record reclassification

The code for processing for de-duplicating records in CMDB works as follows:

The code enumerates relations in the CMDB, based on criteria from the payload passed to the Identification Engine. The first phase creates a list of all the records involved in a certain relation with another record. The second phase refines the list down to the records that actually match the input data (thus detecting real duplicates). Finally, one of the records from the second list is used as the match for the Identification process. The problem is a code bug where the wrong list is used for the final step, thus leading to the selection of an incorrect record.

CMS

PRB636318

KB0551811

Content Management Adding gauge or report to a CMS page results in 'You are not authorized to view this page' If a user adds a report to the a CMS page, once you load the page, the error message 'You are not authorized to view this page' appears. After a refresh, the message goes away. Refer to the listed Known Error KB article for details.

Configuration Management Application

PRB666439

Edit button disappears for admin users after activating the Chef Configuration Management plugin After you activate the Chef Configuration Management plugin, the edit button on the Roles related list for sys_user disappears for an admin user. This occurs when the admin user is viewing a user record that has the itil role if itil inherits other roles.

In a Geneva instance:

  1. Log in as admin.
  2. Activate the com.snc.chef plugin.
  3. Go to sys_user and open a user record.

If the user has the itil role, the edit button does not appear. If the user does not have the itil role, give them the itil role and you will see the button disappear.

Data Certification

PRB689941

Certification v2 [UI11]Data Certification Checkbox functionality on the cert elements not working on a single row Fuji+

In a Fuji or later instance:

  1. Activate the Data Certification plugin with demo data.
  2. Go to UI11 by either turning the glide.ui.doctype property to False and log back in to the instance OR append the instance url with /navpage.do?sysparm_device=desktop.
  3. Navigate to Data Certification > Tasks > All Tasks and select TSK0009067.
  4. In the Certification list at the bottom, select a row by checking the far left checkbox.

This is supposed to select the entire row, but it does not.

Dependency Views (BSM Map)

PRB678732

Next-Gen BSM Translations missing in BSM map menus

In a Geneva instance:

  1. Activate the French I18N plugin.
  2. Select any configuration item and click the BSM map.
  3. Right-click on the map or on a CI.

The menu and the "Loading dependencies map" message are not translated.

Dependency Views (BSM Map)

PRB679688

DV: The search map > provider contains items which are null When searching for a CI, but the CI and its permissions are sent as null values, the Dependency Views search does not function as expected.

Discovery

PRB646502

QuickDiscovery fails in the context of workflow JS engine The JS code executed in the workflow engine behaves slightly differently from the engine executed through scripts background. When executing the Quick Discovery API call shown below in the RunScript context, it fails in the ShazzamLaunch script include.
var d = new Discovery();
var statusID = d.discoveryFromIP(TARGET_IP, TARGET_MIDSERVER);
The error happens when it gets to the following two if statements, where it is executing functions that no longer exist in the DiscoveryStatus script include.
if (this.status.includeActiveAlive() || this.status.includeAll())
  probe.addParameter('report_inactive', 'true');

if (this.status.includeAll())
  probe.addParameter('report_dead', 'true');

Discovery

PRB655630

Orchestration-based VMware discovery failing The Discover vCenter orchestration workflow fails at the Run Probe (Discover vCenter) activity with an error.
Caught exception in InterpretedScript <refname>:
org.mozilla.javascript.InterpretedScriptException:
Caught exception in InterpretedScript <refname>:
org.mozilla.javascript.JavaScriptException:
org.mozilla.javascript.WrappedException:
WrappedException of The undefined value has no properties.
(Discover vCenter.fd8be4aa1354d200b0ad7aa12244b071; line 27)

Discovery

PRB660587

AutomationEncrypter sometimes fails when decrypting values

Discovery

PRB662677

vCenter Discovery fails when Orchestration and VMware support plugins are active vCenter Discovery fails, and users see "Exception: DiscoveryDataRate script doesn't exist."

On an OOB instance:

  1. Install the Orchestration and Orchestration-VMware support plugins, but not the Discovery plugin.
  2. Discover a vCenter instance that uses fiber channel as described in Discovery for VMware vCenter.

Actual behavior: Exception: DiscoveryDataRate script doesn't exist

Expected behavior: Successful Discovery. Users should not be required to install Discovery, since it is part of Orchestration.

Discovery

PRB666816

Configuration Management (CMDB) NIC add/removal logic is merging distinct CIs

For the OOB product, it was decided not to enforce an exact count match for the network adapter lookup rule for cmdb_ci_hardware. This was to allow the same CI to be identified even if its NICs were changed (added/removed).

A case occurred where two distinct CIs shared one network adapter, and the CIs had 4 other distinct NICs each. In Fuji, the legacy identification engine would only match on NIC if there was an exact count match. Currently, the IE logic will merge these two distinct CIs since they share one common adapter (i.e. thinking 4 NICs were replaced). This needs to be addressed.

  1. Run Discovery on 2 CIs with one network adapter, and 4 other distinct NICs each.
  2. Notice that the CIs were merged into one after matching on the cmdb_ci_hardware rule that looks on the cmdb_ci_network_adapter table.

Discovery

PRB667447

SAM Software Installation table Last Scanned and Discovery Source fields are not updated by Discovery or HTHD During a discovery, the Software Asset Management plugin Software Installations table's (cmdb_sam_sw_install) Last Scanned and Discovery Source fields are not updated by Discovery.
  • In Eureka: Last Scanned field is updated; Discovery Source is not.
  • In Fuji/Geneva: Neither field is updated.
If an instance had discovered things while running Eureka, those values will not get updated or cleared after upgrading. The values will get more and more incorrect. Although cmdb_sam_sw_install does not extend cmdb/cmdb_ci, these fields would be expected to be filled in the same way as a CI.

In a Fuji or Geneva instance:

  1. Install the 'Discovery' and 'Software Asset Management' plugins.
  2. Set up a Windows MID Server.
  3. Do a quick discovery of 127.0.0.1 via the MID Server, to discover that MID Server.
  4. Check the Software Installations table: /cmdb_sam_sw_install_list.do.

Several records will be created. Updated and Updated by will show that the MID Server just added those records, but the Last Scanned and Discovery Source fields are empty.

Discovery

PRB670615

Integration - Microsoft SCCM 2007, Integration - Microsoft SCCM (Deprecated), Integration - Microsoft SCCM 2012 (deprecated), Integration - Microsoft SCCM 2012 v2 Identifier issues with lookup and empty hostname
  1. Using legacy identifiers, any identifier could be disabled by setting 'active = false'. This would skip that particular identifier from processing, but others would continue.
    • Using the CMDB Identification Engine (Geneva+), if a lookup rule is disabled, processing will stop before any matching occurs.
  2. Using legacy identifiers, if two CIs match on name, only one CI will be created.
    • Using the CMDB identification Engine (Helsinki+), it is possible for two CIs to be created - one with an empty name when two CIs match on name.
To reproduce issue #1 (lookup)
  1. Disable the identifier entry lookup on 'cmdb_ci_network_adapter' for the 'cmdb_ci_hardware' rule.
  2. Discover a device that uses rule from (1).
  3. Notice the following error in the Discovery log:
    CMDB Identification Error: Identity Rule 'cmdb_ci_linux_server'
    missing Lookup Rule for 'cmdb_ci_network_adapter'
To reproduce issue #2 (empty CI name)
  1. Make sure the 'name' identifier entry for the cmdb_ci_hardware rule is the only active rule.
  2. Discover two CIs with the same name.
  3. Notice that two CIs are created, and one has an empty name.

Discovery

PRB674184

File Probe Template may still execute even if a matching local file based probe does not exist File probe templates limit what probe a MID Server may execute to probes that only exist on a file system. Starting with Geneva, even though there is an error that indicates a template does not exist, the probe is still executed. An input ecc_queue record is returned that contains both an error and the results of the probe. In a Geneva instance:
  1. Create a new Linux MID Server (or link an existing one).
  2. On the MID Server host, create some file location to use where you would store these File Probe Templates (e.g. /tmp/probes).
  3. In the config.xml file on this MID Server, add these following parameters:
    <parameter name="file_probe_template_dir" value="/tmp/probes"/> 
    <parameter name="file_probe_template_debug" value="true"/>
    ("file_probe_template_dir" is the location you created from step 2 above and "file_probe_template_debug" is optional, but available to use)
    Note: Do not add "file_probe_template_capture", as this will allow you to create new records here, which is not what we want at this time.
  4. In your instance, open the ecc_queue list view and create a new record here with these values:
    • Agent: mid.server.[MID Server name]
    • Topic: Command (or SSHCommand)
    • Name: ls -l
    • Source: [Can leave empty or put the localhost IP of the MID Server]
    • Queue: output
    • State: ready
As this command runs and you get the input back, you may get the following error:
Probe not executed. file probe template not found: Command.ls__l
However, if this probe ran, you will get results resembling the following:
drwxr-xr-x. 3 user.name user.name 4096 Apr 26 22:43 bin 
drwxr-xr-x. 2 user.name user.name 4096 Apr 27 09:54 conf 
-rw-rw-rw-. 1 user.name user.name 6121 Apr 27 10:16 config.xml 
drwxr-xr-x. 2 user.name user.name 4096 Apr 23 22:34 etc 
....

Discovery

PRB683515

CyberArk App-IDs are hard-coded as part of the MID Server CyberArk App-IDs are hard-coded as part of the MID Server, but these need to be configurable.

Discovery

PRB683929

Geneva - Linux CPU core count is not always correct

Discovery

PRB699887

SSHTerminalCommand script fails due to changes in DiscoveryProviderFactory
  1. Run Discovery on an ACE load balancer.
  2. Note that you receive the following error: "Warning TypeError: Cannot convert null to an object."

The load balancer is not discovered.

Discovery

PRB701403

F5 - OS classification probe returns unhandled error For the F5 - OS probe in UNIX - Classify, most devices will return the following error:
<results error="bash: tmsh: command not found Exit status: 127 " probe_time="540" result_code="900000">
<result error="bash: tmsh: command not found Exit status: 127 ">
<output/>
</result>
This happens because the command "tmsh" is only typically installed on F5s, which also have SSH capabilities. Handling such errors also fires additional classifiers, but since the UNIX - Classify probe also has a positive result from the UNIX - OS probe, that path succeeds.

Run a Discovery of a device that is discoverable by, for example, both SSH and SNMP. The device must not have the "tmsh" command installed (this is only common on F5 devices).

Actual result: UNIX - Classify and SNMP - Classify both succeed, and then identify and explore both. The device history record will only point to one CI, but checking the CMDB will show that both the Linux server and a Switch are created.

Domain Support

PRB678029

KB0594841

Domain Support Upgrades to Geneva for instances with domain-separated tables results in reinstalling domain paths which extends the duration of the upgrade

ServiceNow engineers have identified a scenario that will cause upgrades to Geneva to take more time than normal if the domain path data is incorrect before the upgrade. The upgrade will automatically fix the errors and there will be no adverse impact to the instance; however, this problem will increase the upgrade time as the data in all the domain-separated tables are updated.

At Risk: Instances on Pre-Geneva versions, with domain separated tables containing validation errors, upgrading into Geneva.

Refer to the listed Known Error KB article for details.

Email

PRB667700

Customized watermark prefixes is not working

When using custom watermark prefixes, inbound email actions do not identify a valid watermark as a reply.

The fix for this PRB fixes the behavior for watermarks in emails. Refer to Create a custom watermark prefix for email notifications for details.

  1. Go to Number maintenance to change the watermark of an incident to MSGTEST.
  2. Create an incident and find a email sent with the new watermark (e.g. MSGTEST00001).
  3. Create a new email in Outlook as follows and send back to the instance:
    • Subject: a new email with watermark
    • Content: adbdadf
    • Ref:MSGTEST00001

Expected behavior: The replied email should be classified as a "reply", and it should recognize the custom watermark "MSGTEST".

Actual behavior: The replied email will be classified as "new", and the watermark "MSGTEST" will not be recognized.

Event Management Application

PRB675347

Bulk event send, which is being used in events sent from the MID, does not use the dedicated EM semaphore In Geneva, event sending was switched from REST to sending events in bulk using SOAP. Event Management has a dedicated pool of 4 semaphores (threads) dedicated for event reception. These are defined in the sys_semaphore table. However, the definition in that table is only for the API, not the SOAP. As a result, events sent using SOAP are being received by the default semaphore pool, which can potentially cause the UI to become unresponsive.

Event Management Application

PRB686151

Event Rule - in composite fields, logic \n and \r are replaced by ' ' For example, in the Event.normalizeSpaces function's composite fields, the logic \n \t and \r are removed.
  1. Create an event with a description containing new lines.
  2. Create an event rule, transforming the description in some temporary field, and then compose it back to the description.

Note the description of Alert: there are no more new Lines there.

Event Management Application

PRB686995

KB0596391

An empty task is created when an Event Management Alert (em_alert) record state is changed from Closed to Reopen If an Event Management alert State is changed from Closed to Reopen, and the alert does not have a linked Task, the "Reopen associated closed incident' business rule still runs. This business rule should not run if the em_alert.incident field is empty, but it does due to:
  • a mistake in the condition
  • a get() on task using a null value, followed by an update(), causing an empty open 'task' record to be inserted
Refer to the listed Known Error KB article for details.

Event Management Application

PRB687227

KB0596148

ImpactCalculator job causing OOM issues Performance degradation will occur on application nodes running ImpactCalculator jobs, which are triggered from the "Impact Calculator Trigger" auto script. Refer to the listed Known Error KB article for details.

Facilities Service Management

PRB675428

Facilities Service Management, Facilities Move Management, Facilities Service Management Mobile, Facilities Visualization Workbench, Facilities Service Management Floor Plan Viewer Changes to Facilities request assignment group are overwritten on update When upgrading an instance, any changes made to 'Facilities request assignment group' are being overwritten and lost.
  1. In Geneva Patch 4, enable the Facilities core plugin.
  2. In Groups, find the "Facilities request assignment group" and mark it as inactive.
  3. Upgrade the instance to Geneva Patch 5.

Expected behavior: "Facilities request assignment group" should remain inactive.

Actual behavior: The "Facilities request assignment group" is active again as if no changes were made.

Facilities Service Management

PRB688013

Facilities Visualization Workbench Facilities map is not centering correctly Some facilities maps are not centering correctly. This occurs because some features of maps are not being accounted for when centering a floor plan.

Facilities Service Management

PRB689778

Facilities Service Management 'fix_cmn_location_classifier.xml' fix job updates Custom Dictionary records that are References to cmn_location table and moves those from a Private scope to Global scope If there is a custom scoped application on an instance which has one or more Dictionary definitions to reference the cmn_location table, when activating Facilities Service Management on Geneva or upgrading to Geneva with Facilities Service Management already active, 'fix_cmn_location_classifier.xml' runs as expected. However, the way it updates these records will move them from their Private scope to the Global scope and change the Package from the Custom Scoped Application to 'Facilities Service Management'.

On a Geneva instance:

  1. Create a custom scoped application with a table and a reference field to the cmn_location table.
  2. Activate the 'com.snc.facilities_service_automation' plugin.
  3. Notice that the scope of the Dictionary record created in step 1 has changed to Global and that the package is now 'com.snc.facilities_service_automation'.

On a Fuji instance:

  1. Activate the 'com.snc.facilities_service_automation' plugin.
  2. Create a custom scoped application with a table and a reference field to the cmn_location table.
  3. Upgrade the instance to Geneva.
  4. Notice that the scope of the Dictionary record created in step 2 has changed to Global and that the package is now 'com.snc.facilities_service_automation'.

Financial Management

PRB673080

Financial Management Global write ACL on sys_user table is making fields read-only after turning on Project Portfolio Suite with Financials plugin The global write ACL on sys_user table ACL returns false and has no other script in it.
  1. Install the Financial Management plugin.
  2. Log in as a non-admin user and navigate to a user record.

Forms

PRB603857

Autocomplete issues with double-byte character set (DBCS) (Japanese and Chinese) When double-byte alphabets are used in the Caller field, the Caller Option field does not appear.
  1. Start Windows 7 in a VM.
  2. Navigate to Control Panel > Region and Language.
  3. Set the Language to Japanese. The language bar appears after the change.
  4. In a ServiceNow instance, navigate to Incident > Caller Option.
    1. Single-byte characters: Choose "半角英数(P)" in the language bar. Type "ab" in Caller field. The Caller Option appears.
      Note: "半角英数(P)" is single-byte alphabets.
      Double-byte characters: Choose "全角英数(L)" in the language bar. Type "ab" in Caller field.
      Note: "全角英数(L)" is double-byte alphabets.
    2. Type "fn" key + F10 (Mac keyboard). Double-byte "ab" is converted to single-byte "ab".
    3. Note the Caller Option does not appear right away.
    4. Hit Space key and the backwards key. Then, the Caller Option appears.

Forms

PRB666131

KB0583973

If field preceding activity stream is read-only, the stream does not show inputs

If Additional Comments and Work Notes are on a separate section of the form or not followed by the Activities (filtered), and there is a read-only field (for ITIL users) before the Activities (filtered), the fields do not display for ITIL users.

Conditions to reproduce the issue:
  1. Must be ITIL user
  2. Journal fields must be in different section than activity formatter, or not following the activity formatter does not follow the journal fields
  3. There must be a read-only field for the ITIL user before the activity formatter
  1. Log in as an administrator.
  2. Open an incident form, navigate to Configure > Form Layout, and create a new form section.
  3. Add the following fields to the new section: Additional Comments, Work Notes, and Activities (filtered).
  4. Verify that the newly created fields are displayed.
  5. Impersonate an ITIL non-admin user.
  6. Open an incident.

    Note that the Additional Comments and Work Notes input fields are not displayed.

  7. End the impersonation and go back to the administrator session.
  8. Remove the Activities (filtered) field from the affected form section.
  9. Impersonate an ITIL non-admin user.

Note that the Additional Comments and Work Notes input fields are displayed.

Forms

PRB677496

Duplicate .js include files causes degradation in form performance
  1. Open the developer console.
  2. Go to any Incident record.
  3. In the search box in the console section of the developer tools, type in GlideMenu.js or CookieJar.js.
Note these files are loaded more than once. There are 34 JavaScript files that are loading twice or more.

Foundation

PRB675216

Service Management Core Performance issue: System hangs when loading Facilities Request Templates form if instance has excess (75k+) CMDB (cmdb_hardware_product_model or cmdb_consumable_product_model) records

Users typically have large data sets for CMDB CI records. The Facilities Request Template form hangs upon loading if the CMDB tables cmdb_hardware_product_model or cmdb_consumable_product_model has a large number of records. This was tested with 75K+ row counts in cmdb_hardware_product_model table.

The OOB script include 'SMTemplateHelper' performs a GlideRecord query against these tables, and it takes a very long time to process data. The system eventually times out and does not load the form. The system should not hang while trying to handle such large CMDB data sets.

In a Geneva or older instance with large data sets for the cmdb_hardware_product_model or cmdb_consumable_product_model tables:

  1. Activate the Facilities Service Management plugin.
  2. Go to Facilities Request Templates and try to open any of the existing OOB records.

The system hangs while trying to open the Facilities Request template record.

Foundation

PRB681402

Service Management Core Unable to create a Template (Facilities Module) with system property 'glide.invalid_query.returns_no_rows' set to 'true' When loading a catalog list to attach it to a template, the list does not load due to an invalid query. There is an Angular AJAX request on the page that runs an invalid query:
p=sc_category;q:nameSTARTSWITH^nameISNOTEMPTY^EQ;
r:sc_catalog=e009c323ff031100a0a5ffffffffff37
Because there is no 'name' field on the 'sc_category' table, it will cause nothing to load when 'glide.invalid_query.returns_no_rows' is set to true. This causes the query to return 0 results and prevents the user from submitting a template for publishing via the Angular UI.

In a Geneva instance:

  1. Make sure that the Facilities Service Management plugin is active.
  2. Make sure the system property 'glide.invalid_query.returns_no_rows' is set to true - if it does not exist, it will need to be created with following:
    • Name: glide.invalid_query.returns_no_rows
    • Description: Controls how invalid GlideRecord queries are handled. By default, if a query is incorrect, such as an invalid field name, that part of the query condition is ignored and results will be based on the valid part of the query. When this property is true, invalid queries will always return no rows. When enabled, this logic can be overridden at the session level by executing gs.getSession().setStrictQuery(false). To restore strict query, execute gs.getSession().setStrictQuery(true).
    • Type: True | False
    • Value: True
  3. Go to Facilities > Catalog Knowledge > Facilities Request Templates > click New.
  4. Use 'test' for both the Name and Short Description fields.
  5. Click Submit.
  6. Click the dropdown for Category.

Expected behavior: The catalog list loads in the dropdown.

Actual behavior: The list does not load at all.

Foundation

PRB688438

Service Management Core Assign to Me button does not work without 'dispatch_group' field on form
  1. Load the Facilities Service Management plugin.
  2. Remove the 'Dispatch group' field from the Facilities Request Task form.
  3. Log in as a Facilities Management Agent.
  4. Create a Facilities Request with a Facilities Request Task on it.
  5. Click the Assign to Me button.

Notice it does not work, and there is an error in the browser console.

Governance, Risk and Compliance

PRB675185

Governance, Risk, and Compliance (GRC) Control test condition in Control Test Definitions does not filter records from a database views table
  1. Create or open a Control Test definition.
  2. Check Collect supporting data.
  3. Fill all mandatory columns and pick Basic for the Condition type.
  4. Fill out the condition section as follows:
    • Table: Incident SLA (incident_sla)
    • Fields: add some fields
    • Control test condition: Short description Start With CPU
  5. Click Execute Now. The incorrect records are displayed.
  6. Modify the condition section as follows:
    • Table: Incident (incident)
    • Fields: add some fields
    • Control test condition: Short description Start With CPU
  7. Click Execute Now. The correct records are displayed.

Governance, Risk and Compliance

PRB676390

GRC Control Test Definition loses the 'Recipients' field after upgrade to Geneva

In the Geneva release, the GRC plugin implemented the Recipients field differently, as stated in the release notes.

For users who were using the GRC plugin in Fuji, the recipients field was part of the survey_creator UI macro, and now the field is no longer displayed in Geneva. For example, a user with 1600+ test records needs to be able to migrate the data from that field to the new user recipients list.

In a Fuji instance:

  1. Activate the GRC plugin.
  2. After activation, type GRC in the filter navigator and select Controls > All > click New.
  3. Fill in the name field with 'test' and submit.
  4. Under the control test definitions related list, click New:
    • Name field: test
    • Condition Type: Attestation
    • Check the collect supporting data box
  5. The attestation questions formatter is displayed; you can add 1 question and fill out the "recipients" field.
  6. Save.
  7. Upgrade this instance to Geneva.
  8. Go to the Control Test Definitions table and locate your test record.

Now there is an empty "User recipients" field. Under the "attestation questions" formatter area, there no longer is a recipients field.

IT Operations Management

PRB679897

SDLC - Software Development Life Cycle Upgrade overwrites related list customizations for rm_enhancement Various Fuji upgrades (e.g. Fuji Patch 5 to Fuji Patch 12 Hot Fix 1) overwrite the 'rm_enhancement' related list settings with the OOB settings.
  1. Configure the rm_enhancement related list, and add 2-3 related lists.
  2. Upgrade from Fuji Patch 5 to Fuji Patch 12 Hot Fix 1 (for example).

Note the rm_enhancement related list settings are converted to OOB.

IT Service Management

PRB657869

Service Management Core The global HR application should not an error message on the HR configuration Service Management applications (Marketing/HR) throw the warning message below in the configuration page after a activating plugin. "This application has templates that do not work with this version of ServiceNow. Click 'Upgrade Templates' above to update the templates to the latest format.Templates that are not updated will not work."
  1. Install the HR Core plugin.
  2. Open the Human Resource configuration.

Note the error message in yellow:

This application has templates that do not work with this version of ServiceNow. Click 'Upgrade Templates' above to update the templates to the latest format.Templates that are not updated will not work.

JS/HTML Editor

PRB658009

KB0565100

TinyMCE HTML Field Editor TinyMCE editor takes time to process large amounts of text The TinyMCE editor is unable to process large amounts of text in Internet Explorer. This issue can also occur for ITIL users when using an email client to reply to email chains.

Issue is always reproducible in IE, and sporadically in other browsers:

  1. Open any form containing an HTML text field (for example, a KB article or an email client).
  2. Paste all text from the attached file.
  3. Type some additional text.

Note that the editor takes a while to respond.

Knowledge Management

PRB660783

KB0596412

Knowledge Management V3 Vertical scroll bar is not enabled for $knowledge.do inside iframe in ESS portal This issue also occurs when navigating to /ess/knowledge_splash.do. Refer to the listed Known Error KB article for details.

Knowledge Management

PRB663803

Knowledge Management V3 Knowledge Category field dropdown hangs in the Knowledge Import popup if the kb_category values exceed approximately 89 in count

In Geneva, there is a new feature to import Word documents into knowledge. This Import Knowledge popup has a Category field which freezes when the number of Categories in the dropdown list exceed approximately 89 in count.

When there are around 90 categories, the size of the request is around 8k, which seems to be the default for the Tomcat server. At this size, the Web Server itself rejects the request, and it does not even reach the application server. This makes it seem that we are sending a request that is larger than what the Web Server was initially configured to serve.

Knowledge Management

PRB668485

Knowledge Management V3 Knowledge Category Picker throws error when ampersand (&) is in Category name when glide.ui.escape_text = false Knowledge Categories with an ampersand (&) in the label cause an error when using the KB Category Picker (kb_categories_dialog) in a Knowledge form to select a category:
The entity name must immediately follow the '&' in the entity reference.
  1. Navigate to kb_category.list.
  2. Modify the demo category Applications to Software & Applications (this should be a part of the IT Knowledge Base if demo data is loaded).
  3. Navigate to sys_properties.list.
  4. Set glide.ui.escape_text to false.
  5. Open or create a Knowledge article (kb_knowledge.list).
  6. Set the Knowledge Base to IT.
  7. Click the Reference icon next to Category to launch the Category Picker UI page (kb_categories_dialog).
Note the following error:
The entity name must immediately follow the '&' in the entity reference.

Knowledge Management

PRB668730

Knowledge Management V3 Knowledge Search does not return results after clicking on the "Home" button When using knowledge search and searching for a keyword (e.g. "vpn"), the results show up. Afterwards, if a user clicks on the "Home" button and tries to search again by typing "vpn", they see the message "Your search did not return any results for vpn".
  1. Go to the knowledge homepage.
  2. Type in vpn and click Enter. The results show up.
  3. Click the Home button.
  4. Re-type vpn in the search.

The message "Your search did not return any results for vpn" shows up.

Knowledge Management

PRB670482

Knowledge Management V3 Knowledge Base page is showing 'Knowledge Featured' and 'Most Viewed' blocks on Fuji but not on Geneva
  1. In Geneva, go to an individual Knowledge base (e.g. HR or IT).
  2. Go back to Knowledge Home by selecting All in the Knowledge Base selection dropdown.

Observe that the 'Featured Content', 'Most Viewed' and 'Most Useful' links are missing on the Knowledge homepage. The same steps work in Fuji.

Knowledge Management

PRB670704

Knowledge Management V3 Cannot select empty KB Category when using KB import tool A user is unable to select an empty category when uploading an article to a knowledge base, using the import tool available in the top right corner. The user reported that it occurs after the first article is uploaded when they reopen the dialog.

There must be an empty knowledge base with an empty category (e.g. "Empty KB" and "Empty Category").

  1. Navigate to Knowledge > Homepage > Import.
  2. Select a file by dragging it or selecting it from the file explorer.
  3. Open the knowledge base selector and select Empty KB.
  4. Open the category selector.

Note there is no entry for "Empty Category."

Knowledge Management

PRB675065

Knowledge Management V3 Knowledge article ampersand error when escape text is false, knowledge attachment has & in title and is displayed on article If escape text is set to false, and the article is configured to show attachments, and one of the attachments has an ampersand in it, viewing the article results in the following message:
The entity name must immediately follow the '&' in the entity reference.
  1. Set escape text to false: /nav_to.do?uri=sys_properties.do?sys_id=a7e8db450a0a0b0a308ab5de09733d15.
  2. Bring up any article in edit mode (e.g. /nav_to.do?uri=kb_knowledge.do?sys_id=022830860f413100b823f45be1050e99).
  3. Check the Display attachments checkbox and Save.
  4. Add an attachment to the article that has an & in the file name.
  5. Click View Article.

Expected behavior: You can see the article.

Actual behavior: You see an ampersand error (this varies based on the positioning of ampersand and version).

Knowledge Management

PRB686568

Knowledge Management V3 Knowledge search for articles with a large number of attachments is very slow in Helsinki and Geneva when compared to Fuji or earlier In Helsinki and Geneva instances, knowledge search is unusually slow when knowledge articles have a large number of attachments included in the articles.

Knowledge Management

PRB687979

After migrating to Knowledge V3, tags for V2 articles are no longer displayed on homepage and the site hangs For a user's Knowledge V3 migration, tags were used to indicate which countries the articles are for. There were up to 144 tags per article on the knowledge home page. Since the migration completed, the site hangs when users click on the tags column on the home page, and it does not display the tags for the countries.

Knowledge Management

PRB689027

Knowledge Management V3 Unable to search for articles with states other than published, review, or draft

There are users who have modified various pieces of Knowledge Management to allow them to handle custom states, specifically, allowing users to see articles in search results that were in states other than Published, Draft, and Review.

However, in KBv3, the queries for search results are hard-coded in non-user-accessible places to show only Published articles. The only method of allowing users to see other states involve system properties that only allow roled access to Draft and Review states. There is no possibility of showing other states, which poses significant issues for certain users.

  1. Add an additional state to the knowledge workflow (e.g. Technical Review).
  2. Attempt to get articles in that state to show in search results.

Note that it does not appear in search results.

Knowledge Management

PRB689190

Knowledge Management V3 When upgrading from Fuji to Helsinki, the category list display does not honor the selected KB condition while creating a new article
  1. Upgrade a Fuji instance to Helsinki.
  2. Create new knowledge bases and create categories.
  3. Click Create new article > Select any knowledge base.
  4. Enter ** in knowledge category field.

Observe the list of categories does not honor the KB selected criteria. The category list should be related to the selected knowledge base.

Knowledge Management

PRB689652

Knowledge Management V3 Alphabetical sort order for category filters on browse knowledge page is not working The fix for this PRB includes the following:
  1. Sort order of categories on Knowledge Browse page is in alphabetical order
  2. Sort order of all the filters on Search Page is in alphabetical order
  3. Sort order of category filters on search page is based on the breadcrumb hierarchy starting from the topmost KB name/category
  4. KB name is appended to the breadcrumb from now onwards if there are multiple KB filters on search page

Knowledge Management

PRB691602

Knowledge Management V3 In IE11 on the knowledge category home, the user is brought to an empty page (when using Enterprise - Compatibility mode)

In IE11:

  1. Navigate to the IE Menu > Compatibility View Settings > Display Internet sites in Compatibility.
  2. You may need to do the following steps as well:
    1. Click Tools in the upper toolbar.
    2. Select Enterprise Mode.
  3. Go to the OOB knowledge IT category: /$knowledge.do?sysparm_type_filter=all&sysparm_kb=a7e8a78bff0221009b20ffffffffff17&sysparm_category=-1&browse_type=categories

Note the page is blank.

MID Server

PRB665835

ECC Message creation might end up blocking all ECC Queue processing The ECC Queue monitor, which processes a list of ECC messages (ECCQueueMonitor.processMessages), creates an instance of eccmessage. However, this method does not copy factory variables. If ECCMessage.update is called, which in turn uses factory variable, the MID Server throws NullPointerException. It may try to reprocess the same ECC message, leaving the MID Server perpetually stuck.

MID Server

PRB667255

CIM hangs when disconnecting after connection to a bad HTTP server The CIM can get into a state where it hangs for all requests on a particular MID Server. It tries to shut itself down when there are no active requests, including shutting down its HTTP client. The Apache HTTP client seems to be particular about what thread it gets shut down from and it hangs while inside a synchronized block. This results in a permanent hang.

MID Server

PRB676044

SSHCommand probes hang waiting for sudo prompt when sudoers config has !requiretty Converge Command (built from Run Command) fails when SNCSSH is enabled on the RBA MID.
  1. Create a probe requiring sudo.
  2. Execute the probe against a machine whose sudoers config requires a password but does not require a tty (!requiretty).

SSHCommand fails to watch for password prompts, causing channel timeouts.

MID Server

PRB677354

MID Server should be able to handle pbrun with -u profile option

This affects customers who are upgrading from the Nebula version (where ServiceWatch was a separate app) to Helsinki, where this is integrated. When using pbrun as a privileged command, customer should be able to append -u option to it and specify a profile.

The fix for PRB677354 adds support for pbrun with -u profile option. Refer to Configure the MID Server to use specific privileged commands for details.

  1. Set the MID configuration parameter mid.ssh.privileged_commands = pbrun -u admin.
  2. Add the credential pbadmin:pbadmin.
  3. Create a probe with topic = SSHCommand, ECC queue name = sudo dmidecode.
  4. Run the probe again.
We should get the correct result back, instead of Permission denied.

MID Server

PRB681457

MID Server leaks memory when it fails to create SSH session When a MID Server fails to create a SSH session, it will leak about 100 bytes of memory. The next time the MID Server fails to create a session with same key, it will be the same 100 bytes leaking, not another 100 bytes. This is related to PRB680106.
  1. Set up credentials for a MID Server.
  2. Use the MID Server to discover a Linux machine.
  3. Use JProfiler to monitor the MID Server's memory. Look for com.service-now.mid.services.SSHSharedSessionCache in live memory.

There will be an empty element with key and value that never be garbage collected, which is the leaking.

MID Server

PRB683509

CyberArk integration supports .\ as part of the username for Windows local credentials, which does not work with some customer domain policies Currently, the format .\ must be used to use a local Windows server credential. However, some users want to use the username in the username field and an empty domain name format (which is fine as well). To do this, this situation should be detected, and .\ should be prepended to the credential name when the domain is empty and there is no \ in the username.
  1. Leave the domain name blank and the username without a \.
  2. Note that you do not succeed with local credentials on a domain server.

MID Server

PRB687457

SNC_SSHSession status is still OK after session being closed by server When a SNC SSH session is closed by the SSH server, the session status is still OK. Since the session is pooled and its status is OK, the next time a probe gets a bad session, it will think it is a good one. That causes an error in the MID Server log.
  1. Run a SSHCommand probe against a Linux machine.
  2. After the probe is finished, reboot the Linux machine.
  3. Run the probe against the same Linux machine.

Expected result: Step 3 should return the result.

Actual result: You see the following error message in the MID Server log:
SSHCommand SEVERE *** ERROR *** Error opening SSH exec job: Error; job finished with status
ERROR: Problem in SSH session, job aborted: Session closed during channel open

MID Server

PRB691899

SCPRelay fails with error, "Target directory `/your/path/here` does not exist or is not writeable or executable."

Use SCPRelay to transfer a file into a directory that does not exist on the source. The check for the existence and writability of the target directory fails, causing the command to fail.

Mobile

PRB674080

Mobile UI Changing components under 'Order Status' screen has no effect on mobile app

In a Geneva instance:

  1. Navigate to Maintain Cart Layouts and click Order Status Screen (Mobile).
  2. Under components, clear the checkboxes for 'Order Placed Date', 'Request Number' and ' Estimated Delivery Date'.
  3. Save.
  4. If the system property 'glide.sc.use_cart_layouts' is not enabled, set it to true and enable it.
  5. Log in to your instance from mobile app and request a new item in the catalog.
  6. Submit the order.

On the order status screen, you will be able to see all the three fields that you disabled ('Order Placed Date', 'Request Number' and ' Estimated Delivery Date').

Note: When you try this from the mobile interface ($m.do), it works as expected. This does not work with the mobile app.

Mobile

PRB677007

Mobile UI, NG shared components (Mobile web) Catalog items with a large amount of variables will throw a 400 when attempting to fetch the variable list Catalog items with lots of variables will not work with reference fields.
  1. Navigate to Maintain Items and search for Ask a question.
  2. Navigate to the Variables related list.
  3. Create 5 new variables for this catalog item.
  4. Go to $m.do.
  5. Navigate to Service Catalog > Can We Help You > Ask a question.
  6. Add text to the variables on the item.
  7. Click the User reference field.

Notice the 400 bad request.

Mobile

PRB681410

NG shared components In the iOS app, Japanese (and possibly all unicode) input as a comment/worknote saves corrupted values In the iOS app, comment on an incident and save. The Japanese characters will change to unreadable corrupt characters.

Mobile

PRB700239

Mobile UI Comment and work note buttons appear in the mobile UI comments section of a record, ignoring ACLs The comment and work note buttons appear in mobile, regardless of ACLs that are defined to block users from commenting/adding work notes.

In a Geneva instance:

  1. Set the following ACLs to fail for a specific user:
    • incident.comments
    • task.comments
    • incident.work_notes
    • task.work_notes
  2. Impersonate that user in the mobile UI.
  3. Go to an incident. This can be a record from any other table with comments/work_notes fields, e.g. hr_case.
  4. Go to the incident's comment section.

Note the buttons are still there, even if you cannot add any comments/work notes.

Orchestration

PRB654096

KB0563575

AddUserToADGroup.ps1 PowerShell script is missing a parameter When running the Add User to Group AD activity, the activity fails due to the missing distinguishedName parameter. This parameter is required when leveraging the LDAP ADSI provider in Powershell to populate a group.
  1. Activate the Orchestration plugin.
  2. Open the Workflow Editor.
  3. Create a workflow that includes the Add User to Group AD activity.
  4. Fill out the required fields.
  5. Run the workflow.

Orchestration

PRB666348

If deployed software has not been installed on the target machine, the status is updated from "not installed" to "installed" after reconcile scheduled job runs This occurs when using CSD to deploy client software.
  1. Set up a CSD deployment environment.
  2. Have 2 client target machines.
  3. Check the 'Requested software' table and verify there are 2 requested software records with status set to Not Installed.
  4. Install the software on one of the client target machines.
  5. Run SCCM integration or Discovery to get the software installation data in the software installation table.
  6. Run the scheduled job Reconcile Requested Software to reconcile the software installation.
  7. Go back to the 'Requested software' table.

Notice both requested software records have their status set to"Installed, even if one of the client machine does not have the software installed yet.

Orchestration

PRB676406

KB0596828

Workflows that use SCCM Get activities can hang when the amount of data returned from an SCCM server is too large If the entire payload returned from an SCCM server by any SCCM Get activity exceeds 5 MB, the system uploads the data set in the ECC queue as an attachment. The sensor is unable to pick up the data from such a large attachment. As a result, the activity cannot complete, and the workflow hangs.
  1. Activate the Orchestration - Client Software Distribution plugin.
  2. Run the Discover SCCM workflow on an SCCM server with a large number of applications, deployments, or collections.
  3. Examine the workflow in progress.
If the payload attachment in the ECC queue exceeds 5 MB, the activity fails to complete, and the workflow hangs.

Performance Analytics

PRB651108

Breakdown Matrix Exclusion for a Breakdown that is disabled is creating a NullPointerException and leaves the collection job(s) in 'collecting' state When a Breakdown Exclusion matrix contains a breakdown that is currently disabled, it produces a NPE and leaves the collection in 'collecting' state.
  1. Configure a Breakdown Matrix Exclusion for Indicator 'Number of open incidents'. Exclude Priority / Assignment Group combination.
  2. Check how many records the Assignment Group breakdown source has.
  3. Set the PA property 'Maximum number of breakdown elements for a breakdown to be included in data collection' to 60.
  4. Create a new PA Collector Job with only 1 Indicator 'Number of open incidents' and collect.

Check the PA Job log and you will find the following stack trace:

Unexcepted exception occurred java.lang.NullPointerException
at com.snc.pa.dc.BreakdownCombination.<init>(BreakdownCombination.java:22)
at com.snc.pa.dc.Config$IndicatorConfig.initExcludedBreakdownCombinations(Config.java:112)
at com.snc.pa.dc.Config$IndicatorConfig.initBreakdownCombinations(Config.java:100)
at com.snc.pa.dc.Config$IndicatorConfig.getInvalidBreakdownCombinations(Config.java:67)
at com.snc.pa.dc.DataCollector.loadDefinitions(DataCollector.java:557)
at com.snc.pa.dc.DataCollector.<init>(DataCollector.java:68)
at com.snc.pa.dc.DataCollectorJob.collect(DataCollectorJob.java:139)
at com.snc.pa.dc.DataCollectorJob.collectWithMutex(DataCollectorJob.java:85)
at com.snc.pa.dc.DataCollectorJob.execute(DataCollectorJob.java:71)
at com.glide.schedule.JobExecutor.execute(JobExecutor.java:80)
at com.glide.schedule.GlideScheduleWorker.executeJob(GlideScheduleWorker.java:182)
at com.glide.schedule.GlideScheduleWorker.process(GlideScheduleWorker.java:126)
at com.glide.schedule.GlideScheduleWorker.run(GlideScheduleWorker.java:57)

Performance Analytics

PRB660694

Performance Analytics pa_viewer/pa_contributor have access to the indicator/breakdown wizard when they should not

Prerequisites

  1. Create a user with pa_viewer role.
  2. Create a user with pa_contributor role

Steps to reproduce

  1. Log in as the pa_contributor user.
  2. Navigate to Performance Analytics > Scorecards. Notice the "New" button at the top of the list.
  3. Click New.

Note that it redirects to the indicator wizard that can be successfully used by the pa_contributor user. This "New" button should not be available.

  1. Log in as the pa_contributor user.
  2. Navigate to /$pa_breakdown_wizard.do.

Note that this user without the correct roles is able to create breakdowns using a direct link. Users should not be able to use the indicator wizard even with a direct link.

Performance Analytics

PRB666995

Week counter is incorrect in PA List widget for timezones EDT, MDT, CST or CDT A computer's timezone incorrectly impacts the behavior of the Calendar Picker. If a user's computer is on EDT, MDT, CST, or CDT, it shows W12 in the detailed scorecard. Any other timezone will show W11.

This issue occurs for the EDT, MDT, CST, and CDT timezones.

In a Fuji instance:

  1. Set your computer's timezone to EDT.
  2. Navigate to Performance Analytics > Dashboards > Incident Management dashboard.
  3. Select the Incident Overview tab.
  4. Go into Edit mode on the dashboard.
  5. Edit the Basic Indicators widget.
  6. Edit each of the 4 additional indicators so that the Time Series reads 'By Week SUM +' for each indicator.
  7. Update the widget. When viewing the weeks on the widget, the most recent (current) week is Week 10.
  8. Drill down into the details of any data on the widget.

Note that the most recent week shown is Week 11.

Performance Analytics

PRB667312

Performance Analytics Scoresheet: Aggregate scores is not working, gives error on function
  1. Log in as an admin user.
  2. Navigate to Performance Analytics > Scoresheet.
  3. Open a scoresheet for the indicator Number of new incidents.
  4. Insert scores for Priority breakdown elements.
  5. Click Aggregate scores.
  6. Select Sum and Priority.
  7. Click Apply.

Expected result: On the top cell for the total score of the Priority breakdown, the user should see the correct number.

Actual result: The user sees a console error.

Performance Analytics

PRB669205

Performance Analytics Previous period chart does not work properly Checking the previous chart period in a widget does not display the x-axis with the labels properly. It shows 1970 and does not compare the previous period.
  1. In HI, create a widget called test with an indicator "RL: Incidents Enterprise - BU" and select the time series as quarter sum +.
  2. Make it a time series column chart, and the chart displays data for Q12016 and Q42015.
  3. Edit the widget and check the previous period chart.

The chart shows "1970" as the x-axis. The columns are displayed in reverse order - Q12016 shows up first. Q12015 is missing in the chart.

Performance Analytics

PRB674734

KB0584646

Performance Analytics Unable to drag Performance Analytics Scorecard to favorites in UI16 In UI16, users are unable to drag the Performance Analytics Scorecard to favorites (using Chrome browser version 50.0.2661.94 and Safari 8.0.8).
  1. Navigate to Performance Analytics > Scorecards.
  2. Navigate to the Favorites tab.
  3. Select any scorecard and drag it to the Favorites tab.
Note that the selected scorecard cannot be added to the Favorites tab.

Performance Analytics

PRB675545

Performance Analytics Russian translation is not working on PA widgets headings, etc.

In a Geneva Patch 5 instance:

  1. Enable the Russian language plugin.
  2. Using the English language, navigate to Performance Analytics > Dashboard.
  3. Select Incident Management from top list.
  4. Change the language to Russian.

Notice the widget names, legends, etc. still appear in English.

Performance Analytics

PRB676461

An indicator with a default time series will lose the default series in a widget in a breakdown dashboard
  1. For the indicator 'Number of open incidents', set the default time series to by month sum.
  2. Create a list widget in a breakdown dashboard. The breakdown source is Incident.Priority.
  3. Add the indicator to the list widget.
  4. Set follow element for this indicator to true.
  5. Go to the dashboard
  6. Switch the element to priority 1-critical.

Expected behavior: The default time series is applied to the indicator, so Number of open incidents / Priority = 1 - Critical / By month SUM.

Actual behavior: The default time series is not applied. The Number of open incidents / Priority = 1 - Critical.

Performance Analytics

PRB677641

KB0594674

Performance Analytics Performance Analytics dashboards display 'The reference to entity' error when selecting a value with an "&" in the name from the breakdown element dropdown Performance Analytics dashboards display 'The reference to entity' error when selecting a value with an "&" (ampersand) in the name from the breakdown element dropdown.
  1. Change the Value of the incident priority High choice from 2 to R&D (no spaces surrounding the ampersand).
  2. Add breakdown source incident.priority to a breakdown dashboard.
  3. Navigate to the dashboard and select the high priority (with value R&D).

Performance Analytics

PRB678225

PA Dashboards widgets fail to load due to Color Definition User can define colors that are missing the color code or malformed codes without a method to prevent them and/or no user readable error is displayed.
  1. Navigate to Reports > Administration > Color Definition (/sys_report_color_list.do).
  2. Open any already defined color, or create new one.

One of the following occurs:

  • A user can remove the color field and save that color without a color code. Then, PA Dashboard widgets fail to render when using that color.
  • A user can add a trailing space to the color code and it is validated by displaying that color. Then, PA Dashboard widgets fail to render when using that color. You will see 'Loading...' messages within widgets, or not all widgets will render on the page, or you will see 'empty / white space' within widgets.
2016-05-22 07:28:58 (575) Default-thread-5 9EA371694FA71E00B41EFB95F110C701
   SEVERE *** ERROR *** String index out of range: 0 
java.lang.StringIndexOutOfBoundsException: String index out of range: 0 
at java.lang.String.charAt(String.java:686) 
at com.glide.util.ColorUtil.loadLookup(ColorUtil.java:87) 
at com.glide.util.ColorUtil.getByName(ColorUtil.java:65) 
at com.snc.pa.helpers.ColorHelper.getHexForColorName(ColorHelper.java:16) 
at com.snc.pa.WidgetIndicator.<init>(WidgetIndicator.java:24) 
at com.snc.pa.WidgetIndicator.all(WidgetIndicator.java:117) 
at com.snc.pa.WidgetIndicator.find(WidgetIndicator.java:97) 
at com.snc.pa.Widget.getWidgetIndicators(Widget.java:627) 
at com.snc.pa.ng.NGWidgetProcessor.getTimeWidget(NGWidgetProcessor.java:678) 
at com.snc.pa.ng.NGWidgetProcessor.getWidget(NGWidgetProcessor.java:95) 
at com.snc.pa.ng.NGWidgetProcessor.processRequest(NGWidgetProcessor.java:71) 
at com.snc.pa.ng.NGAngularProcessor.process(NGAngularProcessor.java:17) 
at com.glide.ui.ng.AngularProcessor.process(AngularProcessor.java:107) 
at com.glide.processors.AProcessor.runProcessor(AProcessor.java:409) 
at com.glide.processors.AProcessor.processTransaction(AProcessor.java:183) 
at com.glide.processors.ProcessorRegistry.process(ProcessorRegistry.java:165) 
at com.glide.ui.GlideServletTransaction.process(GlideServletTransaction.java:32) 
at com.glide.sys.ServletTransaction.run(ServletTransaction.java:34) 
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:895) 
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:918) 
at java.lang.Thread.run(Thread.java:682)
and
2016-05-22 07:55:51 (776) Default-thread-7 264A75A92BE7160004183F83E4DA1512
  SEVERE *** ERROR *** For input string: "D1DEDD " 
java.lang.NumberFormatException: For input string: "D1DEDD " 
at java.lang.NumberFormatException.forInputString(NumberFormatException.java:48) 
at java.lang.Integer.parseInt(Integer.java:458) 
at java.lang.Integer.valueOf(Integer.java:528) 
at java.lang.Integer.decode(Integer.java:958) 
at java.awt.Color.decode(Color.java:707) 
at com.glide.util.ColorUtil.loadLookup(ColorUtil.java:88) 
at com.glide.util.ColorUtil.getByName(ColorUtil.java:65) 
at com.snc.pa.helpers.ColorHelper.getHexForColorName(ColorHelper.java:16) 
at com.snc.pa.WidgetIndicator.<init>(WidgetIndicator.java:24) 
at com.snc.pa.WidgetIndicator.all(WidgetIndicator.java:117) 
at com.snc.pa.WidgetIndicator.find(WidgetIndicator.java:97) 
at com.snc.pa.Widget.getWidgetIndicators(Widget.java:627) 
at com.snc.pa.ng.NGWidgetProcessor.getTimeWidget(NGWidgetProcessor.java:678) 
at com.snc.pa.ng.NGWidgetProcessor.getWidget(NGWidgetProcessor.java:95) 
at com.snc.pa.ng.NGWidgetProcessor.processRequest(NGWidgetProcessor.java:71) 
at com.snc.pa.ng.NGAngularProcessor.process(NGAngularProcessor.java:17) 
at com.glide.ui.ng.AngularProcessor.process(AngularProcessor.java:107) 
at com.glide.processors.AProcessor.runProcessor(AProcessor.java:409) 
at com.glide.processors.AProcessor.processTransaction(AProcessor.java:183) 
at com.glide.processors.ProcessorRegistry.process(ProcessorRegistry.java:165) 
at com.glide.ui.GlideServletTransaction.process(GlideServletTransaction.java:32) 
at com.glide.sys.ServletTransaction.run(ServletTransaction.java:34) 
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:895) 
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:918) 
at java.lang.Thread.run(Thread.java:682)

Performance Analytics

PRB679718

KB0596677

Performance Analytics The x axis on time charts displays numbers instead of dates When creating a widget of type 'time series', if you check the previous period chart, it displays numbers on the high chart's x-axis instead of dates.
  1. Create a widget.
  2. Set type Time Series.
  3. Check Previous period chart.
  4. Add it to a dashboard.

Performance Analytics

PRB680809

KB0595192

During scores collection, if the domain is global and there are existing scores for the collection day, scores are not deleted prior to re-collection When collecting scores multiple times per day in a domain-separated environment, if the collection job runs on the global domain, existing scores for the day are not deleted prior to re-collecting. This leads to duplicate scores.
  1. On a domain separated instance with no scores, run the default historic incident data collection job.
  2. Check the scores table for the number of collected scores.
  3. Run the historic collection job again.
The number of scores should be doubled. Further investigation shows scores for the same UUID and start at date.

Persistence

PRB663097

'Access Rule Violation detected' when running the report with adding variable to sc_task table

In an instance prior to Fuji Patch 11:

  1. Set com.glide.db.flatten_on_upgrade to false.
  2. Upgrade the instance to Fuji Patch 11.
  3. Create a report.
    • Table: sc_task
    • Type: List
    • In the 'Available' section: expand variables and select Apple iPhone 5. Add all of its variables to the 'selected' section.
  4. Run the report.

Note the following error: "Syntax Error or Access Rule Violation detected by database".

Platform Miscellaneous

PRB688452

AMB messages sent outside of a transaction will cause an NPE When an evaluation exception is thrown, statsListener.afterEvaluation() never gets a chance to clean up the pinned object.

Any Geneva Patch 7 instance that runs LDAP listener to sync user periodically has the risk of running out of memory. This happens when there are RecordWatchers registered against sys_user or sys_user_group and any of those watched records were updated by LDAP Transform threads.

Due to a change made in AMB in GP7, an NPE is thrown during RecordWatcher evaluation, which causes RecordWatcher StatsListener to fail to release GlideRecord reference at the end of the evaluation.

The following stack traces illustrate the symptoms of this problem. Note the NullPointerException:
2016-06-29 16:20:46 (692) glide.ldap.listener-3d21092e7f02120036bfdd620efa919b
  SYSTEM LDAP resources released, waiting for data
2016-06-29 16:20:47 (952) LDAP Transform3d21092e7f02120036bfdd620efa919b
  SYSTEM SEVERE *** ERROR *** Error running script engine
  java.lang.NullPointerException
at com.glide.amb.server.AMBMessagePublisher.enqueueMessage(AMBMessagePublisher.java:109)
at com.glide.amb.server.AMBMessagePublisher.publish(AMBMessagePublisher.java:77)
at com.glide.amb.server.AMBMessagePublisher.publishRecord(AMBMessagePublisher.java:56)
at com.glide.record_watcher_action.amb.DefaultAMBAction.onEnter(DefaultAMBAction.java:37)
at com.glide.record_watcher_action.amb.AMBActionHandler.onEnter(AMBActionHandler.java:32)
at com.glide.record_watcher_action.amb.AMBActionHandler.onEnter(AMBActionHandler.java:16)
at com.snc.da.filter.Actions.evaluate(Actions.java:36)
at com.snc.da.filter.predicate.ComparablePredicate.evaluate(ComparablePredicate.java:106)
at com.snc.da.filter.Path.evaluate(Path.java:46)
at com.snc.da.filter.Table.evaluate(Table.java:21)
at com.snc.da.filter.Registry.evaluate(Registry.java:144)
at com.glide.record_watcher.RecordWatcherEngine.runEngine(RecordWatcherEngine.java:28)
at com.glide.policy.AScriptEngine.process(AScriptEngine.java:34)
at com.glide.script.ScriptEngines.run(ScriptEngines.java:124)
at com.glide.script.GlideRecord.runScriptsAndEngines(GlideRecord.java:1129)
at com.glide.script.GlideRecord.insert(GlideRecord.java:4384)
at com.glide.script.GlideRecord.insert(GlideRecord.java:4330)
at com.glide.db.impex.transformer.TransformRow.transformCurrent(TransformRow.java:121)
at com.glide.db.impex.transformer.TransformRow.transform(TransformRow.java:69)
at com.glide.db.impex.transformer.Transformer.transformBatch(Transformer.java:146)
at com.glide.db.impex.transformer.Transformer.transform(Transformer.java:76)
at com.glide.system_import_set.ImportSetTransformerImpl.transformEach(ImportSetTransformerImpl.java:238)
at com.glide.system_import_set.ImportSetTransformerImpl.transformAllMaps(ImportSetTransformerImpl.java:91)
at com.glide.system_import_set.ImportSetTransformer.transformAllMaps(ImportSetTransformer.java:5
2016-06-10 08:07:50 (533) LDAP Transformb59a0aa50a0a3c59005c3972a326a789
  SYSTEM SEVERE *** ERROR *** Error running script engine 
  java.lang.NullPointerException 
at com.glide.amb.server.AMBMessagePublisher.enqueueMessage(AMBMessagePublisher.java:109) 
at com.glide.amb.server.AMBMessagePublisher.publish(AMBMessagePublisher.java:77) 
at com.glide.amb.server.AMBMessagePublisher.publishRecord(AMBMessagePublisher.java:56) 
at com.glide.record_watcher_action.amb.DefaultAMBAction.onChange(DefaultAMBAction.java:43) 
at com.glide.record_watcher_action.amb.AMBActionHandler.onChange(AMBActionHandler.java:42) 
at com.glide.record_watcher_action.amb.AMBActionHandler.onChange(AMBActionHandler.java:16) 
at com.snc.da.filter.Actions.evaluate(Actions.java:31) 
at com.snc.da.filter.predicate.ComparablePredicate.evaluate(ComparablePredicate.java:106) 
at com.snc.da.filter.Path.evaluate(Path.java:46) 
at com.snc.da.filter.Table.evaluate(Table.java:21) 
at com.snc.da.filter.Registry.evaluate(Registry.java:144) 
at com.glide.record_watcher.RecordWatcherEngine.runEngine(RecordWatcherEngine.java:28) 
at com.glide.policy.AScriptEngine.process(AScriptEngine.java:34) 
at com.glide.script.ScriptEngines.run(ScriptEngines.java:124) 
at com.glide.script.GlideRecord.runScriptsAndEngines(GlideRecord.java:1129) 
at com.glide.script.GlideRecord.updateWithoutResettingOperation(GlideRecord.java:4065) 
at com.glide.script.GlideRecord.update(GlideRecord.java:4011) 
at com.glide.script.GlideRecord.update(GlideRecord.java:3930) 
at com.glide.db.impex.transformer.TransformRow.transformCurrent(TransformRow.java:127) 
at com.glide.db.impex.transformer.TransformRow.transform(TransformRow.java:69) 
at com.glide.db.impex.transformer.Transformer.transformBatch(Transformer.java:146) 
at com.glide.db.impex.transformer.Transformer.transform(Transformer.java:76) 
at com.glide.system_import_set.ImportSetTransformerImpl.transformEach(ImportSetTransformerImpl.java:238) 
at com.glide.system_import_set.ImportSetTransformerImpl.transformAllMaps(ImportSetTransformerImpl.java:91) 
at com.glide.system_import_set.ImportSetTransformer.transformAllMaps(ImportSetTransformer.java:59) 
at com.glide.system_import_set.ImportSetTransformer.transformAllMaps(ImportSetTransformer.java:46) 
at com.glide.sys.ldap.LDAPTransform.runImport(LDAPTransform.java:146) 
at com.glide.sys.ldap.LDAPTransform.transform(LDAPTransform.java:78) 
at com.glide.sys.ldap.LDAPTransform.transform(LDAPTransform.java:51) 
at com.glide.sys.ldap.LDAPListenTransform.run(LDAPListenTransform.java:29)

Platform Security

PRB674503

Performance degradation when using GlideRecordSecure when the record being queried contains fields such as variables, audio Performance degradation occurs while using GlideRecordSecure when the record being queried contains fields such as variables, audio, userImage, currency, and possibly other fields.
  1. Create a new table.
  2. Add several currency fields to it, along with other dummy fields (e.g. name, description).
  3. Create an entry under sys_relationship table:
    • Applies to table is incident
    • Queries from table is the new table created in step 1
  4. Add a query such as current.addQuery('<SOME_FIELD_IN_THE_NEW_TABLE>', <SOME_VALUE_THAT_MATCHES_A_LOT_OF_RECORDS>);
  5. Add many records to the new table.
  6. Create a list_edit ACL on the new table, and add a condition and a query using some fields on the table.

    When you open an existing incident, note that the AJAX call to fetch the records under the new embedded list is taking a lot of time to get the response back.

  7. Enable SQL debugging.

Note that for every currency field under every record under the new embedded list, a GlideRecord query is being made when getSpecificDisplayValue is done.

Policy and Compliance

PRB670553

Knowledge base records are created / updated when activating the IT Governance, Risk and Compliance (ITGRC) (com.snc.governance) plugin The following file could potentially load the demo data Knowledge Bases when GRC is installed: app-itbm/glide-app-grc/src/main/plugins/com.snc.governance_core/update/kb_knowledge_base.xml.

Policy and Compliance

PRB674394

Governance, Risk, and Compliance (GRC) GRC compliance percentage is calculating incorrectly
  1. Create a control - Control 5.
  2. Create a control definitions - Control def 100.
  3. Execute the control def 100 three times with test_status = success, failure and success respectively.
  4. Since the latest test result is "success", the compliance =100 and non-compliance =0.
  5. Delete the first def with status = success.

The compliance should be 100 as the latest control def is "success", but compliance falls to zero.

Project Management

PRB582705

KB0524184

Time card management Time Cards "Current" page does not work correctly when the instance or user has a custom date format If the instance or the user has a date format that is not yyyy-MM-dd, the Time Cards > My Time Cards > Current page does not function correctly.
  • The New button on this page does not put the time card in the list, and the Generate Task Cards does not create new time cards from the planned tasks assigned to the user.
  • If the user creates a time card for themselves from the All list or any of the top lists in the Time Cards application, the time card does not display on the Time Cards > My Time Cards > Current page.
Refer to the listed Known Error KB article for details.

Project Management

PRB671552

Demand Management Demand Management module under PPS throws runtime exceptions due to an OOB script issue This is due to a unique index which was added to keep Task level numbers unique. As a result, users see the error message "Unique Key violation detected by database."
  1. Log in to the instance.
  2. Enable PPS Suite.
  3. Create a new Demand record with Category: Strategic and Type: Project.
  4. Once the Demand is created and is in the Draft state, create two test Requirements and Risk records from related records.
  5. Submit the Demand and approve it.
  6. Now use the Related Link to create a Project.

The project is created with the error message 'Unique Key violation detected by database.'

Project Management

PRB673030

Resource Management Omit new button not honored for Resource Plan related list on Project form Users are unable to remove the 'New' list control for the Resource Plan related list on the Project form.

In a Geneva instance:

  1. Activate the Resource Management plugin with demo data.
  2. Navigate to Projects > All.
  3. Click into Demo Project for Resource Plan.
  4. Open the Resource Plan related list.
  5. Right-click the column header > Configure > List Control. Notice the OOB 'Omit new button' is checked (if for some reason it is not, check it and save the form).
  6. Go back to the Project form. Notice that the New button is there even though "Omit new button" is configured for that list control.

The New button should be hidden, but it is not.

Project Management

PRB676527

The planned_task sub_tree_root field is being set to top_task and not the expected subproject The project hierarchy is still correct in terms of the relationships specified in the parent fields of all the records. However, the composite field Project is set incorrectly because the sub_tree_root field is incorrect, so user reports are not correct.
  1. Create a project hierarchy with the following structure:
    • Master Project: make this the top task
    • SubProject One: subproject of Master Project
    • SubSubProject One: subproject of SubProject One
    • SubSubProject Task One: child project task of SubSubProject One
  2. On the Project form layout, on the Project Tasks related list, add the Project(project) column to the list.
  3. Take a look at the SubSubProject One Project Tasks related list.

Note that prior to Geneva, the Project column shows the expected sub_tree_root, which is SubSubProject One. In Geneva and later, the Project column on the related list shows Master Project.

Release Management

PRB678088

Release Management v2 Excel export for Release Task does not work when sorting a list with magnifying glass If a user applies a filter on Release Task list view by using the "Show matching" filter and exporting it as Excel, everything works fine. However, if the user applies the same filter using the magnifier glass with the same condition and export it as Excel, they receive the following message: "Finished Export. Exported 0 of 1 rows."

Make sure the Release Management plugin is active.

  1. Navigate to Release > Tasks.
  2. Click on the magnifying glass icon on the list header to make an example search.
  3. Right-click on the list header and export the results (Export > Excel).
  4. When you select the Excel export, you come up with a dialog box asking for Download/Cancel. Notice the line "Finished Export. Exported 0 of 1 rows" in a dialog box.
  5. Click Download and save the file on your hard drive. You see an empty file with 0 records.

If you filter the list using the "Show Matching/Filter Out" option instead of using the magnifying glass icon, and then follow the same sequence of Export Excel, the export works as expected. In addition, you do not see the statement "Finished Export. Exported 0 of 1 rows".

Reporting

PRB647748

When selecting interactive filter on list report, it changes columns unexpectedly
  1. Create a homepage with an interactive filter with a list report on problem.
  2. Remove short description from the problem list report.
  3. Go to the homepage and notice that the short description column is not showing. This is the expected behavior.
  4. Filter the report.

Notice that the short description column is suddenly showing.

Reporting

PRB661746

Report drilldown on SingleScore Report Type is not working on homepage
  1. Create a report on the Incident table.
  2. Add multiple drilldowns, including SingleScore Report type as one of the intermediate drilldown report.
  3. Add the report to a homepage

While clicking on the SingleScore, it will directly land on the list view by skipping the subsequent drilldowns.

This issue is happens only on the homepage, and it works correctly on the report builder.

Reporting

PRB674530

When exporting a Column report with stack by + Grouped Columns to PDF, it becomes a Stacked Columns report
  1. Create a Column chart on incident grouped by priority (grouped columns), trend by created, per month, aggregation count.
  2. Save the report.
  3. Export to PDF.

Notice that the exported chart shows as stacked, not as grouped columns.

Reporting

PRB674589

PDFReportPivot causes high node memory when exporting PDF with many rows (may include columns) High memory is caused by a background thread. PDFReportPivot is stuck in addRows things.
  1. Create a report with the following values:
    • Table: sys_audit
    • Type: Pivot Table
    • Row: Document Key
    • Column: Document Key
    • Aggregation: Count
    • No. groups: Show all
  2. Click Save. Note there is no 'Export to PDF'. If the table is large enough, the UI transaction will be canceled. But a record in sys_report table will be generated.
  3. Go to sys_report, select the record you just inserted and click Edit report. Then, the 'Export to PDF' choice will show up.
  4. Click Edit report.

OOM will happen. The OOM issue also happens when scheduling a big pivot table PDF report such as this.

2016-04-26 05:46:39 (047) glide.background.generation.4409af0513871200dc983262f244b0cf
  SYSTEM WARNING *** WARNING *** Large Table: Table handling an extremely large result set: 387763
Query that got us here is:
TABLENAME = sys_report_summary_line ENCODED_QUERY = summary=1379a34513871200dc983262f244b03f^ORDERBYsequence
com.glide.db.QueryWarning.warn(QueryWarning.java:42)
com.glide.db.DBQuery.loadResultSet(DBQuery.java:2297)
com.glide.db.DBQuery.executeAndReturnTable(DBQuery.java:237)
com.glide.db.DBAction.executeNormal(DBAction.java:197)
com.glide.db.DBAction.executeAndReturnException(DBAction.java:166)
com.glide.db.RDBMSQueryContext.executeQuery(RDBMSQueryContext.java:46)
com.glide.db.DBQuery.execute(DBQuery.java:1782)
com.glide.db.meta.Table.queryBasic(Table.java:311)
com.glide.db.meta.Table.query(Table.java:189)
com.glide.script.GlideRecordITable.query(GlideRecordITable.java:77)
com.glide.script.GlideRecord.query0(GlideRecord.java:2982)
com.glide.script.GlideRecord.query(GlideRecord.java:2707)
com.glide.ui.chart.dataset.SummaryTableReader.getSummaryLines(SummaryTableReader.java:200)
com.glide.ui.chart.dataset.SummaryTableReader.get(SummaryTableReader.java:26)
com.glide.report.PDFReportPivot.generateHeader(PDFReportPivot.java:58)
com.glide.report.PDFReportPivot.generate(PDFReportPivot.java:33)
com.glide.report.Report.exportPDFReport(Report.java:1101)
com.glide.generators.ReportPDFExporter.generate(ReportPDFExporter.java:23)
com.glide.generators.BackGroundGenerationThread.run(BackGroundGenerationThread.java:67)
Thread dump:
"glide.background.generation.4409af0513871200dc983262f244b0cf" prio=10 tid=0x53370c00 nid=0x22bd0 runnable [0x4f6ad000]
java.lang.Thread.State: RUNNABLE
at com.itextpdf.text.pdf.FontSelector.process(FontSelector.java:103)
at com.glide.generators.PDFFont.process(PDFFont.java:105)
at com.glide.report.PDFReportPivot.addCell(PDFReportPivot.java:144)
at com.glide.report.PDFReportPivot.addMissingData(PDFReportPivot.java:136)
at com.glide.report.PDFReportPivot.addRowValues(PDFReportPivot.java:120)
at com.glide.report.PDFReportPivot.addRows(PDFReportPivot.java:109)
at com.glide.report.PDFReportPivot.generate(PDFReportPivot.java:34)
at com.glide.report.Report.exportPDFReport(Report.java:1101)
at com.glide.generators.ReportPDFExporter.generate(ReportPDFExporter.java:23)
at com.glide.generators.BackGroundGenerationThread.run(BackGroundGenerationThread.java:67)

Reporting

PRB678754

AutoSysFields should be on False to prevent all reports to be seen as updated / modified When upgrading to Helsinki, all reports get the modified state from that upgrade moment. All the reports will get updated, and report clean up will be useless. This is a big issue for customers that have thousands of reports.

Reporting

PRB686130

Filters not applied when drilling down from Single Score to another chart, on dashboard / homepage / builder The filters of a single score are not applied when drilling to the list of records, not as a widget on a dashboard, but also not in the builder. Users can add filters as expected, but the moment a user drills down to the records, it applies all filters.
  1. Navigate to Reports > Create a single score report on Incident table with a filter (active = true).
  2. Check the result and click on the number.

Expected result: The number of incidents shown on the platform list should match with the single score report result.

Actual result: It will take you to whole platform lists with many incidents.

Reporting

PRB686982

Certain homepages are having new widgets added after every upgrade After an upgrade, extra widgets are added to certain homepages (catalogs, Itil homepage, and Usage Overview). This is because the widgets were added to the update folder instead of the unload folder. This can be fixed by moving the files from one to the other.

On any instance on an older build:

  1. Through the CMS application, modify the itil homepage and remove some of the OOB widgets.
  2. Upgrade the instance to a newer version.
  3. Check the itil homepage.

Expected behavior: The itil homepage has the same widgets as the modified itil page.

Actual behavior: The homepage has extra widgets on it than it had before the upgrade.

Resource Management

PRB675786

KB0584849

Resource Management Installing the com.snc.resource_management plugin does not work as expected if the com.snc.project_management_v2 plugin is already active If an instance has Project Management v2 activated and the instance admin activates the Resource Management plugin, the fix 'com.snc.resource_management/update/install_project_management.xml' does not activate Project Management (com.snc.project_management_v3) as expected. This plugin contains several important dependencies for Resource Management and without it Resource Management will not work. For example, two dependencies are
  • the Common Workbench [com.snc.common_workbench] plugin
  • the /scripts/thirdparty/intro-v1.0.0/intro.js file (required to load /$resource_workbench.do)
  1. Open a pre-Geneva instance.
  2. Activate the com.snc.project_management_v2 plugin.
  3. Upgrade to Geneva.
  4. Activate the com.snc.resource_management plugin.
  5. Navigate to /$resource_workbench.do.
Note the error in the browser console:
WARNING *** WARNING *** Resource does not exist: /scripts/thirdparty/intro-v1.0.0/intro.js

SDLC

PRB631347

SDLC - Scrum Process Pack UI actions scripts that contain more than 4000 characters get truncated on instances running Oracle For example, when installing the SDLC plugin(s) in an instance that has an Oracle DB, there are UI actions that are being truncated because of the max_length in the dictionary record of the "script" field. This causes many problems because the UI actions are unusable, since the scripts are truncated and the UI actions do not work as expected.

In an instance with an Oracle database:

  1. Install the SDLC plugin(s).
  2. Note there are UI actions are truncated and unusable.

Service Catalog

PRB646133

Searching for item with ampersand in name is not found When search for a catalog item with ampersand in the name, the item is not found.
  1. Add & to the name of any catalog item (e.g. Apple iPhone 5).
  2. Navigate to Self-Service > Service Catalog.
  3. Search for the item.

Note that you receive the error "Your search for Apple iPhone & 5 in Service Catalog did not match any items."

Service Catalog

PRB646637

KB0594593

Rejected approval changes the state to Cancelled instead of Rejected When a requested item requires an approval and the approval gets rejected, the new state of the requested item is incorrectly set to Cancelled rather than Rejected.
  1. Create a new catalog item via the Item Designer.
  2. Add a task (mandatory).
  3. Add one or more approvers, including Bow Ruggeri.
  4. Publish the item and order via the catalog.
  5. Log in as Bow Ruggeri.
  6. Go to Service Desk > My Approvals.
  7. Open a record (state should be Requested).
  8. Reject the request.

Notice that the sysapproval_approver record is Cancelled instead of Rejected.

Service Catalog

PRB647319

KB0551825

When the Maintain Cart Layouts feature is turned on, the sc_request view still shows old non-layouts view With the Maintain Cart Layouts feature turned on, the sc_request view should show the new styled view of a request, but is still shows the old style.
  1. Navigate to Service Catalog > Catalog Policies > Properties.
  2. Find the property named Use the sc_layout driven cart macros (glide.sc.use_cart_layouts) and ensure that Yes is selected.
  3. Navigate to Self-Service > My Requests.
  4. Click on any request.
Note that the UI rendered is still the older version and does not honor any changes made in the Order Status Screen in Maintain Cart Layouts.

Service Catalog

PRB649869

Fixed and multiple prices are not working in catalog items When the item price is set to use the fixed model and should show a fixed price, the item price calculations on the item page use the user's session currency and show a converted price instead. The item ordering widget always displays localized prices which are defined by the user's locale. For example, if a user is in the USA, the price will be displayed in USD even though it is fixed as EUR.
  • With the glide.sc.use_cart_layouts property set to true and the fixed pricing model is used, the price always uses the user's session currency to display prices.
  • With the glide.sc.use_cart_layouts property set to false and the fixed pricing model is used, it renders the correct currency the first time. However, upon the first refresh action (e.g. quantity change or variable change), it converts to the user's session currency.

The expected behavior is that if the item price is fixed to be in a particular currency, the order item widget should show the price in that currency - not the converted value in the user's local currency.

  1. Navigate to Maintain items.
  2. Create a item and click on the pencil button in the Price field > choose Fixed price.
  3. Fill in the price and select a currency that is not USD. Click Update.
  4. On the item's page header, click Try it.

Expected result: The price should be displayed in the selected currency.

Actual result: The price displays in USD.

Service Catalog

PRB655875

Cascading Date/Time variables do not work as expected in Order Guides when the system property 'glide.sys.time_format' is configured to use 24-hour clock 'HH:mm:ss'

Service Catalog

PRB660342

When provisioning a DBI instance, Service Catalog does not update the necessary fields

Service Catalog

PRB665752

Geneva upgrade - Catalogs have extra space between variables (variables within container are hidden by UI policy) In the Service Catalog, if there is a variable set that has 'Visible' set to 'false', the UI policy does not hide the element and it displays as an empty space between the fields.

In a Geneva Patch 4 instance:

  1. Create a variable set with 2 single line variables.
  2. Set Order to Variables with two consecutive numbers.
  3. Create a Catalog UI policy that Applies to Variable Set.
  4. Within the Catalog UI policy actions, add the 2 variables and set Visible to false.
  5. Add the variable set to a Catalog Item.
  6. Set the Order number to place the variable set between the two existing fields.
  7. Click Try it.

Notice that there will be an extra space between the fields. If you "inspect the element" in that area, you will notice that the element is technically still there even though Visible is set to False in the UI policy.

Service Catalog

PRB666430

Cart Preview Screen pages can be slow to load if Lookup variables are empty The cart layout Column Macro 'sc_cart_view_column_expandable_desc' uses script include 'CatalogLabelEvaluator' to provide the variable name and values for the edit cart, and checkout screens.

If a variable is Lookup Select Box (type 18) and Lookup Multiple Choice (type 22), has the 'Lookup Value Field' set as sys_id, and has an empty value, then the code in the getDisplayValue function will still try to get a display value for this empty variable value.

What happens is a get() on the referenced table with sys_id=''. This results in the whole table being returned. In Geneva, that means the form is slow to load. In Helsinki, the variables fail to load and there is an onscreen error:

Illegal access to method getDisplayValue() in classcom.glideapp.questionset.LookupSelectQuestion

Service Catalog

PRB690516

Changes in behavior regarding UI policies and controlling visibility of Containers and Variables, Variable-sets within a Container When there is one UI policy that is meant to "hide" a container with its variables, and there is a second UI policy where if it sees the value of a certain variable within the container, it will show a different variable in that container. It breaks by showing the container and some of the variables inside, even though it is supposed to be hidden. This issue occurs after upgrading from Geneva or Helsinki instances to Helsinki Patch 1. Prerequisites
  1. Navigate to the Catalog Item Test Variable Issue.
  2. Fill the 5 variables as follows:
    • outside: Single line text that is outside the Container
    • start_container: Container Start
    • show_details: Yes/No variable with Include None
    • add_details: Single line text
    • End Container
  3. Fill 2 Catalog UI policies as follows (both have "Reverse if false" and "On load" set as true):
    • Hide Container: When "outside" is not empty, show the container and relevant variables
    • Show Additional Details: When "show_details" is Yes, show the "add_details" variable (visible = true) and make this mandatory
  4. Tie the 4 Catalog UI policy actions to the above 2 Catalog UI policies as follows:
    • 1a) start_container --> visible: True, others: leave alone
    • 1b) show_details --> mandatory: True, others: leave alone
    • 1c) add_details --> all: leave alone
    • 2a) add_details --> mandatory: true, visible: true

Steps to reproduce

  1. Import these records onto a Geneva or pre-Helsinki Patch 1 instance.
  2. Go to the Test Variable Issue Catalog Item and click Try it. On this first ordering page, you should only see the "outside" variable loaded (other variables should not be visible). This is the expected behavior.
  3. Repeat these steps on a Helsinki Patch 1 or later version.

You should see that, on this ordering page, the "start_container" and "show_details" variables will show on this form. This is the unexpected behavior.

Service Mapping

PRB668827

History - incorrect graph When the user views history one minute ago on business services, they are getting incorrect data.

Service Mapping

PRB671441

MID upgrade occasionally fails due to lock on DLL used by Service Mapping (log4net.dll) This occurs when there were multiple MID Servers on the same server or MID Servers and the legacy SW collector. Since the WMI collector is shared by both MIDs, it may be that once we stop the service, the other MID will start it again and possibly lock the DLL of the first MID.

Service Mapping

PRB675592

Wildcard write ACL blocks access when Service Mapping plugin is installed When the plugin 'com.snc.service-watch' is installed, it adds a new '*' write ACL that denies access to all users other than admin. This will break customers who do not have the high-security plugin activated. This write ACL needs to be removed.
  1. In an OOB instance, look for all the '*' write ACLs.
  2. Activate the 'com.snc.service-watch' plugin.

Notice that there is a new '*' write ACL.

Service Mapping

PRB677144

Add bypass to F5 behavior
  1. Run F5 discovery with SSH credentials.
  2. Note the device is discovered as Linux.

Service Mapping

PRB678775

Service Mapping is not able to discover UNIX system if the SSH key used is encrypted using methods other than DES When the SSH key used in credentials is encrypted with AES or other methods which are not DES, Service Mapping fails to communicate with the server. This is the result of an issue with the SSH package used. The solution is to use more recent version of this package.

Service Mapping

PRB678995

Flash-based Pattern Debugger (in Geneva and Helsinki) does not allow for quotes in value strings
  1. The string
    "ls "+$process.executableDir+"\""
    does not pass UI validation. Users get the UI error "... they don't come in pairs ..."
  2. The string
     "ls "+$process.executableDir+"\"\""
    does not pass UI validation. Users get the UI error "... they don't come in pairs ..." even though the number of quotes is even.

Service Mapping

PRB679365

ServiceNow documentation says 'Discovery Messages' and 'Traffic Based discovery' tabs will be visible only in Edit mode According to ServiceNow documentation, the 'Discovery Messages' and 'Traffic Based discovery' tabs are only visible in Edit mode. See the last item in Understand Maps. However, when users with the role 'sm_user' log in and they only have view access, those users can see these tabs.

Service Mapping

PRB679625

F5 fixed unknown computer + active/passive indicator F5 fixed unknown computer - there is a NullPointerException in the Discovery log and the Discovery stop.

Service Mapping

PRB681639

Merge table closure is not efficiently handling large tables Merge table closure will consume a high amount of CPU (on the MID) when the input tables are large (>5000).

Service Mapping

PRB682516

Service Mapping CyberArk integration does not fall back to IP address When an initial query using the object name fails, ServiceMapping fails to create a query to CyberArk using the IP address instead.

Service Mapping

PRB684555

Service Mapping fails to identify listening port correctly when using lsof on UNIX systems On AIX/Solaris/HPUX, Service Mapping may use lsof to determine process listening on a given port. The lsof command issued is not filtering listening ports, so sometimes the result is, mistakenly, another process on the same machine that has established a connection to the given port.

Service Mapping

PRB687001

Problem with business service sync on upgrade from Geneva to Helsinki After a user's instance upgraded from Geneva to Helsinki, it was impossible to view the map of services. For remediation, a manual sync was done for all services and the map view was restored.

Service Mapping

PRB690129

Load Balancer VIPs which serve all ports should be created with port set to blank When creating a VIP via F5 LTM pattern, and the VIPs port is 0, the CI should be created with a blank port. Currently it is set to the entry point's port. This causes the VIP not to merge with an existing one, created by Discovery, and then lose its relation to the LB, when HD is run again on the LB.
  1. Discover an F5 VIP that shows up with port 0 on the LB.
  2. Note the pattern creates a new VIP with the entry point's port instead of merging with the existing VIP that has a blank port.

Service Mapping

PRB690502

Error on server request updateFetchMashup. Unknown Error A long query on large maps causes error 400.

Team Development

PRB673198

Team Development transactions can be cancelled by scoped quota rules Platform transactions that should not be cancelled must be marked uncancellable. Otherwise, the quota rules that check scoping can cancel them. For example, Team Development operations are not uncancellable because they are being canceled in the field.

Test Management

PRB638970

Test Management When you select test cases in a test suite and then click actions on selected row - add to test plan, the entire test suite is added to the test plan, not the selected rows
  1. Open the Test Repositories - Test Suite.
  2. Select a test suite with more than 1 test case.
  3. Select a portion of the test cases in the test suite.
  4. Go to actions on the selected row and click on Add to test plan.
  5. Select a test plan.

Note the entire test suite is added to the test plan.

UI Policy/Client Script

PRB613583

E164 Compliant Phone Number Read-only UI policy actions are not honored for Phone Number (E164) fields UI policy actions with read-only set to 'true' are not honored for targeted fields that have the type Phone Number (E164) [phone_number_e164].
  1. Add a Phone Number (E164) field to a form.
  2. Add a simple UI policy for the table.
  3. Add a UI policy action to it for the field created in step 1, setting Read only to 'true', and 'Leave alone' for the others.
  4. On the form, the field will still be editable.

UI Policy/Client Script

PRB649124

KB0595450

Currency and option field label hint display "Security does not permit writing to this field" when made read-only Refer to the listed Known Error KB article for details.

UI Policy/Client Script

PRB658414

Catalog UI policy displays the sys_id instead of the display value After a user upgraded from Fuji to Geneva, they noticed that many Catalog Conditions were not displaying the correct value in the Catalog UI policy. Instead of displaying the display value, they show the sys_id. In addition, the magnifying glass is not available in the condition filter.

In an OOB new Fuji instance:

  1. Open the Catalog UI policies list (catalog_ui_policy_list.do).
  2. Open the record with the short description "Hide Reason Details (DB Restore)".
  3. Try to add a filter condition: cmdb_ci IS
  4. Note that the magnifying glass is available and you can pick up the value.
  5. In an OOB Geneva instance, perform the same action.

Note that you can only type in a value for cmdb_ci, and the magnifying glass icon is not available.

Update Sets

PRB674866

Reparenting of existing table via update set works when it should not When an update set was applied to change the existing table table u_cmdb_ci_scanner and make it extend cmdb_ci, the reparenting seemed to work. It should not have. Note that the logs show a warning and error (see Steps to Reproduce). This can cause data loss when a table is incorrectly reparented by an update set, for instance when it already has a parent.
  1. In the target instance:
    1. Create a stand alone table named "u_my_extending_table" (initially, this table will not extend anything).
  2. In the source instance:
    1. Create an update set and set it as current.
    2. Create a table named "u_my_extending_table" (it is important that the table name is the same as target). Make this table extend CMDB_CI.
    3. Complete the update set.
  3. Back on the target instance:
    1. Verify table "u_my_extending_table" does not extend anything yet.
    2. Retrieve and commit the update set created in step 2.
    3. Commit logs will show a warning with the message "Prevented attempt to reparent u_cmdb_ci_scanner, from null, to cmdb_ci " or something similar. You will also see this error in the localhost logs.
    4. Verify table "u_my_extending_table" again after committing the update set. In ss_db_object, it now shows that it extends from cmdb_ci. Checking the DB, table schema, etc. confirms that the reparenting actually took place.
    Warning and error:
    2016-04-29 05:59:42 (425) Committing update set: <name of update set> SYSTEM WARNING ***
      WARNING *** Prevented attempt to reparent u_cmdb_ci_scanner, from null, to cmdb_ci 
    2016-04-29 05:59:42 (476) Committing update set: <name of update set> SYSTEM SEVERE
      *** ERROR *** removeChild - null 
    java.lang.reflect.InvocationTargetException 
    [ ... ]
    at com.glide.update.loader.DBObjectUpdateLoader.makePayloadParentMatchDBParent(DBObjectUpdateLoader.java:164) 
    [ ... ]
    Caused by: org.w3c.dom.DOMException: NOT_FOUND_ERR: An attempt is made to reference a node in a context where it does not exist. 
    [ ... ]
    

Upgrade Engine Issues

PRB668114

sys_choice for extended tables are being incorrectly detected as collisions During plugin activation, new sys_choice entries are being skipped during table creation if the base table has an entry for sys_update_xml.

User Interface (UI)

PRB618792

Personalize & Configure list layout is broken on IE11 - slush buckets go blank / empty On IE11, if you try to change the list layout (either through the Configure or Personalize options), it results in the slush buckets displaying as empty / blank.
  1. From incident.list, Configure > List layout.
  2. Move some field from Available to Selected.
  3. Using the up/down navigation arrows, try to bring that field up in the order.
  4. Click on any field in the Available column again. Notice all fields in the Selected column are cleared out.
  5. From incident.list, click on the gear menu to personalize the list.

Notice that the slush bucket is again cleared out.

User Interface (UI)

PRB631171

Horizontal scrolling in sections/related lists does not show scroll bar until the very bottom In Dublin, if there are more columns off-screen, a persistent horizontal bar was present at the bottom of the frame to show that there are additional columns. In Fuji, the scrollbar does not show up until the very bottom of the frame. A user does not know that additional columns exist until they are at the very bottom of the list/page.
  1. Go to incident.list and select any record.
  2. Configure the related lists and add Catalog Task > Parent.
  3. In the related list, click Edit. Take a large chunk (15+) of records and add them.
  4. In the related list, click the gear mechanic to personalize the list layout.
  5. Add a handful of columns (7 or more) to create a necessity for scrolling.

Notice on the form you now have to scroll to the very bottom of the related list to even know there may be additional columns in the list.

User Interface (UI)

PRB642450

NG shared components Firefox 32: Angular processor logs a "not well formed" error on Firefox browser console due to missing Content-Type header

On a Geneva instance with the Notify and Notify - Twilio Driver plugins activated with demo data:

  1. Navigate to Notify > Administration > Properties to set up the Twilio Configuration Page with SID and Auth-token.
  2. Update the system property 'glide.notify.task.phone_number' with a Notify phone number.
  3. Navigate to Notify > Numbers.
  4. Select the number which you added as value of the property 'glide.notify.task.phone_number', and update the field Notify Group as Notify On Task Group.
  5. Navigate to Incident > All, and click on one of the incidents.
  6. Click Send SMS.
  7. Open the Firefox browser console.

Observe the error message logged on the console: "not well-formed"

In Chrome, the error message is:
*** WARNING *** GlideAjax.getXMLWait - synchronous function - processor: SysMessageAjax

User Interface (UI)

PRB647294

My Profile in the Header Menu does not specify "ess" form view (UI16)
  1. Log in as an ITIL user.
  2. Click on the user name, as if you are going to log out of the instance. Notice that Profile and Logout display.
  3. Select Profile. Notice all the authentication/preferences display.
  4. Navigate to Self-Service > My Profile.

Notice nothing displays here. This occurs only for ITIL users.

User Interface (UI)

PRB649956

KB0563425

Special characters in a sys_choice value are not handled properly by a template Using a special character (such as a comma or an at-sign) in the value field of a sys_choice record prevents templates from being applied to a form successfully.
  1. Create a new sys_choice record and set the following:
    • table = [incident]
    • element = subcategory
    • label = Cisco Systems, Inc.
    • value = Cisco Systems, Inc.
  2. Create a new sys_template record and set the following:
    • table = incident
    • template = Subcategory | Cisco Systems, Inc.
  3. Click Save. When you attempt to save the record, the template value reverts to Subcategory | -- None --.

If you perform a Show XML on the template, the value is shown associated to the field, but:

  • the display value is display=" "
  • it looks like the template does not have a value associated to it
  • the template does not work when you try to apply it

User Interface (UI)

PRB656605

Recent selections popup coming up in tabbed view when the first writable field is in the second tab and is a reference field

In a Fuji instance with the Procurement plugin active:

  1. Go to a purchase order record(proc_po) record.
  2. Important: Ensure that your viewing the record in tabbed mode.
  3. Navigate Procurement > Purchase order, and open a purchase order which has state 'ordered' (e.g. PO0000010, OOB).
    • Now we need to change the form in such a way that you remove all the writable fields from the form and move it to the second tab. In other words, the first section should be completely read-only. The first tab should also be completely read-only. The second tab should have the first writable field as a reference field.
  4. Now, go to the second tab and enter something in the first writable reference field (Abel Tuter, if it is assigned to) and save it.
  5. Go to the same field, remove the name Abel Tuter, and save the form.
  6. Click on the same reference field. You will notice the recent selection (Abel Tuter) come up.
  7. Go to the first tab where there is no writable field at all.
  8. Go to the list of purchase orders (proc_po.list) and open the form that you just opened.

Notice the recent selections appear in the left top side.

User Interface (UI)

PRB657107

KB0564324

In UI16, field labels for task.comments and task.work_notes are not overridden in sys_documentation for the extended table 'incident' Labels are not overridden in UI16 correctly.
The labels of the task.comments and task.work_notes fields should be overridden in sys_documentation for the extended table 'incident:'
  • task.comments - label is "Additional comments"
  • task.work_notes - label is "Work notes"
The following are honored in UI15, but not UI16. UI16 shows parent label, although it is overridden:
  • incident.comments - label is "External Notes"
  • incident.work_notes - label is "Internal notes"
  1. Log in to an instance with base system Geneva release installed.
  2. Go to sys_documentation.list.
  3. Create label for the fields: incident.comments and incident.work_notes
    • incident.comments: label as External Notes (plural as External Notes)
    • incident.work_notes: label as Internal Notes (plural as Internal Notes)
  4. Ensure that the interface is set to UI16.
  5. Open any incident.
  6. View Activity log. The label Additional comments is displayed.
  7. Change the interface to UI15.
  8. Open the same incident from step 5.
  9. View Activity log.
The text Changed: External Notes is displayed.

User Interface (UI)

PRB657134

KB0564278

Process flow arrows point in the wrong direction in Hebrew When using right-to-left languages, the process flow is working as expected from right to left. However, the arrows in the process flow are in the wrong direction (pointing to right instead of left).
  1. Navigate to System UI > Process Flow.
  2. Using the State field, create a couple of records for the Problem table.
  3. Navigate to Problem > Open.
  4. Configure the Format layout and add Process Flow.
  5. Change the instance language to Hebrew.
  6. Navigate to Problem > Open.
  7. Elect any record.

Note that the process flow is pointing to the left.

User Interface (UI)

PRB657738

KB0563997

Magellan Navigator Create Favorites module throws a JavaScript error when glide.ui.escape_all_script is set to true The Create Favorites module throws a JavaScript error when the system property 'glide.ui.escape_all_script' is set to true.
  1. Log in to an instance with base system Fuji or Geneva installed.
  2. Open the browser debug console.
  3. Set the glide.ui.escape_all_script property to true.
  4. Try to create a favorite on a list v2.
In the console, note invalid token error.

User Interface (UI)

PRB659019

Displaying a list of records in a dialog window has scroll issues when the language is Hebrew Users cannot scroll horizontally there are number of columns to display. The display works as expected in English.

User Interface (UI)

PRB659475

TinyMCE HTML Field Editor Clicking the full screen icon (four arrows icon) does not direct to a full screen page Clicking on the full screen icon (4 arrows) for a full page view in any knowledge article goes to a page that does not show the article in full page view. The article shows about 2 inches maximum for height and width, and the user needs to manually expand the page to full height.

In a Geneva instance:

  1. Navigate to Knowledge > All.
  2. Click on any article.
  3. Click the full screen icon (four arrows button for full screen).

Observe that the box needs to be expanded in height because it is not a full screen. In addition, an "H2" or "p" text appears right below the lower left border of the article.

User Interface (UI)

PRB659771

NG shared components iframe does not resize correctly for content pages showing forms with Activity Streams Forms in iframes on content pages do not resize correctly. Widgets can be set to a specific size larger than what the iframe should show, but the iframe does not resize to fill.
  1. Navigate to ess/incident_status.do.
  2. Click on the incident from list.

Expected behavior: iframe should expand to full length and display information down the page.

Actual behavior: iframe cuts off, and the user is required to scroll down.

User Interface (UI)

PRB663730

Activity formatter filter on Geneva Incident form is missing the option 'All' on the options list This option used to be available on Fuji. The Geneva activity formatter product documentation does not contain information about the exclusion of the this feature. If a Geneva instance is reverted to UI15, the functionality is still available.

In an OOB Geneva instance:

  1. Impersonate Fred Luddy.
  2. Navigate to Incident > Assigned to me.
  3. Click on the incident INC0000052.
  4. On the right side of the Activity field, click on the filter icon.

Note that the Option 'All' is missing.

User Interface (UI)

PRB664918

Lists v2 Totals out of alignment for values in embedded lists in printer-friendly version of form For embedded lists on forms with dollar amounts with a total at the bottom, using the printer-friendly version of the page does not have the the dollar total line up with the amounts above.
  1. Open an incident.
  2. Right-click the grey header > Configure > Form Layout.
  3. Add Expense Line > Task to the form and save.
  4. Double-click Insert a new row, then click the green tick next to the expense line number. A 0 dollar amount is added to the list.
  5. Repeat step 4 twice more so you have 3 entries. Note that the total already does not line up.
  6. Right-click the grey header and save the form.
  7. Click the cog in the top frame.
  8. Click Printer-friendly Version.

Expected behavior: The total of dollar values entered should be under the list of values in the embedded list.

Actual behavior: The total is one column to the right too far.

User Interface (UI)

PRB664972

UI16 navigator is not on the right and lists are rendered from right to left for users with RTL languages (e.g. Hebrew)
  1. Log in as an admin user.
  2. Install the I18N Hebrew plugin.
  3. Create an admin user with the language set to Hebrew.
  4. Log in as the user created above.

Note the navigator is on the left, and lists (e.g. incident, change, problem) are not rendered from right to left.

User Interface (UI)

PRB665734

Form layout is aligned to the left in Hebrew When the instance is in Hebrew, the forms are aligned to the left instead of the the right.
  1. Activate the I18N: Hebrew Translations plugin.
  2. In a new tab, go to a problem record.
  3. In this new tab, change the instance language to Hebrew.
  4. Reload the problem record.

Note the two columns in the form layout stayed in the same position instead of switching, since the alignment in Hebrew is right to left.

User Interface (UI)

PRB666020

Lists v2 In Hebrew, group by in list view gets left-aligned
  1. Navigate to incident.list.
  2. Right-click the State column > Group By State.
  3. Change the instance's language to Hebrew.
  4. Open the same list with the group by (in Mac, press 'cmd'+click on the 'reload this page' icon).

The grouped by list will show as left-aligned instead of right-aligned.

User Interface (UI)

PRB666815

Lists v2, Magellan Navigator, NG shared components Rows render more slowly in Geneva compared to prior builds Row rendering in Geneva is taking twice as long as it did in Eureka, causing list view response times to double. Although this is inconsequential when list loads are in the sub-second range, if a customer has a list view on Eureka that takes 7 seconds to load, it will take anywhere to 14-21 seconds in Geneva.

In a Geneva instance:

  1. Set the system property 'glide.for_each_record_tag2.log_row' to true.
  2. Navigate to System Diagnostics > Session Debug > Debug Log and turn Debug Log on.
  3. Load a list (task).
  4. Repeat steps 1-3 on a Eureka instance
  5. Observe the render times for each row

Expected behavior: Rendering time is similar.

Actual Behavior: Geneva rendering time has a 100% increase.

User Interface (UI)

PRB667422

Breadcrumbs order is wrong when one of the items is in Hebrew When using an instance in Hebrew, on the Project task form, if one of the chain project tasks name is in Hebrew, the breadcrumbs order is incorrect.

In an OOB Geneva instance:

  1. Go to the following project task:
    /pm_project_task.do?sys_id=9e8930910fd13100eb83e1b8b1050eb3&
    sysparm_view=&sysparm_domain=null&sysparm_domain_scope
    =record&sysparm_record_row=1&sysparm_record_rows=5&
    sysparm_record_list=parent%3d5a8930910fd13100eb83e1b8b1050eb3%5eORDERBYnumber
  2. Change the value in the Short description field to something in Hebrew (e.g. שם בעברית).
  3. Remember the correct order of the breadcrumbs.
  4. Activate the Hebrew plugin and apply it.
  5. Go to the same project task.

Note that the breadcrumbs order is now incorrect.

User Interface (UI)

PRB671263

Validation from data policy does not work if you are using a guided task board on a parent table, and the data policy is looking at a field from a child table

In an OOB instance:

  1. Navigate to an Incident form > Configure Form Layout.
  2. Create a new Field "Test style" and add it on the form. Save.
  3. Create a data policy on Incident table using the field you created in step 2. For example:
    • Condition: State is 'Closed' or 'Resolved'
    • "Test Style" = Mandatory
  4. Navigate to task.list. Make a filter where Task Type is Incident.
  5. Right-click on the State column > Show Visual Task Board.
  6. Move an Incident card to Resolved or Closed state.

Observe that the move fails, and in Geneva, you do not receive the popup message from the data policy.

User Interface (UI)

PRB673508

TinyMCE HTML Field Editor New attachments with the Tiny MCE Editor using the Insert/Modify image icon can be seen globally Open the email icon from any existing incident, try to attach any image using the Insert/Modify image icon, and cancel the email (i.e. do not send). The attachment can be seen from different incidents when trying to perform the same steps. The problem is that the new inserted attachment rows in the sys_attachment table have Table Name and Table Sys ID as empty.
  1. Navigate to Incident > Open.
  2. Click any incident from the list to edit it.
  3. Click the email icon, and then click the image icon.
  4. Inside the email editor, click the Insert/Modify image icon.
  5. Choose an attachment from the Type LOV > New > Choose File.
  6. Choose any image file from the file list.
  7. Click the Attach button, make sure that the image gets loaded to the screen, and click OK.
  8. Close the email window - do not send the email.

If you try to edit another incident and repeat the steps above after step 5, you will notice that the image field has the attachment that you added in the original incident.

Query the sys_attachment table: https://<instance>/sys_attachment_list.do. The attachments inserted have the Table Name and Table Sys ID as empty.

User Interface (UI)

PRB673920

There is no focus state for tabbed sections and related lists on forms Accessibility features allow other applications such as VoiceOver (enabled by hitting Command+F5 on Mac keyboard to activate VoiceOver App) to identify and get more voice enabled and on screen details and description of fields by tabbing into them within the ServiceNow platform. In order for VoiceOver to work, ServiceNow needs to assign roles to fields/objects within the user interface so that such applications can access these fields. However, there are a few objects such as related lists within forms when using Tabbed forms where these roles are not getting assigned, thereby rendering such fields/objects unaccessible to VoiceOver and other such applications.
  1. Activate the VoiceOver application by clicking on Command+F5 from a Mac keyboard.
  2. Go to any form within the platform with more than one related list.
  3. Make sure that you are using tabbed forms.
  4. Hit the tab key in the form.

Observe that when you are on related lists, the system skips the remaining related lists on the form and only goes through the fields within the first related list on the form.

User Interface (UI)

PRB673992

Connect Random ordering of conversations in Connect side window When new conversations are created or when a conversation is deleted, the conversation order in the Connect side window becomes randomized. This occurs when the number of conversations is more than 10.
  1. Ensure the Collaboration plugin is active.
  2. Create a new conversation from the Collaboration window by clicking '+'.

When you add a couple of more conversations, observe that the conversations are not sorted in any logical order. If the number of conversations is more than 10, notice that deleting one of the conversations updates the first conversation to a different one from the list.

Expected behavior: The most recent conversation (either newly created or updated) should be the first one in the list of conversations.

Actual behavior: The first conversation in the list is one of the other conversations from the list.

User Interface (UI)

PRB674549

E164 Compliant Phone Number 'field_decorations' dictionary attribute does not work on 'Phone Number (E164)' field
  1. Create a new UI macro.
    • Name: testingMacro
    • In between the jelly tags: <span>testing</span>
  2. Open an incident record and create a new field:
    • Name: testPhone
    • Type: Phone Number (E164)
  3. 'Configure Dictionary' on testPhone field.
  4. Add the attribute: field_decorations=testingMacro.

Notice that the UI macro is not applied to the testPhone field.

User Interface (UI)

PRB676769

NG shared components When creating a new update set and then clicking on "Submit and Make Current", the update set pickers in the header and the developer settings do not update automatically Submit and Make Current is not updating the update set to current in the cog wheel > Developer Settings > Update Set picker. The browser needs to be refreshed to get this updated.

In a Geneva instance:

  1. Navigate to System Update Sets > Local Update Sets > New.
  2. Create a new update set and click Submit and Make Current.
  3. Verify the developer settings > Update Set picker. The previous update set is still displayed.
  4. Refresh the browser. The update set picker gets updated to the one you just created.

User Interface (UI)

PRB678019

NG shared components Initials are incorrect when emails are in parentheses
  1. Use a user with name "Thomas James (thomas.james@example.com)".
  2. View the avatar.
Instead of displaying as TJ, it displays TC.

User Interface (UI)

PRB678316

IE11 - List of email recipients is truncated in the activity history When you send email from an incident, and fill the To and CC fields with many emails, the list of email recipients gets truncated in the activity history. This happens in IE11.
  1. Create a new incident.
  2. Email many (more than 10) users, using the email client from the incident form.
  3. Reload the form and check the activity history.

Note the email addresses get truncated in the activity history. This does not happen in Chrome and happens only in IE11.

User Interface (UI)

PRB678994

Transaction timeout after attempting to save a new Facilities Request due to SMFilters script include looping If customer has a location which sets the parent location as itself, it can cause the transaction times out when saving a new record. This is caused by the script include SMFilters, which is called by the business rule "Populate Group - Qualification."
  • SMFilters script include: /nav_to.do?uri=sys_script_include.do?sys_id=f4a5602337832000158bbfc8bcbe5dc8
  • Populate Group - Qualification business rule: /nav_to.do?uri=sys_script.do?sys_id=9fed3f8237232000158bbfc8bcbe5
  1. Activate the Facilities Service Management plugin.
  2. Navigate to cmn_location.list and open the record California.
  3. Change the parent field to San Diego.
  4. Navigate to facilities_request.do and set the location to San Diego.
  5. Fill in any other mandatory fields and save.

Expected behavior: The record should be created with the location set to San Diego.

Actual behavior: The transaction begins to loop and times out.

User Interface (UI)

PRB679379

If user preference glide.ui11.use is set to false for an ESS user, they cannot log in
  1. Change global user preference glide.ui11.use to false.
  2. Clear the cache.
  3. Log in as employee.
See that page loading stops on "Establishing Session".

Visual Task Boards

PRB654609

Visual Task Boards Dragging a board from $vtb.do onto the navigator no longer adds a favorite
  1. Navigate to $vtb.do and ensure that at least one board exists.
  2. Drag the board panel/card onto the navigator in both UI15 and UI16.

Nothing happens - the VTB Board does not get pinned as a favorite. This works as expected in Fuji.

Visual Task Boards

PRB667437

Visual Task Boards VTB task card has duplicate 'Show all journal fields' icon

In a Geneva instance:

  1. Navigate to Incident.list, right-click the list header, and click Show Visual Task Board.
  2. Click on any active task card.

Notice the icon 'Show all journal fields' appears twice.

Visual Task Boards

PRB679889

NPE at CardHistoryStreamEntry.java line 29 in VTB code Some users have noticed thousands of these NullPointerExceptions in their log files. This issue occurs in Fuji and Geneva when any task type (usually vtb_task) has been added to a freeform board, and at some point, that task is deleted. The card record for the task persists and tries to get history data for the task on the board.
java.lang.NullPointerException: java.lang.NullPointerException:
  com.glide.ui.vtb.history.CardHistoryStreamEntry.<init>(CardHistoryStreamEntry.java:29)
com.glide.ui.vtb.history.CardHistoryBackedStream$1.computeNext(CardHistoryBackedStream.java:62)
com.glide.ui.vtb.history.CardHistoryBackedStream$1.computeNext(CardHistoryBackedStream.java:49)
com.google.common.collect.AbstractIterator.tryToComputeNext(AbstractIterator.java:143)
com.google.common.collect.AbstractIterator.hasNext(AbstractIterator.java:138)
com.google.common.collect.Iterators$MergingIterator.<init>(Iterators.java:1280)
com.google.common.collect.Iterators.mergeSorted(Iterators.java:1250)
com.google.common.collect.Iterables$14.iterator(Iterables.java:1012)
com.google.common.collect.Iterables$UnmodifiableIterable.iterator(Iterables.java:94)
com.google.common.collect.Iterables$11.iterator(Iterables.java:913)
com.google.common.collect.ImmutableList.copyOf(ImmutableList.java:226)
com.glide.ui.ng.streams.Stream.addEntries(Stream.java:32)
com.glide.ui.ng.streams.StreamFactory.getHistoryStream(StreamFactory.java:14)
com.glide.ui.vtb.VTBActivityProcessor.getStream(VTBActivityProcessor.java:106)
com.glide.ui.vtb.VTBActivityProcessor.boardStream(VTBActivityProcessor.java:97)
com.glide.ui.vtb.VTBActivityProcessor.process(VTBActivityProcessor.java:52)
com.glide.ui.ng.AngularProcessor.process(AngularProcessor.java:105)
com.glide.processors.Processor.runProcessor(Processor.java:413)
com.glide.processors.Processor.processTransaction(Processor.java:203)
com.glide.processors.ProcessorRegistry.process(ProcessorRegistry.java:146)
com.glide.ui.GlideServletTransaction.process(GlideServletTransaction.java:36)
com.glide.ui.GlideServlet$1.run(GlideServlet.java:414)
java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:895)
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:918)
java.lang.Thread.run(Thread.java:682)

Visual Task Boards

PRB681110

Visual Task Boards In Geneva, VTB requires global Update UI action to be active in order for UI/Data policy validation to work
  1. Navigate to an Incident form > Configure Form Layout.
  2. Create a new Field (e.g. Test style), add it on the form, and save.
  3. Create a data policy on the Incident table using the field you created in step 2 (e.g. Condition is when "State is Closed or Resolved" > Make "Test Style" is Mandatory).
  4. Navigate to task.list and make a filter where Task Type is Incident.
  5. Right-click on the State column > Show Visual Task Board.
  6. Move an Incident card to the Resolved or Closed state. Observe that move fails and notice if a popup from the data policy appears or not.

Notice that in a Geneva instance, you do not receive the popup message from the data policy. If you have any other tab opened with a list view, you will see the warning message from the data policy. However, the expected behavior is for a popup message on the VTB itself when a lane move fails.

Actual behavior: When the Global Update UI action is not active - In Geneva, the data policy mandatory validation message does not appear when moving the incident card on guided VTB for task table.

Expected behavior: When the Global Update UI action is not active - The data policy validation popup message should come when moving the incident card on a guided VTB for the task table.

Web Services

PRB662895

KB0596090

REST API Provider Bulk REST STATS API (/api/now/stats) can cause severe performance degradation Bulk REST STATS API calls (/api/now/stats) can cause severe performance degradation because the traffic is being routed to the default semaphore pool in Geneva. Refer to the listed Known Error KB article for details.

Workflow

PRB675052

"Excessive workflow context warning logs - Stage not found in future" error Users see these warnings in the wf context logs when a stage is not found in the deterministic future for stage rendering.

Other Geneva Patch 8 information

  • Connect
    • Connect Support upgrade information

      Starting with Geneva Patch 8, when you activate Connect Support, the system automatically sets the state of all Chat Queue Entry [chat_queue_entry] records to Closed Complete. This ends any open help desk chats.

    • Legacy chat to Connect Support transition: Use these basic steps to transition from legacy chat to Connect Support.

      Legacy chat uses a different field to determine which state a help desk chat is in. A fix script is built into the Connect Support plugin in Geneva patch 8 that circumvents this issue by closing out any existing help desk chat sessions. Manually closing out any existing chats before allowing this script to run helps prevent any loss of chat information.

    • Activate Connect Support: If you are currently using the legacy chat feature to provide help desk support, close any open help desk chats before activating Connect Support. Legacy chat and Connect Support cannot be used concurrently. Starting with Geneva Patch 8, when you activate Connect Support, the system automatically sets the state of all Chat Queue Entry [chat_queue_entry] records to Closed Complete. This ends any open help desk chats.
  • MID Server
    • Configure the MID Server for CyberArk: Under the Optional configuration parameters section, see ext.cred.type_specifier for new details on this parameter.
    • Configure the MID Server to use specific privileged commands:
      Starting with Geneva Patch 8, users can specify any privileged command for a MID Server to run, not just the supported commands. All new privileged commands use a common processor that runs this command on the target to determine if the privileged command exists: command -v priv_command. When applying the privileged command, the processor assumes:
      • All shell commands are allowed.
      • No password is required.
      • TTy is always required.
  • Orchestration SCCM Activity Pack
    • Get Applications activity (GetApplications.ps1): This script filters the results of the GET, so that only specific application attributes are returned. Filtering the results in this manner controls the size of the payload, while providing the most desirable application data.
    • Get Deployments activity (GetDeployments.ps1): This script filters the results of the GET, so that only specific attributes are returned for the deployments on the SCCM server. Filtering the results in this manner controls the size of the payload, while providing the most desirable deployment data.

      Output variables - deployments:

      • desiredConfigType: Possible values are: Install (1) and Uninstall (2).
      • deploymentIntent: Intended purpose of the deployment. Possible values are: Available (1) and Required (2) .
    • Get Device Collections activity (GetDeviceCollections.ps1): This script filters the results of the GET, so that only specific attributes are returned for the device collections on the SCCM server. Filtering the results in this manner controls the size of the payload, while providing the most desirable device collection data.
    • Get User Collections activity (GetUserCollections.ps1): This script filters the results of the GET, so that only specific attributes are returned for the user collections on the SCCM server. Filtering the results in this manner controls the size of the payload, while providing the most desirable user collection data.

Fixes included with Geneva Patch 8

* Unless any exceptions are noted, you can safely upgrade to this release version from any of the versions listed below. These prior versions contain PRB fixes that are also included with this release. Be sure to upgrade to the latest listed patch that includes all of the PRB fixes you are interested in.

Feedback