Istanbul Patch 8

The Istanbul Patch 8 release contains fixes to these problems.

Istanbul Patch 8 was released on July 28, 2017.
Build date: 07-20-2017_1155
Build tag: glide-istanbul-09-23-2016__patch8-07-07-2017

ServiceNow QPP targets and patches are immediately available. Users do not need to request an entitlement to schedule an upgrade to these versions. For example, entitlements are not required to upgrade to Helsinki Patch 11 (Q3 2017 QPP target) or Istanbul Patch 8 (patch).

For more information about how to upgrade an instance, refer to Upgrade to Istanbul.

For more information about the release cycle, see the ServiceNow Release Cycle. For a downloadable, sortable version of Istanbul fixed problems, see KB0598935.
Note: This version is approved for FedRAMP.

Security-related Fixes

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

Notable fixes

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

IT Service Management

PRB1091777

KB0623761

gs.calDateDiff results in an out of memory error when dates cross DST change days When dates cross a Daylight Saving Time change, gs.calDateDiff results in an out of memory error. gs.calDateDiff is used in the mark_closed and mark_resolved business rules, which are in the Incident module and Incident AutoClose scheduled job.

Refer to the listed Known Error KB article for details.

Service Catalog Widgets: Service Portal

PRB718930

KB0610332

Two-column layout of variables in the Service Portal does not match the layout in the instance The file 'Two column alternate Instance' shows a header field followed by four fields in a two-column, alternating-side layout with two fields per column. In the Service Portal, it shows one field in the first column and three fields in the second column.
  1. Add a Container Start / End to a catalog item.
  2. Set the container to "2 sides, alternating".
  3. Place four or more variables into the container.

Note that instead of the fields alternating, the first field is in the first column and the second, third, and fourth fields are in the second column.

Service Catalog

PRB748048

Certain widgets that utilize the business rule sc_req_item_stageGetChoice can cause nodes to crash ExecuationPlan.java load method does not check to see if the plan is null, which can cause an infinite recursion in the crank function if there are execution plan tasks where the delivery plan is null.
  1. Go to sc_cat_item_delivery_task_list.do?sysparm_query= delivery_plan%3D&sysparm_first_row=1.
  2. Set all delivery plans to empty.
  3. Go to /sp?id=sc_home and make a series of requests.
  4. Go to /sp?id=requests. My Requests widget will get stuck.

Expected behavior: It should look for a null first in the delivery plan.

Actual behavior: It does not and instead gets stuck in the recursion.

Workflow

PRB758994

KB0622609

Cannot open workflow in Diagrammer view if it contains an Approval Coordinator that has one or more child activities with stage(s) If a workflow contains an Approval Coordinator and it contains a child activity with a stage, when opened in the Workflow Diagrammer, the following error is thrown and the Workflow will not open: Error loading diagram - Cannot read property 'Stage' of undefined
  1. Add an Approval Coordinator to a workflow.
  2. Add a Child Approval activity to the coordinator and give it a Stage.
  3. Close the workflow.
  4. Reopen the workflow in the Workflow Diagrammer.

Service Catalog

PRB652351

KB0610420

RITM records are intermittently created without their variables Variables are either being deleted or (more likely) are not even being created for some RITM records. This issue is not reproducible on demand. But based on the final outcome, the steps to reproduce are:
  1. Order a Catalog Item.
  2. Check whether variables are created.

Note that sometimes the RITM is created without the variables.

All Other Fixes

Problem

Affected Plugins Short Description Description Steps to reproduce

Authentication

PRB1057025

Clicking on Password Reset URL in reset emails gives an error

Clicking the Password Reset URL in reset emails gives an error: "Password Reset Error Unauthorized access."

This issue occurs when 'sysparm_token' contains a space (special character).

  1. Navigate to the Password Reset Default Self Service.
  2. Type in username abel.tuter.
  3. Type in abel.tuter again to verify.
  4. Click Done.
  5. Navigate to System Logs > Emails.
  6. Open the URL in the Password Reset email.

Note an error shows up: Password Reset Error Unauthorized access.

Change Management

PRB833134

KB0623301

Change Request Orphaned change tasks are created when using 'Copy Change' on a Change Request with change tasks If users "Copy Change" on a change request that has change tasks, and leave form without saving/updating, the tasks are saved, but the change is not, leaving orphaned change Tasks.
  1. Navigate to Change > Open and open a change request that has change tasks that are created from workflow and manually.

    For more information, see the product documentation topic Configure change management.

  2. Click Copy Change.
  3. After the form of the newly created change request is displayed, click the browser's Back button.
  4. Navigate to change_task_list.do.

    Note the newly created change tasks where Created from is manual that are not associated to a change record.

Discovery

PRB951240

KB0622631

An IP network specified with a subnet mask of /32 will prevent a Discovery schedule from starting
  1. Create a Discovery Schedule.
  2. Add an IP Network with an IP 159.202.255.170/32.
  3. Click Discover Now UI Action.

Domain Support

PRB1059048

KB0623414

The domainCache can be undersized for instances that have users assigned to 200+ groups, causing slowness across the instance
  1. Create a user.
  2. Assigned 200+ groups to that user.
  3. Open a form.

Notice the form will take a long time as we are sending thousands of queries to the database regarding the domain

Event Management

PRB1034234

Alert history table can become very large, which negatively impacts performance Closed alerts should be deleted to reduce the size of the alert history table and improve upgrade process time.

Event Management

PRB1057120

OOM occurs in ImpactStatusUpdater.loadAlert GroupsAndFilteredBSS because AlertHistory had no equals or hash functions If several business services (BS) change in one impact calculation, it loads the AlertHistory records for each BS. But if an alert appears in more then 1 business service, it will load it twice.

Express

PRB1074525

Express admins starting from Helsinki and below will see blank ACLs when converting to Enterprise on Istanbul Upon upgrading to Istanbul, some Express admins cannot see ACL columns.

Knowledge Management

PRB664666

Knowledge Management V3 Firefox only prints one page from multiple-page article When using Firefox, users can only print one page of a KB article.

In Firefox:

  1. Go to a knowledge article that contains more than two pages (Not the form).
  2. Right click on the Article > This Frame > Open Frame in a new tab.
  3. Press Command+P (Mac) or Control + P (PC) or File > Print.
  4. Print document.

Notice that Firefox prints 1 page even if there are multiple pages.

Knowledge Management

PRB692419

KB0622848

Social Q&A A knowledge base with disabled Social Q&A still shows when users try to create a question When navigating to the Knowledge page and posting a question, users can select a knowledge base for which Social Q&A is disabled. When the question is submitted, an error appears.
  1. Enable Social Q&A for a knowledge base.
  2. Check that you have at least one knowledge base that does not have Social Q&A enabled.
  3. Navigate to Self-Service > Knowledge.
  4. Click Post a Question.
  5. In the Knowledge Base field, click the arrows to show the drop-down menu.

    Note that all knowledge bases are listed, even the knowledge bases for which Social Q&A has not been enabled.

  6. In the Knowledge Base field, select a knowledge base that does not have Social Q&A activated.
  7. Add a Title.
  8. Click Post Question.

    Note the error message: Error in fetching question. The question cannot be submitted successfully.

Knowledge Management

PRB698979

Knowledge Management V3 If a table inside an article is aligned left or right, the "authored by" section gets misaligned If there is a table defined in an article which contains all the details and its aligned left/right then the "Authored by, Last modified" section gets misaligned.

Knowledge Management

PRB717102

Knowledge Management V3 Social Q&A Post a Question mark icon appears in mobile when the Social Q&A option is disabled In the mobile view, when users disable the question option in all knowledge bases, it's still possible to access the question form through the question mark icon in the knowledge module.

Knowledge Management

PRB931938

Knowledge Management V3 Cannot use the 'Update all' list editor function on Knowledge articles When a user clicks the 'Update all' function to update knowledge records, a blank screen opens. Users are able to edit knowledge records in the list and form view, but the blank screen appears when using 'Update all' or 'Update selected'.
  1. Add these roles to abel.tuter: knowledge_admin, knowledge_manager, knowledge and list_updater.
  2. Enable Debug Security Rules.
  3. Impersonate Abel Tuter.
  4. Navigate to Knowledge > Published. Verify Abel can see the articles, can open the records, and update them.
  5. Navigate back to the list and click Update All from the table's context menu.
  6. In the popup that appears, click OK.

Instead of seeing the form with the available fields for editing, the user sees a blank screen.

Lists

PRB717585

NG shared components List v3 lists all records against a reference field when a value is entered and the reference icon is clicked

When a value has been entered into a reference field and the magnifying glass is clicked, instead of showing records that starts with or contains that entered text, it is showing all records instead.

For example, on cmdb_ci field, if the text 'computer' is entered and the magnifying glass is clicked, instead of returning records that start with or contains 'computer', it lists all records.

This only occurs with List v3.

  1. Log into an instance with List v3 activated.
  2. Open an incident record where the cmdb_ci field is present on the form.
  3. Type in "hp" on the cmdb_ci field and click on the magnifying glass.

    It returns all records.

  4. Deactivate List v3 this time and repeat steps 2-3.

    It only returns records where name starts with "hp".

Lists

PRB933539

List v3 Components If the list has list bottom button UI actions, users cannot see the list pagination controls If List v3 is active for displaying a list, and there is a List bottom button UI action, it will display the button on the left of the footer at the bottom of the list. However, the list pagination controls are not displayed on the right.

On a Istanbul or Helsinki instance:

Note: For Helsinki, users might need to deactivate one of the system UI actions for 'Moving to Application' or the catalog item list will display as List v2, not List v3.
  1. Activate List v3, and ensure it is active and working for displaying the lists.
  2. Navigate to Service Catalog > Maintain Items.

    Note that activate and deactivate list bottom button UI actions displayed on the bottom left side of the footer, but the list pagination does not display on the right side of the footer.

  3. Click Configure > UI Actions.
  4. Disable the activate and deactivate list bottom buttons (uncheck the box).

    Users return to the catalog items list.

Note that the list pagination controls appear on the right side of footer as expected.

Mobile

PRB708073

Mobile UI; NG shared components Mandatory catalog variables in variable sets are not honored in the native app and Helsinki mobile web Making a catalog variable within variable sets mandatory appears to have no effect in the native app other than the asterisk marking it as mandatory. Catalog items can still be submitted with these fields left blank.
  1. Create a catalog item. Make sure Availability is set to Desktop and Mobile.
  2. Create a variable set for the catalog item.
  3. Create a variable within the variable set. Make this variable mandatory using the Mandatory checkbox.
  4. Test this catalog item in the desktop UI, mobile UI, and the native app.

Note that in the native app, users do not receive a mandatory field warning, and the catalog item can be submitted.

Password Reset Application

PRB956033

activate_desktop_plugin.js can cause out of memory issues because the collision detector is restarted
  1. Activate the com.glideapp.password_reset.addon.orchestration plugin.
  2. Upgrade the instance.

The CollisionDetector is unnecessarily restarted before the next plugin is upgraded.

Performance Analytics

PRB711909

Warnings occur during the collection of Performance Analytics While a collection job runs, warning messages occur in the localhost logs.

There is no dictionary entry for sys_domain_path field on pa_job_log_rows table.

The following errors appear in the localhost logs:

2016-09-11 19:00:07 (392) worker.1 worker.1 WARNING *** WARNING *** getGlideElement called for unknown field 'sys_domain_path' in table 'pa_job_log_rows'

2016-09-11 19:00:07 (392) worker.1 worker.1 WARNING *** WARNING *** setValue called for unknown field sys_domain_path in table 'pa_job_log_rows'

Persistence

PRB741410

Before Query business rule works differently when using glide aggregate count

Under certain conditions, single score reports can display blank or incorrect data.

If a Before Query business rule is configured on a table with one or more addOrCondition filter conditions, a single score report on that table generates an invalid SQL, and the OR condition is not in the right place. As a result, the single score reports or widgets display incorrect data.

When the user drills down on the report, a list loads with the correct results.

Reporting

PRB652317

KB0597984

Bar chart colors do not reflect 'Chart Colors = use chart colors' choice when setting 'Group by' to a dot-walked field Bar chart colors do not match configured chart colors when grouping a report by a dot-walked field.

It is not possible to select dot-walked fields in the Chart Colors form, so there is no way to have chart colors be applied to a "group by" or "stack by" on a dot-walked field.

  1. Create a chart report that groups on a dot-walked field
  2. Navigate to Report > Administration > Chart Color.
  3. Create a color for each group value from the report
  4. Set the report to use chart colors (if defined) in Chart color configuration

Notice that the chart will still use the Default color scheme as it doesn't map values specified in the Chart Colors with values from groups on the report.

Reporting

PRB706658

Drilling down to the Total/Total on a pivot table does not show correct data when 'Show Other' is turned on If a pivot report is made to display the 'Other' column, drilling down to the Total/Total value will not show correct data. In some cases, the filters are broken.
  1. Create a pivot report on the incident table:
    • Row: Incident state
    • Column: Caller
    • No.groups: 10
    • Show other: true
  2. Set the condition to Created on This year.
  3. Run the report and drill down to Total/Total.

Notice that the resulting filter is broken and shows all records from the table 'All>%5esys_created_onONThis+year%40javascript: gs.beginningOfThisYear()%40javascript:gs.endOfThisYear()'.

Reporting

PRB734745

KB0622575

Map Report using Drenthe Map in a map shows with an error Map Report using Drenthe Map shows the error 'No response from the server Loading report... / map report'.

Refer to the listed Known Error KB article for details.

Reporting

PRB748719

'Omit if no records' is not honored for Scheduled reports created on "Report Sources" When a scheduled report is created on a report source, even after checking the "omit if no records" option, users are getting empty reports by email.

Security Incident Response

PRB1028683

Vulnerability Response Severity calculator is causing performance issues when creating Vul Items Due to performance issues with the severity calculator, it takes a long time to create or update large numbers of vulnerable items.

Security Incident Response

PRB1065904

Security Incident Response When a report is scheduled on the security incident table, users with sn_si_admin and admin roles are not able to view the security incidents fields When a report is scheduled on table sn_si_incident, the attachment of the report does not show all records or all fields. However, users can see all records and value when only the report is run or from the list view.

Service Catalog

PRB648158

KB0551669

On a new catalog item form, the default value in catalogs field is broken if the language is not English On a new catalog item form (/sc_cat_item.do), if there is only one catalog active, then the Catalogs slush bucket defaults to the active catalog. This works correctly when the language is set to English. If the language is not set to English, the following occurs:
  • Reference qualifier is broken by the bad catalog value and prevents lookup of categories.
  • If a user is able to submit the form, they receive the error: "You cannot select category ... because it does not exist in selected catalog(s)."
  • If a user adds the catalog manually and save the changes, it works. But it then appears in English after reloading the catalog item form even though the user's session is not in English.

Refer to the listed Known Error KB article for details.

Service Catalog

PRB705073

Unable to select text in read-only variables using Firefox
  1. Find a catalog item with a string variable on it, or add a string variable to an existing catalog item.
  2. Configure the variable form and add the write roles field.
  3. Add a write role of Admin to the variable.
  4. As admin, order your item and provide a value for the variable.
  5. Using Firefox, log in as a non-admin user with access to view the requested item.
  6. Try to copy the text in the read-only variable.

Note that you cannot select or copy text.

Service Catalog

PRB946137

On the RITM page, if a Catalog item has two or more reference variables, and one of them has a "Write Role" associated to it, then all the following reference variables will be read-only
  1. Log into an instance.
  2. Navigate to Maintain items, select any item, and add two reference variables.
  3. Assign a write role to one of the variables.
  4. Make sure to associate an order to the variables so that the variable with the write role associated to it runs first.
  5. Order a Catalog item and navigate directly to the RITM.

Notice that all variables are now read-only.

Service Catalog Widgets: Service Portal

PRB721238

KB0621064

The variable editor widget does not work with sc_task records, which throws a Java NullPointerException error and does not load client scripts fully In Service Portal, the Variable Editor widget fails when a catalog task is added to the portal. Also, variables do not display on the form.
  1. Navigate to Service Catalog > Open Records > Tasks.
  2. Open any catalog task that has variables.

    For more information, see Add catalog item variables to a task.

    Note that the variable formatter is displayed.

  3. Navigate to Service Portal > Pages.
  4. In the ID column, find and open the record for the index page.
  5. In Related Links, click Open in Designer.
  6. In the Widgets list on the left, select the Unordered List widget.
  7. Drag the widget and drop it in any location on the page.
  8. Click the edit icon to edit the widget. Use the following values:
    • Table: Catalog Task [sc_task]
    • Display field: Short description
    • Link to this page: Form
  9. Click Save.
  10. Navigate to Service Portal.
  11. Select the task from step 2.

    Note that the SP-Variable Editor widget fails and variables are not shown on the form. If you configure the form and remove the Variable editor, the error is not displayed.

Service Catalog Widgets: Service Portal

PRB751778

An odd number of reference variable fields in a container causes fields to shift from right to left and vice versa An odd number of reference variable fields in a container of type "2 columns wide, alternating sides" causes the odd number field to jump from left to right and right to left after a value is selected in the other reference fields. Even number of variables in a container of type "2 columns Wide, one side then other" causes one side to render more variables than other.

Service Catalog Widgets: Service Portal

PRB758708

Service Catalog data lookup definitions do not function in Service Portal
  1. Create a new table called 'Data Lookup Test'.
  2. Add two string fields: Test Field 1 and Test Field 2.
  3. Create a new record on the table and set the following:
    1. Test Field 1: 1234
    2. Test Field 2: 4321
  4. Click Save.
  5. Go to Service Catalog > Maintain Items, and open the item 'Apple iPad 3'.
  6. Create 2 single-line text variables and title them Test 1 and Test 2.
  7. Go to System Policy > Data Lookup Definitions, and click New.
  8. Create new definitions with the following and submit:
    1. Name: Test SP
    2. Applies to: Catalog Item
    3. Catalog Item: Apple iPad 3
    4. Matcher Table: Data Lookup Test[u_data_lookup_test]
  9. In the lookup definition related list, set the matcher and setter to the following:
    1. Matcher:
      1. Source Variable: test_1
      2. Matcher table field: Test Field 1
    2. Setter:
      1. Source Variable: test_2
      2. Matcher Table field: Test Field 2
  10. In Service Catalog, test that the data lookup functions properly in the Apple iPad 3 by putting '1234' into Test 1 field, tabbing, and seeing Test 2 being changed to '4321'.
  11. Go to Service Portal and open the same item in the catalog.

Data lookup policies do not function in Service Portal.

Service Level Agreement (SLA)

PRB1003371

SLA retroactive start/pause - Incorrect timing calculation when attaching a Task SLA that is in a Paused stage at the time of attaching When a Task SLA is in a Paused stage at the time of attaching, the last temporal piece of paused time is incorrectly added when calculating the elapsed time.
  1. Create a P5 incident with state New.
  2. Change the priority to P3.
  3. As soon as the incident is created (within the first minute), move the state to On Hold.
  4. Move the state to In Progress.
  5. As soon as you complete step 4 (within the first minute), move the state back to On Hold again.
  6. Wait a few minutes, and then change the incident's priority to P1.

The Task SLA will attach with the correct Stage (Paused) but with the wrong 'Business Elapsed time', 'Business elapsed percentage' and 'Business time left'. The 'Has breached' flag is incorrectly set to True.

Service Mapping

PRB1040524

'All Applications' discovery schedule does not complete due to hanging SSH threads in the MID Servers During each run of the 'All Applications' discovery schedule, several output probes are stuck in the Processing state. As a result, none of the 'All Applications' discovery schedules are completed.

Service Portal

PRB726860

Redirected to Service Portal, users are stuck on welcome.do page

To conditionally redirect a user to Service Portal after login, users can set the system property glide.entry.first.page.script to new SPEntryPage().getFirstPageURL(). This works well for a user with no roles.

However, once redirected to the Service Portal, if the URL suffix is removed, the user gets stuck on a welcome.do page unless they manually add the Service Portal URL suffix.

Survey Management

PRB742422

Survey will not be created by trigger condition Survey trigger condition does not work on migrated surveys via update set.

Transaction and Session Management

PRB1056914

Unclaimed transaction, whose underlying request gets recycled while waiting in queue, is left in the active transaction list When an instance is running a large UI activity with presence enabled, the following error appears in the localhost logs: 'Cancelling unclaimed (waiting) transaction'. This transaction will stay in the Active Transactions list until restart.

UI Components

PRB740915

NG shared components In ticket-conversation widget in Service Portal, snResizeHeight directive in Edge browser might not set height properly If users open a request in the Service Portal with the Edge browser, the input text box to send messages are showing very short in height. The issue occurs in Edge browsers only.
  1. Navigate to localhost:8080/sp on OOB instance.
  2. Click Order something.
  3. Click Developer laptop.
  4. Click Submit.
  5. Click Request in request dropdown in the header.

Notice that the resize does not work properly on request fulfiller form.

UI Components

PRB952152

Users without privileges cannot save the filter using the condition builder Users with no roles cannot save the sn_test filter after using the condition builder.
  1. Impersonate the user Abel Tuter.
  2. Go to any List - All incidents/ All HR cases.
  3. Click on filter and add a condition. For example: active is true or state is new.
  4. Click Save.
  5. Give the name - sn_test for "save as"
  6. Click Save.
  7. Click List control just above.
  8. Click Filters.

Expected behavior: sn_test filter should be available after saving.

Actual behavior: sn_test is not available.

Vulnerability Response

PRB715624

Vulnerability Response Two business rules are causing an infinite loop and the event queue went critical Two business rules loop with each other and get closed vulnerable items and associated vulnerability groups to continuously post work notes.

Workflow

PRB1042822

Workflow is hung at join activity if rollback to activity is used If the workflow has the rollback to activity, join activity is getting hung in different languages.

Workflow

PRB675174

KB0598352

Manually translated workflow stages are not being reflected on RITM Stage field by default The system does not display custom translated text from a workflow stage when viewing the status of a Service Catalog requested item.
  1. Enable a language pack plugin, for example, French Canadian.
  2. Select English as the session language.
  3. Create a custom workflow for the Requested Item table.
  4. Create a custom stage for the workflow, for example:

    Name: Test Stage 1

    Value: test_one

  5. Navigate to System Properties > System Localization.
  6. Set Add the labels, messages, or choices to the appropriate table in English with an ending of the language code for newly added customizations that are missing translations. (Translate and Learn) to Yes.
  7. Change the session language to French Canadian.
  8. Reopen the Workflow Canvas or refresh it if it is already open.
  9. From the menu, click Edit Stage.

    The system displays the Stage name as "Test Stage 1 [fq]".

  10. Navigate to sys_translated.list.
  11. Find the entry you created.
  12. Modify the Label to different text, for example, Translated Test Stage 1.
  13. Trigger the workflow.
  14. View the requested item status.

    The stage uses the English rather than the translated value.

Fixes included with Istanbul 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.