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

Geneva Patch 9

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

Geneva Patch 9

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

Geneva Patch 9 was released on October 4, 2016.
Build date: 09-28-2016_1701
Build tag: glide-geneva-08-25-2015__patch9-09-07-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 9 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 9, refer to KB0597801.

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

Service Catalog



Service Catalog Plugin The Display/Hide List button disappears on Related Lists in tabbed view when the incident variable editor is present on the incident form After configuring the incident form layout to include the incident variable editor, related lists no longer show the display/hide list button while in tabbed view. The incident variable editor appears to be attaching a style sheet, which causes the issue.

Refer to the listed Known Error KB article for details.

Software Asset Management


SAM Counter performance issues in cleanupInstalls() Log files show a large amount of time spent in cleanupInstalls.

After the scheduled job for SAM Counter is executed, users can observe performance degradation of the SAM Counter execution. The log files show that a large amount of time is spent in cleanupInstalls:





After Geneva upgrade, the MID Server throws NPE on any ecc_queue command that does not have a source specified The ECCQueueMonitor tests each ecc_queue entry for a source, to see if the source is restarted. When there is no source specified in a queue, as is the case with the heartbeat for example, a NullPointerException is thrown.
  1. Download and install a Fuji MID Server.
  2. Configure the MID Server to point to a Geneva instance, forcing the MID Server to upgrade.
  3. After the upgrade, watch the agent log on the MID Server.

You will start to see NullPointerExceptions coming from SystemCommandExecutor line 56.




Assessment 'Take Survey' link in notification email for public survey throws unauthorized error If a notification email is sent using Survey trigger conditions, accessing the Take Survey link as a Guest user throws the error "You are not authorized to take this survey" even though the survey is public.

Refer to the listed Known Error KB article for details.

Knowledge Management


Knowledge Management V3 Clicking the back button on the knowledge form when in IE11 or Firefox always selects the Tags tab Note that this issue does not occur in Chrome.

Using IE11 or Firefox:

  1. Navigate to the Knowledge homepage and select any article.
  2. Click on the back button.

Observe that the Tags tab is selected instead of Categories.

All Other Fixes

Other Geneva Patch 9 information

Problem Affected Plugins Short description Description Steps to reproduce

Change Management


Change Management - Core, Change Management - State Model, Change Request Adding a new change type per documentation is breaking the State drop-down behavior on Change form The product documentation explains how to create a new Change Type. After completing all the steps, the new type is created successfully. However, the State drop-down in the change form seems to be broken. Instead of showing the expected states according to the change type, it shows all states for any change type selected. In a Geneva instance, follow the steps on Add a new change type to create a new change type.

Note the State drop-down displays all states instead of the expected states for the selected change type.



Clicking the Connect button on a VTB board does not display the conversation popup when Connect side panel is collapsed
  1. Open any Visual Task Board.
  2. Ensure the Connect panel is collapsed.
  3. Click the Connect icon on the top header.

Expected behavior: The conversation popup should display immediately when connect icon is clicked.

Actual behavior: The conversation popup does not appear. It appears hidden behind the Connect sidebar.



chat_queue_entry wait_time is set to the current date if an end user abandons their chat
  1. Install Connect Support.
  2. Go to a queue.
  3. Start a support conversation.
  4. Click End chat.
  5. Go to the underlying chat_queue_entry record.

Expected behavior: The wait_time is set to the current time and date when the conversation was closed.

Actual behavior: The wait_time is set to be the difference between the opening and abandon time.

Cloud Management Application


Issue with 'Download Azure Billing Report for Specific Month' for the month of April 2016 The 'Download Azure Billing Report for Specific Month' workflow downloads the Azure billing file. The workflow works as expected for all months, except for the month of April 2016. The workflow errors out with a message in the error log.
  1. Log in as admin.
  2. Navigate to Microsoft Azure > Report Schedules > Azure Billing Download Schedule.
  3. Click Download Previous Month Report.
  4. Set the Start and End month to 2016-04.
  5. Click Execute Now.

Notice that it kicks off the 'Download Azure Billing Report for Specific Month' workflow, but the Runscript activity 'Download billing report' fails. This issue is only reproducible for April 2016.


Download billing report(086e2a57870202001108f4bbe3e3ecf3):
  Caught exception in InterpretedScript
<refname>: org.mozilla.javascript.JavaScriptException:
org.mozilla.javascript.WrappedException: WrappedException of String has exceeded max
size of 16777216

Cloud Management


AWS Discovery sensor causing Type Error

When running some sensors during AWS Discovery, the following error may be encountered in the Discovery log. This results in certain information not being persisted.

[code]Sensor error when processing <a
23b15ec3990eb9'><u>AWS EC2 -DescribeSecurity
Groups</u></a>: TypeError: Cannot convert
null to an object
  1. Set up a AWS account.
  2. Set up a Discovery schedule - Once or On Demand.
  3. Click Discover Now.
  4. Wait for Discovery to complete.
  5. Examine the Discovery log. Filter ECC queue records that show the error state.

Cloud Management


Change Request WF is not getting triggered for resources that are under change conditions When a user clicks the Update Lease UI action, nothing happens.


PRB666850 fails to generate the list of columns when a column contains a dot-walked field(reference) Dependency View is not displaying table records in the details view if a column in the list of records contains a field which is a dot-walked type.
  1. Navigate to any table (e.g. incident).
  2. Right-click the header of the list and select Configure > List Layout.
  3. Select the first available field of reference type (e.g. assigned_to).
  4. Add this field to the Selected list (e.g. Assigned to.Active).
  5. View the list of incidents and confirm that the new column is visible in the list.
  6. Load /

Expected behavior: The user gets the list back in JSON.

Actual behavior: The user gets a NullPointerException:

2016-03-16 12:54:43 (954) Default-thread-1 77376333F7021200D9561D073C8DFF55 #2532
  / Parameters -------------------------
2016-03-16 12:54:44 (011) Default-thread-1 77376333F7021200D9561D073C8DFF55 SEVERE
  *** ERROR *** java.lang.NullPointerException
at com.snc.cmdb.ui.CMDBTableProcessor.buildColumnEntry(
at com.snc.cmdb.ui.CMDBTableProcessor.getColumns(
at com.snc.cmdb.ui.CMDBTableProcessor.process(
at com.glide.processors.AProcessor.runProcessor(
at com.glide.processors.AProcessor.processTransaction(
at com.glide.processors.ProcessorRegistry.process(
at com.glide.ui.GlideServletTransaction.process(
at java.util.concurrent.ThreadPoolExecutor.runWorker(
at java.util.concurrent.ThreadPoolExecutor$



Configuration Management (CMDB) 'Show CI Timeline' UI action can result in 'RP is not defined' error
  1. Navigate to a CI.
  2. Right-click on the header > History > Timeline.

The action navigates to the previous page and the following message is found in the log: org.mozilla.javascript.EcmaError: "RP" is not defined.



NullPointerException error when loading the CI Relations formatter on a customized cmdb_ci tables whose name do not start with cmdb_ci

Contextual Search


Contextual Search Service Customized email template was reverted to OOB settings upon Geneva upgrade

In a Geneva instance:

  1. Go to Email template: <instance_name>/ 8f910b5ec0a80164009a5a484f657b57.
  2. Delete the content in the 'Message' field.
  3. Save.
  4. Upgrade the instance.

Note the record is reverted to its out-of-box content.



Procurement Purchase order totaling is incorrect when user country code is using currency other than USD When you create a purchase order, add line items to it that you explicitly set to GBP, and then view that same purchase order as a GBP user, the total is incorrect.
  1. Load the Procurement plugin with demo data.
  2. Navigate to Procurement > Purchase Orders.
  3. Create a new purchase order.
  4. Add two purchase order line item records in the related list, set the currency to pounds, and make sure the amount includes cents.

    Note the cost field accurately reflects the total of the two items.

  5. Go to the user record for beth.anglin.
  6. Add the Country code field to the form.
  7. Change the value for the beth.anglin Country code field to United Kingdom.
  8. Impersonate Beth Anglin.
  9. View the same purchase order you created in step 3.
  10. Change the amounts in the POL items, choosing GBP as currency.

Note that the total cost is incorrect.



Configuration Management (CMDB) ORA-00932: inconsistent datatypes: expected - got CLOB Identifying applications on Oracle

CMDB Identification Engine Identity Rules cannot evaluate attributes that are of type CLOB on instances hosted on Oracle. The following message appears in the localhost log:

Syntax Error or Access Rule Violation
detected by database (ORA-00932: inconsistent
datatypes: expected - got CLOB)

Placeholders follow:

0 (32):7f5029586dd02200964f6f701f5cbfe1
1 (57):C:\Windows\SYSMSI\SSEE\MSSQL.2005\
2 (75):C:\Windows\SYSMSI\SSEE\MSSQL.2005\
    MSSQL\Binn\sqlservr.exe -sMICROSOFT##SSEE
3 (25):cmdb_ci_db_mssql_instance
4 (9):Duplicate

The Engine crashes and as a result, duplicate application record is created. This works correctly with the legacy CI Identifiers.


  • Use an instance that is Geneva or later.
  • The instance should be running on Oracle.
  • Only the Discovery plugin should be activated.
  • Ensure that Discovery is not using CMDB IE (system property glide.discovery.use_cmdb_identifiers = false).

Steps to reproduce

  1. Run Discovery against a target with a running Microsoft IIS Web Server.

    Note that one cmdb_ci_microsoft_iis_web_server record is created with a Runs On::Runs relationship.

  2. Rerun Discovery.

    Note that there is still only one cmdb_ci_microsoft_iis_web_server record for this host.

  3. Update the system property to have Discovery use CMDB IE (glide.discovery.use_cmdb_identifiers = true).
  4. Rerun Discovery.

Note that there is now a duplicate cmdb_ci_microsoft_iis_web_server pointing to the same cmdb_running_process, and the ORA-00932 message appears in the log.



UI16, NG shared components Loading hundreds of activity stream entries causes heavy burden on the client to render them
  1. Add 250 entries to an incident.
  2. Load the incident.

Notice that the incident takes a lot longer to load because of the number of templates. Internet Explorer is especially impacted by this issue.



NG shared components Unnecessary XHR on forms with activity stream Load any existing incident.

Notice the XHRs for extra messages, set preference, and templates.



NG shared components Activity stream uses unoptimized template code, which causes load time to be high
  1. Create an incident.
  2. Add 250 worknotes to it.
  3. Load the incident.

Note that loading the incident takes a long time.

Knowledge Management



Knowledge Management V3 New property to hide import button on knowledge home page Users who have not yet migrated to Knowledge v3 and are using legacy Knowledge v2 need the ability to configure the visibility of the Import/import Articles button. Because Knowledge v2 does not use User Criteria, users are not prevented from selecting the Knowledge Base.

Refer to the listed Known Error KB article for details.

Knowledge Management



Knowledge Management V3 The "Most Useful" section on the Knowledge home page does not sort properly The 'Most Useful' section on the Knowledge homepage does not display articles based on the kb_feedback.useful field. This field is set when a user votes that a knowledge article is helpful.
  1. Navigate to the Knowledge home page.

    Note the articles that are displayed in the Most Useful section.

  2. Navigate to the kb_feedback table.
  3. Add the Useful column to the list (if not already displayed).
  4. Filter the list by:
    • Article.Published=True
    • Article.Knowledge_Base.Active=True
    • Useful=Yes
  5. Group the articles by Article.Short description.
  6. Compare the articles on this kb_feedback list to what was displayed in the Most Useful section on the Knowledge home page.
The articles in the Most Useful section are not displayed by Article.Published=True, Article.Knowledge_Base.Active=True, and Useful=Yes with the articles with the highest Useful=Yes count at the top of the section. (Note that the number of items shown in the section is governed by glide.knowman.content_block_limit.)

Knowledge Management


Categories that do not belong to the knowledge base being searched are being returned in the filter when they should not be Search within specific knowledge bases in Knowledge v3 is confusing to end users, due to categories outside of the knowledge base being returned in the filter.
  1. Activate the Human Resources Application: Core plugin with demo data to create the Human Resources Knowledge Bases.

    Note that the resulting knowledge bases all include categories named Policies.

  2. Navigate to Self-Service > Knowledge.
  3. Click on Human Resources General Knowledge.
  4. Search for policy.

The left filter panel shows 3 or 4 Policies categories. Search also returns categories outside of 'Human Resources General Knowledge'. If you click a category that does not belong to 'Human Resources General Knowledge', the results disappear, which confuses users.

Expected behavior: Categories should be displayed in a hierarchical tree format to be able to determine which knowledge base the categories belong to.

Actual behavior: Search within a specific knowledge base returns categories from other knowledge bases.

Knowledge Management


Knowledge v3 filtering options not shown for non-admins when the property named glide.invalid_query.returns_no_rows is set to True When glide.invalid_query.returns_no_rows is set to True, the knowledge filters (knowledge base, categories) are not shown from the knowledge search page ( $ This unexpected behavior only occurs for non-admin users.

In a Geneva instance:

  1. Enable a system property named glide.invalid_query.returns_no_rows and set it to true (create it if necessary).
  2. Impersonate a non-admin user.
  3. Navigate to Knowledge > Homepage (or $
  4. Search for a keyword.

Note that filters (knowledge base, categories) are not shown. However, if glide.invalid_query.returns_no_rows is set to false, the filters display as expected.

Knowledge Management


Knowledge Management V3 Frame gets shortened - Order an item in Service Catalog After you select an item to order, the frame gets shortened. This occurs for any users who have 'ess' in their URL.
  1. Navigate to Service Catalog > Service Offering > Hardware.
  2. Select Sales Laptop.
Notice the frame is shortened, as iframe is given the style="height:141px;" attribute.

Language and Translations


Some column labels are not properly translating for internationalized (I18N) languages, specifically French
  1. Activate the French I18N plugin.
  2. Switch the language to French.
  3. Drag out the Timer activity.

Notice the labels are not translated.

MID Server


CyberArk credentials cannot be read if the user creates a custom credential type for SSH

For SSH credentials, Discovery supports basic (username/password) and SSH Keys. In order to support users with multiple credentials on the same IP address, a fix was introduced that would validate that the credential returned was of the correct type.

Prior to this fix, if you ask for basic credentials and only SSH Keys are available, SSH Keys were returned. The types are now validated from CyberArk. However, this does not account for users who create custom credential types. These will not work, as they are neither SSH or SSH Keys types.

The fix for this PRB adds a configurable parameter (ext.cred.check_ssh_type) to the config.xml MID Server file that enables you to enable/disable the check for credential type. The default is off, which was the old behavior. See CyberArk integration configuration and Configure the MID Server for CyberArk for details.

MID Server


Rhino creates dynamic classes when doing vCenter discovery, which breaks CyberArk hashing The MID Server invokes Rhino when doing vCenter discovery, which dynamically generates new classes. These classes are then seen by CyberArk security, and access to the password vault is blocked. This occurs only if the user is using hashing with CyberArk.

Performance Analytics



Navigating to a detailed scorecard from a widget when using the Chinese or Japanese language causes an "Invalid date" error and no data is displayed
  1. Log in as admin.
  2. Set the interface language to Japanese.
  3. Navigate to Performance Analytics > Dashboards.
  4. Select a dashboard.
  5. Click on the area graph of a widget to navigate to the detailed scorecard.



Tables that extend using table_per_hierarchy do not delete correctly (e.g. extending Task)

Currently, when deleting a table, there is an after business rule that handles deleting more data other than sys_db_object. It calls a script include, which unnecessarily deletes any rows from the base table, but this does not break functionality since it usually tries to delete something already deleted. This script include also deletes any reference column (sys_dictionary) from tables that reference this table. Most importantly, this script include calls gs.dropTable(). GlideSystemUtilDB.dropTable() (e.g. gs.dropTable) does the actual schema change and calls cleanupTableReferences().

The issue is: when the table extends task, the GlideSystemUtilDB.dropTable() fails the TableDescriptor.isValid() check and the DBI.tableDrop() which calls DBTable.deleteExtensionData() is never exercised, and the cleanupTableReferences() is not done. Therefore, all the associated tables that have the table_reference or element_reference attribute are orphaned, and versions/updates are not created.

Platform Performance


System metadata is larger than necessary for systems with many languages loaded System metadata, available as sys_meta in script, acts as a global cache of translated table and field labels, hints, help, etc. The data structure used to store this data in memory is memory-inefficient, especially when many languages are installed. This affects systems with many languages installed. Symptoms of this issue are:
  • Garbage collection floor will be higher than normal.
  • Heap dumps will show a large amount of memory (many tens of megabytes) being held by an instance of GlideElement in com.glide.script.MetaData$MetaDataGlobals.fGlobal.

Project Management


When changing Planned start date and Planned end date of an existing Project or Project Task record, the Planned end date and Duration value changes to a different value after saving the form

When changing the Planned start date and Planned end date of an existing record to values other than what were previously set, the values returned upon saving are not what was defined by the user. The Planned end date and Duration get its values from somewhere else. This happens on both the Project and Project Task records.

This issue occurs for pre-existing records with a defined Planned start date and Planned end date, thus affecting the Project Task created through the list edit.

  1. Create a new Project record and set the Planned end date (e.g. 20 days later).
  2. Save.
  3. Set the Planned start date to a future date (e.g. 1 day later).
  4. Set the Planned end date several days later (e.g. 5 days later).
  5. Save.

Expected behavior: The Planned end date and Planned duration should be set to the value that was specified previously.

Actual behavior: The Planned end date and Planned duration are set to a value smaller than what was specified previously.

Project Management


Project Management, Demand Management Upgrading from an earlier release to Helsinki and/or Geneva is causing the system to remove the project_manager and other project related roles from existing user role assignments

In Geneva and Helsinki, the 'it_Project_%' roles were introduced to replace previous legacy 'project_%' legacy roles. Upon upgrade, it appears that the upgrade scripts attempts to remove the legacy role assignments from users and replace it with the new roles.

This causes issues within the Project Workbench and other applications. For example, when users with the it_project_manager role but not the project_manager role try to access the Project Workbench, they get the error: "You do not have sufficient privileges to view the Project Workbench."

In a pre-Geneva instance:

  1. Activate the Project Management plugin.
  2. Provide users with the project_manager and other PM-related roles.
  3. Upgrade to Helsinki or Geneva.

Note that users are unable to access the Project Workbench from the application navigator and receive an error instead: "You do not have sufficient privileges to view the Project Workbench."

Service Catalog


KB0596041 property (append pricing information to option labels) not hiding the pricing labels when set to false The property controls the pricing information that is displayed alongside the variable's label information (for example, Add $X or Subtract $Y). When the property is set to true, the results are as expected. However, when set to false, the property works only during the first load and not on subsequent value changes. Current testing has only been done on select boxes, but the problem may be visible with other variable types.

Refer to the listed Known Error KB article for details.

Service Catalog



Custom Cart Layout Column macros are not shown in Geneva Patch 7 Custom Cart Layout Column macros, that define extra columns on the requested item list on Order Status page, do not display for Geneva Patch 7. This worked as expected in Geneva Patch 6 and Helsinki. See Configuring Widget and Column Macros.

Update Sets


Update sets containing Japanese content result in errors and cannot be applied properly Update sets that contain tables and labels created in Japanese give errors when a user attempts to apply them to another instance, and the update sets cannot be applied properly.

Visual Task Boards


Flexible Visual Task Board does not show cards that were on the removed list Flexible Visual Task Boards do not show cards of filtered tasks that are unassigned or reassigned. However, cards are shown if type of the board is set to Guided.
  1. Create a Flexible VTB.
  2. Filter the board as follows:
    • Table = Task(task)
    • Active is true
    • Assignment Group is Database or
      • Assigned to is Beth Anglin or
      • Assigned to is Abel Tuter
  3. Assign a incident to Beth Anglin with the Assignment group set to Database.

    Notice that the VTB has the incident card.

  4. Reassign the incident to another user and remove the assignment group.

    Notice that the incident card is removed from the VTB.

  5. Assign the same incident to Beth Anglin with the Assignment group set to Database.

Notice that the card is not filtered back into the VTB, and removed is set to true.

Visual Task Boards


Viewing a Visual Task Board creates many login records in sysevent table Once viewing a Visual Task Board which is not type 'freeform', the browser sends synchronization requests. In the background, these requests perform a user impersonation of the board owner and impersonate back to the user who is viewing the VTB. As a result, a login record is created every few seconds for each of the users (i.e. board owner and viewer).
  1. Create a flexible Visual Task Board.
  2. Add a user or users to it.
  3. Impersonate one of those users and open that task board.

Every few seconds, the browser sends requests such as: /

Those requests trigger a creation of a record type login in the sysevent table (/ for both the owner of the board and the user viewing it.



SSH activity after Timer activity (wait time > 0) in a workflow will result in error

In 5 seconds after the Timer is up, it will try to run the SSH File Read activity. However, the SSH activity will result in an error with the following message:

"Command field is empty or command field contains syntax error on syncFile. Fix this and try again."

Other Geneva Patch 9 information

Fixes included with Geneva Patch 9

* 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.