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

Madrid Patch 4

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

Madrid Patch 4

The Madrid Patch 4 release contains important problem fixes.

Madrid Patch 4 was released on June 13, 2019.
Build date: 06-05-2019_1042
Build tag: glide-madrid-12-18-2018__patch4-05-29-2019
Important: For more information about how to upgrade an instance, see Upgrade to Madrid.

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

Note: This version is approved for FedRAMP. The following products are not approved for FedRAMP in Madrid: Document Viewer, and ServiceNow mobile.

Security-related fixes

Madrid Patch 4 includes fixes for security-related problems that affected certain ServiceNow® applications and the Now Platform®. We recommend that customers upgrade to this release for the most secure and up-to-date features. For more details on security problems fixed in Madrid Patch 4, refer to KB0746737.

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

Service Catalog



Assigning the variable to null causes java.lang. NullPointerException and can result in variables not displayed on lists/reports

Refer to the listed Known Error KB article for details.

Upgrade Engine Issues



Navigator missing due to upgrade The navigator is blank after upgrading from an instance where the Templated Snippets plugin is active.

Refer to the listed Known Error KB article for details.

Event Management


Performance improvements in the alert grouping job The alert rate has been increased to 60 alerts per minute.

Knowledge Management



The kb_search page does not load
  1. Navigate to Service Portal.
  2. Try to access the knowledge search page URL: /sp?id=kb_search.

    Notice that the page does not display. The widget keeps loading indefinitely.

  3. Hold down the Ctrl key and right-click the page.
  4. Select Widget Options Schema.
  5. Close the pop-up window.

Notice that the page is displayed.



Workflows are not triggered on the records after the upgrade Workflows are not triggered intermittently on the records such as REQ, RITM, and CHG after the upgrade.

SkyNow Mobile - Backend



An error occurs on the ServiceNow Agent mobile app when users access the activity stream When users access the activity stream on the ServiceNow Agent mobile app, an error occurs if there are 'Sent/Received Emails' entries.

Refer to the listed Known Error KB article for details.

All other fixes

Problem Short description Description Steps to reproduce

Activity Stream


Incorrect journal input is updated When the journal fields are collapsed, if a user selects a default journal input field on a form using the check box or the drop-down menu, that field will be updated when the user clicks Update regardless of which journal field the content is entered into.

Agent Workspace


The activity stream does not show any new activity on the workspace form for custom tables that are extended from the task table
  1. Create a custom table that is extended from the task table.
  2. Create a record in the table.
  3. In the Agent Workspace view, create a section called 'Notes' and add the work notes, additional comments, and activities (filtered).
  4. Add the table list to the Agent Workspace, and load it in the workspace.
  5. Open the record and try to add any comments in the Additional comments/Work notes, and click Post.

Notice that the message 'No activity to display' appears in the activity stream. However, when you refresh the page, you can see the comments.

Agile Development


Bulk sprint creation adds the daylight saving time offset to planned start/end dates When 'Create Sprints' is used from an agile group form, the sprints are created based on the number of sprints and the number of days for each sprint. The daylight saving time is considered for the calculation, which leads to having different sprints starting at different time on the day depending on if it is summer or winter time.

Agile Development


The 'Insert and Stay' UI action does not copy the original task and agile story fields properly to the new story
  1. Navigate to to open any story.
  2. Right-click the form header and click Insert and Stay to create a new story.

Notice that the original task and agile story fields are copied from the old story and are not associated with the new story. This can cause an issue in the Agile Board as two stories with the same story number are shown.

Agile Development


The 'Access Denied' message appears on the Agile Board burn down charts Users with the scrum_user role are restricted from viewing the scrum burn down charts even though they have the required role.

Agile Development


Associating a group with the application model adds all the releases to the group record When a group is added to the application model, the 'Associate Group to Release' business rule adds all the releases to the group.
  1. Navigate to Agile Development > Groups, and create a group.
  2. Open Products to create a product and add a couple of releases to it.
  3. Add the new group to the product.
  4. Open the group record.
  5. In the 'Releases' related list, check the number of the releases associated with the group.

Notice that all the releases are associated with the group. However, only the releases that belong to the product should be added.

Antivirus Scanning


Importing files to the instance creates an error/warning log from Antivirus
  1. Navigate to Self-Service > Knowledge.
    Note: This can happen in any module. It is not constrained to the Knowledge module.
  2. Click Import Articles.
  3. Fill out the required information to import a KB article.
  4. Click Import.

Notice that the java.lang.NullPointerException warning appears in the system log.

App Client UI


The install block indicator is not displayed in the app tile for Madrid

Asset Management


Assets are auto-created for non-expected model categories after the upgrade

Asset Management



Asset/CI synchronisation fails to insert the other record if any fields listed in alm_asset_ci_ field_mapping do not exist or are empty values A CI or asset will fail to be created if any field names in the Asset-CI Field Mappings table (alm_asset_ci_ field_mapping) are empty or do not exist in the asset or CMDB tables. An empty or bad value in the Asset field column will prevent any CIs from being inserted on Asset insert, and vice versa. The newly inserted asset (or CI) will have a blank CI (or asset) reference, but there is no other on-screen indication that something goes wrong.
  1. Navigate to Asset > Administration > Field Mapping to list the alm_asset_ci_ field_mapping table.
  2. Clear one of the values in the Asset field column (or the Configuration Item field column). You can also modify it to a bogus field name to simulate a field that used to exist or does not exist.
  3. Create an asset (or CI) with a Model Category/Model that will be synchronised to the CI (or asset).
  4. Click Submit.

Notice that the form does not reference any CI (or asset), and no CI (or asset) can be found in the other table either.

Asynchronous Message Bus


When an AMB post request is sent with an empty post body, the server responds with an error: 'The server received invalid or empty JSON'

Asynchronous Message Bus


An excessive number of warning log messages appear for AMB: 'Unable to publish message to non-existing channel'



The UI level check is added to validate the key size in the key store The UI level check is added to validate the key size in the key store. If the key size is less than 2048 bits, the JWT key table entry cannot be created.



The OAuth server-to-server interaction (/token API call) mandates the client_secret to be present

Automated Test Framework



Users with the snc_internal or the snc_external role do not have access to VariableQueryParser and ATFQuery ParseAjax script includes Users with the snc_internal or the snc_external role do not have access to VariableQueryParser and ATFQueryParseAjax script includes, preventing the 'Set the variable values' test step from working in ATF.
  1. Activate the Explicit Roles plugin.
  2. Confirm that the user Abel Tuter only has the snc_internal role.
  3. Create an ATF test.
  4. Add the following test steps:
    1. Impersonate Abel Tutor.
    2. Search for a catalog item using the search term Laptop, and confirm that the search returns 'Developer Laptop (Map)'.
    3. Open the catalog item Developer Laptop (Mac).
    4. Set the variable values as follows:
      • Adobe Acrobat: true
      • Additional software requirements: false
  5. Run the test and ensure that the Client Test Runner screenshot mode is 'enable for all steps'.

Expected behavior: On the catalog item form, Adobe Acrobat is checked and Eclipse IDE is unchecked.

Actual behavior: On the catalog item form, Adobe Acrobat is not checked and Eclipse IDE is checked. The following warning appears in the logs when executing the step to set the variable values: 'Security restrictions on script include: VariableQueryParser'.

Automated Test Framework


Custom UI tests stop working after being copied Copying/inserting custom UI steps without snapshots results in the missing mugshots_cache_json value.

Change Management


Using the accept/decline/tentative options to respond to a CAB Meeting invite no longer updates the Attendance field on the appropriate attendee record




The Connect sound notification for users entering a support queue is not working
  1. Install the plugin Connect Support with the demo data.
  2. Navigate to sys_properties.list, and search the name ' _queue_audio_alert'.
  3. Change the value to true, and save the record.
  4. Navigate to the chat queue.
  5. Open the same instance in another browser or a new incognito window and impersonate as an agent, for example, David Loo.
  6. Make sure the Connect audio notification is set up from the system gear icon.
  7. In the user's Connect queue window, type something for the chat.

Notice that there is no sound notification on the agent's side when the chat is opened.




Chat queues are not updated with the number of waiting conversations until they are refreshed manually
  1. Use three different browser sessions with Agent A, Agent B, and User C following the instructions below. Agent A and Agent B pick up the chat from the same connect queue.
    • In Session A, impersonate Agent A.
    • In Session B, impersonate Agent B.
    • In Session C, impersonate User C.
  2. Close any open chat conversations in all the above sessions.
  3. In Session C, navigate to https://<instance _name>$<queue_id>, and initiate a chat.

    The number for Agent A and Agent B should both increase to 1.

  4. In Session A, accept the chat.

Expected behavior: In Session B, the number for the chat queue should decrease to 0. Chat queues should be updated with the number of waiting conversations automatically.

Actual behavior: In Session B, the number remains 1. The number of waiting conversations is not updated.

Cloud Management Application


The server type and the version are not being passed to the MID Server

Cloud Management Application


Users are unable to update the task and requested item entries from the default platform UI Users are unable to update the task (sc_task) and requested item (sc_req_item) entries from the default platform UI. One of the Cloud Management Platform scripts is restricting to update the entries.

Cloud Management Application


Catalog variables that utilize a Select List type backed by a pool in turn backed by a table with a large number of records cause portal and sc_req_item record form performance problems Using a large data set for the source of a Lookup Select Box variable can cause the Service Catalog Item form to stop working and potentially cause node-wide low memory and therefore severe performance degradation.

Cloud Management Application


Issues with the cloud catalog store certification

Cloud Management Application



Mismatching billing data displayed between the Azure/AWS console and the CMP dashboard The billing data displayed in the Azure/AWS console are different from those in the CMP dashboard.
  1. Impersonate with the user who has access to review the Billing dashboard.
  2. Navigate to Cloud Management > Cloud Admin Portal > Analyze > Billing > Billing Dashboard.
  3. Observe the cost and note.
  4. Log in to the AWS/Azure console and verify that the cost is available.

Notice that there is a difference in the billing data between the CMP dashboard and the AWS/Azure console.

Cloud Management Application



The Azure subscription discovery fails with an error
  1. Activate the Cloud Management Core plugin.
  2. Add Azure service principal credentials.
  3. Click Discover Subscription.

Notice that the Azure subscription fails with an error. However, it should complete successfully to discover the subscriptions, and creates an Azure service account.

Configuration Management Database (CMDB)


The CMDB dashboard is not getting filtered with the respective CI class when the filter is applied on navigating to the child dashboard

Configuration Management Database (CMDB)


The metrics suggested relationships, containment rules, and hosting rules do not accept preference changes after the first time the relationship compliance calculation job is run
  1. Navigate to sys_properties.
  2. Change the value of 'glide.cmdb.logger. use_syslog.CMDBHealth' to 'info, warn, error' or '*for all options'.
  3. Navigate to the cmdb_health_metric_pref table.
  4. Set 'active' to false for rel_suggested, rel_hosting, rel_containment.
  5. Navigate to Configuration > Health Preference.
  6. Run the relationship compliance scheduled job.
  7. Navigate to System Log > Warning, and apply the following: Filter by Source = CMDBHealth.

    Notice that there are warnings indicating the metrics are not active.

  8. Navigate back to the cmdb_health_metric_pref table, and set 'active' to true for the three metrics mentioned in Step 4.
  9. Rerun the relationship compliance scheduled job.
  10. Navigate back to the warning logs.
Notice that the warnings are still showing up. The three metrics do not accept changes after the first run.
Note: If you reverse the settings to set 'active' to true in Step 4 and change it to inactive in Step 8, the job will keep running these metrics instead of skipping them.

Core Platform


Concurrent requests to static image content cause exceptions, and only one of the requests succeeds

Core Platform


The image thumbnail scaling request is ignored resulting in streaming the entire image

CSM Communities


Performance issue with GlideMutex to update the view count with high concurrent access of the same content The view count is not accurate on the concurrent access of the same content.
  1. Activate Customer Communities and the Communities demo data.
  2. Log in to the community as different users.
  3. Access the same content by these users concurrently.
  4. Observe the view count on the content load page.

Expected behavior: The content view count should be accurate.

Actual behavior: The content view count is different from the actual view count. Some of the view logs are missing when users access the content concurrently.

Customer Service Management


The system property glide.cs. email.case_queue_address changes its name if a suffix is added

Customer Service Management


In CSM and CSP Portal, after clicking Save Filter where SP filters are available, users see the error 'External User Not Authorized'

Customer Service


The contact created by the contact admin from the Service Catalog is rendering to a blank page on the CSM portal




When the Cisco switch discovery is aborted because of the HSRP VIP used in the process, it is logged as an error

Refer to the listed Known Error KB article for details.




Horizontal discovery using patterns may fail if the discovery_ source value is changed using the glide. discovery.source_name property Changing the value in the system property glide.discovery.source_name and disabling the choice list for previous discovery _source can cause horizontal discovery to fail.
  1. Run the discovery on a host (Windows/Linux) using the horizontal pattern.
  2. Follow the procedure listed here to change the source name of Discovery results.
  3. Ensure that the sys_choice record for the previous value in glide.discovery.source _name is disabled/removed.
  4. Run the discovery on the same host.

Notice that the discovery fails with an error.



The 'Create Relation' operation that is based on field matching is ignoring the criteria When the 'Create Relation' operation is used between two tables using field matching where one of the fields may be empty, the criteria provided are ignored and incorrect relations are created.




Launching credential-less Discovery from Shazzam can use a large amount of memory

Refer to the listed Known Error KB article for details.

Document Viewer



Rename the 'css' folder to 'styles' Document Viewer is not working as expected.

Refer to the listed Known Error KB article for details.

Domain Support


Passing null values as the sys_id/UniqueValue to DomainFor AttachmentEngine can cause all records in the sys_attachement table with the null table_sys_id to be updated

Event Management


The duplication of license counting in the em_unique_nodes table
  1. Clean the 'last hour' events.
  2. Clean the em_unique_nodes table.
  3. Send the new event with the node name 'Node1'.
  4. Run the Event Management - Node Count job.
  5. Verify that the new 'Unknown' record is in the em_unique_nodes table.
  6. Create the computer CI with the name 'Node1'.
  7. Send the new event with the node 'Node1'.
  8. Run the Event Management - Node Count job.
  9. Verify that the em_unique_nodes table has two records: one for the 'Unknown' Node1 and one for the 'Server' Node1.

Event Management


When the sa_analytics. agg.use_cmdb_walker flag is false, the CMDB group is not created

Field Service Management


Ajax call on every form load (UI script - Appointment Booking ConfigHelper and getTranslated Messages ForAppBookingConfig()) Since upgrading to the London release, UI script AppointmentBooking ConfigHelper makes ajax call to getTranslated Messages ForAppBooking Config on every form load. This issue occurs only when the Appointment Booking plugin is activated.

Field Service Management


The part sourcing is broken in the Field Service mobile app
  1. Log in as a field service agent on the mobile app.
  2. Assign a task to yourself.
  3. Start working on the task you assigned to yourself.
  4. Create a part requirement for the task.
  5. Try to source the part from any stockroom.

Notice that the part sourcing flow is not working.

Flow Designer


The max length of the step/action inputs and outputs is not taken into account properly when validating upon the Action Designer save request

Flow Designer


Some of the IntegrationHub files are missing when a commit is made

Flow Designer


The rest of the approval records generated by Flow Designer are not moved to 'No Longer Required' after one user from the group approves the record When one of the group users approves the record, the rest of the approval records for the group are not moved to 'No Longer Required'. They remain in the 'Requested' state.
  1. Log in to an instance as an admin user.
  2. Set up the 'Ask For Approval' action in Flow Designer with the following settings:
    1. Anyone Approves: Choose an individual user AND
    2. Anyone Approves: Choose a group (make sure that the group contains more users)
  3. Trigger the flow in any record.

    Approval records are generated for both the individual user and the group users.

  4. Approve the record with any one of the users from the group.

Expected behavior: All the rest of the approval records for the group should be moved to 'No Longer Required'.

Actual behavior: All the rest of the approval records for the group remain in the 'Requested' state. It is only when the individual user approves the record are the rest of the group approvals moved to 'No Longer Required'.

Flow Designer


Unable to add users in the 'Ask For Approval' action of a flow When the system propertyglide.invalid_query.returns_no_rows is set to true, users are unable to add users in the 'Ask For Approval' action of a flow.
  1. Create a system property glide.invalid_query. returns_no_rows with the type 'true/false', and set the value to 'true'.
  2. Create a flow in any table.
  3. Add a trigger condition.
  4. Add the 'Ask For Approval' action.
  5. In the 'Rules' section, try to add users from the drop-down list.

Expected behavior: You should be able to see all the active users from the sys_user table when you click the drop-down list.

Actual behavior: No users are returned. The message 'No matches found' is displayed.

Forms and Fields



The 'Personalize Form' and 'More options' pop-up lists cannot be closed Users cannot close the 'Personalize Form' and 'More options' pop-up lists by clicking the icons again or clicking outside the lists.

Refer to the listed Known Error KB article for details.

Forms and Fields



The contact (caller_id) on the incident form disappears for ITIL users when the caller is set to inactive
  1. In a Madrid instance, create the UI policy as follows:
    • Short description: Testsnc
    • Table: Incident
    • On load: true
  2. To the above UI policy, create a UI policy action with the field name ''. For the Mandatory, Visible, and Read Only fields, you can either set them to anything or leave them as 'Leave alone'.
  3. Make Abel Tuter the caller for some open incidents.
  4. Make sure that Abel Tuter does not have any roles, and deactivate him.
  5. Impersonate the ITIL user, and access the incident list of which Abel Tuter is the caller.

    From the incident list view, 'caller_id' displays values for Abel Tuter.

  6. Open any record.

Expected behavior: The Caller (caller_id) field should display its value.

Actual behavior: The Caller (caller_id) field is empty and mandatory.

Guided Tours


Unable to view tours in the tour menu for SP on the sc_category page
  1. Create a tour for SP.
  2. Select the portal page as sc_category.
  3. Add steps to the tour.
  4. Publish the tour.
  5. Navigate to the portal page '/sp?id=sc_category'.

Notice that it is unable to get the tour in the menu and also unable to play the tour.

Guided Tours


In Firefox, it is difficult to add the callout to certain fields such as Short description The issue is seen primarily in the Firefox browser. When users try to add the callout to certain fields such as Short description, it requires many attempts and accurate positioning to place the callout.

Human Resources


Unable to select other HR cases apart from the Lifecycle Events case in the Activity Field Mapping and Fulfiller Activity Mapping configurations In the Activity Field Mapping and Fulfiller Activity Mapping configurations, users are unable to select other HR cases apart from the Lifecycle Events case in the map from the table drop-down list.

Human Resources Service Management


Values of the multi-row variable set are not copied into the Description field after users submit the record producer
  1. Install the Human Resources Scoped App: Core plugin and the Human Resources Scoped App: Service Portal plugin, and load the demo data.
  2. Log out and log in again.
  3. Change the application to 'Human Resources: Service Portal'.
  4. Navigate to the sc_cat_item_producer table and select the 'HR Report Inquiry' record producer.
  5. Create a multi-row variable set with the title 'test multi', and submit.
  6. Open the variable set and create a variable with the following settings, and then submit.
    1. Question: question 1
    2. Name: question_1
  7. Open the 'HR Report Inquiry' record producer to fill in the following field, and then click Try it.
    • What is your question?: my question
  8. In the 'test multi' multi-row variable set, fill in the following field and then click Add.
    • question 1: answer 1
  9. Click Submit.
  10. Open the HR Case created.

Notice that the Description field does not contain the value from the variables related to the multi-row variable set. 'My question' is visible in the Description field, but 'answer 1' is not.

Human Resources Service Management


Non-parsable PDFs throw a null pointer exception error and do not show in the To-dos for the assigned person in the Employee Service Center

Human Resources Service Management


The portal content in the To-do Completion bundle may not be triggered The portal content in the To-do Completion bundle may not be added to a campaign user if the campaign user has not visited the portal when the bundle is triggered.
  1. Create a campaign.
  2. Add a to-do task and a bundle that triggers this to-do task.
  3. Add the portal content to the To-do Completion bundle.
  4. Publish the campaign and add users and content.
  5. Complete a to-do task without visiting the portal as a user.
  6. Visit the portal.

Notice that the portal content is not added.

Human Resources Service Management


The existing sn_ hr_integrations_ schema_mapping records are no longer configurable After upgrading to Madrid, the existing sn_hr_ integrations_schema_ mapping records migrated to the global scope cannot be edited properly, as the Staging Table field does not show any tables in the list.
  1. Log in to a Kingston or London instance.
  2. Install the com.sn_hr_integrations plugin.
  3. Upgrade to Madrid.
  4. Navigate to HR Integrations > HR Service Mapping.
  5. Select the 'Workday - Worker Profiles' service.
  6. Switch to the 'Human Resources: Integrations' application scope.
  7. Open a record from the 'HR Integrations Schema Mapping' related list.
  8. Switch back to the global scope to edit the corresponding record.

Notice that there are no tables in the list for the Staging Table field.

Import / Export


SQL NULL can no longer be specified as a JDBCProbe parameter



Updates regarding the IntegrationHub Installer plugin Refer to IntegrationHub plugins for details.

ITSM Mobile


Using 'Sys ID' 'starts with' instead of 'is' in the query condition could cause unwanted record updates
  1. Manually edit an incident to remove the sys_id and make it blank for some incident records.
  2. In the ITSM mobile app, find this incident and open the detailed view for it.
  3. Click Edit to edit the incident and perform some field changes.
  4. Submit.

Because the filter condition uses 'starts with', it updates all incident records instead of just the one you are editing.




Non-admin users can create global lists with the available fields in the alphabetical order when personalizing the list layout When users personalize a list, if they click OK before the list selections load and the value '--' is the only value present on the right, a new global list will be created and is visible for all users.

Refer to the listed Known Error KB article for details.

MID Server


Windows Discovery Probes that use Powershell Remote Execution framework may be blocked from executing Powershell scripts on the target

When the MID Server is configured to use WMI, when a Discovery Probe that tries to execute a Powershell script on the target, script execution may be blocked by the target's ExecutionPolicy settings. For short scripts, the script does not need to be copied to the target and invoked through Powershell, so short scripts should be able to be run without requiring changes to ExecutionPolicy on the target.

Additionally, anti-viruses may block the script execution. The Powershell command is run with EncodedCommand to encode the parameters with MD5, and that is seen as potentially malicious by Anti-Virus software, including Crowdstrike. This is in addition to using the $admin share and executing from the Temp folder, which can also be considered indicators of potentially malicious code. This is a false positive, but will prevent that probe from running.

MID Server



In Discovery patterns, huge memory consumption and slow performance with EVAL(), and missing support for custom operation calling setContext PagedAttribute()

Operational Intelligence


The default value of 'change_ detection_timescale _seconds' causes the model building for the local level Kalman Filter to fail The model building for the local level Kalman Filter model type fails due to the default value of the configuration parameter 'change_detection_ timescale_seconds'.

Password Reset Application


Password Reset does not work for processes with multiple verifications in Internet Explorer
  1. Configure a Password Reset process with multiple mandatory verifications.
  2. Enroll the user in all verification methods.
  3. Navigate the reset page and follow the reset flow.

Expected behavior: The user should be able to reach the success page after completing all the verifications.

Actual behavior: Nothing happens after the user clicks the Next button on the last verification.




The 'sqlcmd' commands in 'MSSql DB On Windows' Pattern fail due to the commands' syntax The 'sqlcmd' commands in 'MSSql DB On Windows' Pattern fail to authenticate when the password variable is passed with quotations.
  1. Enable the Discovery plugin.
  2. Configure a MID server.
  3. Enable the pattern-based discovery.
  4. Add the required Windows credentials and applicative credentials for the Microsoft SQL Server.
  5. Run the discovery for a Windows server hosting the MSSQL database.




Some Windows servers and IP switches are getting serial numbers starting with a period ( . ) or an apostrophe ( ' ) from 'Windows OS - Servers' and 'SNMP Identify' patterns

Refer to the listed Known Error KB article for details.



The Delete Recovery triggers on records too broadly The scope of the Delete Recovery is too broad resulting in a lot of noise.



The Replication Lag BasedThrottler throttles longer than intended



Creating a field on a TPP table by importing an application from a Source Control repository and publishing this application to an update set adds sys_dictionary for all the child descendents to the update set

If a field is created on cmdb_ci (or any other TPP table) by importing an application from a Source Control repository, publishing this application to an update set adds sys_dictionary for all the child descendents to the update set.

Applying this update set on an instance may cause the field to point to different storage aliases for the parent and child tables, which causes the field to behave unexpectedly while updating/filtering/viewing the data on the field.



The revalidation of the database pool by all threads can cause hung transactions

Planned Maintenance Application


The maintenance plan does not run according to the schedule The maintenance plan should run on Sunday as per the schedule. Instead, it runs on both Sunday and the following Monday, which creates a duplicate task.
  1. Navigate to Planned Maintenance > Maintenance Plans.
  2. Click New.
  3. Specify a name and a short description, and enter the following settings:
    1. Type: General Sunday
    2. Table: Facility request model
    3. Apply to new matching records: true
    4. Task creation policy: Add to existing Monday
  4. Click Submit.
  5. Under the Maintenance Schedules tab, click New to create a schedule with the following settings:
    1. Set the trigger to 'Duration'
    2. Trigger Type: Weekly
    3. Due day of the week: Sunday
    4. Due time: 18 hours
    5. Lead time in days: 7
  6. Click Submit.
  7. Associate the plan with filtered records.

Expected behavior: The facilities_request_task is created only on Sunday.

Actual behavior: The task is created on both Sunday and Monday.

Platform Security


Errors occur when an ACL with 'transaction.getRequest Parameter' is called from a record watcher When an ACL with 'transaction. getRequestParameter' is called from a record watcher on a portal page, the following error message appears: 'org.mozilla. javascript.EcmaError: Cannot convert null to an object'.

Problem Management


Modals from the Problem UI actions save the problem record without enforcing mandatory restrictions on fields of the form
  1. Install the Problem Management Best Practice - Madrid - State Model plugin with the demo data.
  2. Navigate to the problem list and open a record with the state 'Fix in Progress'.
  3. Clear out the value in the mandatory Problem Statement field.
  4. Click Accept Risk and fill out the mandatory fields in the Accept Risk page.
  5. Click OK.

Expected behavior: The mandatory field should be required to have a value to save the form.

Actual behavior: The problem record is saved even though the mandatory field Problem Statement is blank.

Project Management


The project task allows users to select a planned end date that is earlier than the planned start date when 'Allow dates outside schedule' is set to true When 'Allow dates outside schedule' is set to true, users can set the planned end date to be earlier than the planned start date in the project task and save the task.

Project Management


When Level 2 is selected on the planning console, the scroll bar is hidden and users are not able to see all the tasks

Project Management


The project planning console does not load after the upgrade When only Project Management is active, the project planning console does not load after the upgrade.

Project Management


When users export a project by selecting 'Export to MS Project', an empty XML or an XML with zero bytes is returned When the project is exported from an instance where the system localization uses ',' (comma) instead of '.' (point) to separate the percentage, an empty XML or an XML with zero bytes is returned. This issue is mainly faced by users using Arabic numerals with decimal comma.

Project Management


Slow performance when updating a project task which is part of a project with over 500 tasks

Record Watcher


The null pointer exception error occurs if the record watcher condition contains sys_tag.<sys_id>

Resource Management


If the resource task is allocated from the project console, My Calendar does not show the resource task for users This issue happens when the date format used is not the system default format yyyy-mm-dd.

Resource Management


The allocated resource aggregate is staying back when the type is changed from 'Task work' to 'Time off' When the type of an existing resource event in a user's calendar is changed to the one that is excluded from the schedule, the capacity and availability are updated correctly but the allocated aggregate stays behind.
  1. Navigate to Self-Service > My Calendar.
  2. Create a resource event.
  3. Select the type as 'Task work' and assign it to any task.
  4. Open the above created resource event and change the type to the one included in the com.snc.resource_management. exclude_events_from_schedule property, such as 'Time off'.
  5. Open the resoruce_aggregate_daily table for the above event.

Notice that although the capacity and availability are updated correctly, the time allocated to the task is still there.

Service Catalog: Service Portal Widgets


The date variables submitted via a multi-row variable set are incorrect

Service Catalog



The dirty form support cannot be turned off for catalog items The dirty form support cannot be turned off for catalog items even with the glide.ui.dirty_form_support system property set to false. The alert message shows up on navigating away from the catalog item.
  1. Navigate to sys_properties.list.
  2. Search for glide.ui.dirty_form_support.
  3. Set the value to false.
  4. Open
  5. Select any catalog item in the list.
  6. Click Try it.
  7. Fill in the details and click the back button.

Expected behavior: When glide.ui.dirty_ form_support is set to false, no alert messages should show up when users navigate away from a catalog item.

Actual behavior: Alert messages show up when users navigate away from a catalog item.

Service Catalog


The reference qualifier does not work on the catalog item variable for non-English languages in auto-complete

Service Catalog



Users observed delay while trying to redirect from REQ to RITM after the submission of requests

Refer to the listed Known Error KB article for details.

Service Portal



The ticket page in Service Portal generates the JavaScript error 'You have exceeded your request quota for this API' when a location is checked with Google Maps for the first time When a location is checked with Google Maps for the first time, the ticket form in Service Portal generates the JavaScript error 'You have exceeded your request quota for this API'.
  1. Allow location checking on your browser.
  2. Log in as the administrator.
  3. Navigate to the SP ticket page.
  4. Click the location globe icon.

Notice that the JavaScript error alert message appears on the screen. In the browser console, you can find the error 'You have exceeded your request quota for this API'.

Service Portal


Issue with the Date/Time format in Service Portal On a catalog item page in Service Portal, if users do not follow the correct Date/Time format and manually enter an invalid value, an incorrect Date/Time value is displayed.

Service Portal



The function getSearchSources() in the typeahead search widget is not accessible from the scoped application in Service Portal
  1. Run the following function in the server script of a scoped widget:
    data.portalID = $sp.getPortalRecord().getUniqueValue();
    var searchSources = $sp.getSearchSources(data.portalID, null);
  2. Open a portal page where that widget is used.

Expected behavior: The function works and no error messages are received.

Actual behavior: The following error message appears: 'Server JavaScript error Cannot find function getSearchSources in object com.glide.service_portal.widget.fencing.Scoped SPScriptable@e85168.'

Service Portal



Users can submit requests with manually typed random text in the Date field of the catalog item form in Service Portal Users can submit requests with manually typed random text in the Date field of the catalog item form in Service Portal. There is no date validation.
  1. On any catalog item, add a date type variable.
  2. Open the item in Service Portal.
  3. Check that the Date field is available on the catalog item form.
  4. Enter any random text in the Date/Time field.
  5. Submit the form.

Notice that the request is successfully submitted regardless of the invalid date/time format.

Service Portal



The sc_email validation script can cause the Add to Cart and Order Now buttons to stop working in Service Portal The Add to Cart and Order Now buttons stop working in Service Portal when:
  • The sc_email validation script is active.
  • The catalog item has at least two variable sets.
  • Each variable set has an email type variable.
  • One of the variable sets has a Read Only UI policy applied to the email type variable.
  1. Make sure that the sc_email validation script is active.
  2. Create a catalog item and the availability is desktop and mobile.
  3. Create two single-row variable sets with the following settings:
    1. Variable Set 1:
      • Create an email type variable and leave the order blank.
      • Create a Read Only UI policy to hide the email type variable.
    2. Variable Set 2:
      • Create an email type variable and leave the order blank.
  4. Open the catalog item in Service Portal.
  5. Click Order Now.

Expected behavior: The 'Order Confirmation' modal should be displayed on the screen.

Actual behavior: The 'Order Confirmation' modal does not appear and there is no error shown. It seems as though nothing happens.

Service Portfolio Management


A performance degradation occurs when a large number of service offerings are being calculated When creating an aggregate record for the type 'Last 30 days', the Service Availability calculator generates the data of the last 30 days. A performance degradation then occurs when a large number of service offerings are being calculated.

SkyNow Mobile - Backend


If the name of the attachment contains '/', the attachment in the activity stream cannot be opened or downloaded from the ServiceNow Agent mobile app

SkyNow Mobile - Backend


When users edit the vulnerability group, both the Assignment group and Assigned to fields cannot be cleared on the mobile app

Software Asset Management Professional


BigFix/ILMT computers data are not being reconciled if there is an existing CI of class other than cmdb_ci_computer When the glide.class. downgrade.enabled system property is set to false, BigFix/ILMT computers data are not being reconciled if there is an existing CI of class other than cmdb_ci_computer.

Software Asset Management Professional


With Microsoft Office 365, the user subscription records are not populated because the user principal name values are not their email addresses

Tables and Dictionary


Unnecessary cluster cache flushes for DBNamesChecker




After applying a form template to a reference field, the 'See Details' link shows the sys_id instead of the value After applying a template to a reference field on a form, the 'See Details' link in the 'Template Applied' info message shows the sys_id instead of the value of the reference field.
  1. Log in as an administrator.
  2. Navigate to any open incident.
  3. Create and save a new template with the following fields: Caller, Assignment group, and Assigned to.
  4. Apply the template.
  5. In the 'Template Applied' info message, click the link 'See Details'.

Upgrade Engine Issues


Logged-in users are given a blank navigation page After an upgrade, once a user is logged in, the user sees a blank navigation page and a blank application navigator.

Usage Analytics


Unique Key violation errors appear in ua_user_role_ct when Role Management V2 is not active and the same role is added to a user from multiple inheritances
  1. Have an instance in which Contextual Security: Role Management V2 is not active.
  2. Upgrade the instance to Madrid.
  3. Make sure that a user has a record created in the ua_user_role_ct table when an ITIL role is added.
  4. Add the user to two groups which have the ITIL role in their contained roles.

You will see an error as the following: Unique Key violation detected by database (Duplicate entry 'e5b89be9db1e27009b8b1ded0b961900-u_account_bu_relation-sn_custom' for key 'user').

Usage Analytics


The daily definition IDs are missing

VA-Teams Adapter


The date of the previous day is displayed for the Date Time control in the Teams adapter When users choose a topic that has the Date Time control, the date of the previous day is displayed in the Date field. However, the date of the current day should be displayed.

Virtual Agent Platform


Issues with GlideEntitlement (licenses) checks

Visual Task Boards


When a new lane is added to the guided board, the search results do not show matching records When a guided board is created off of a reference field, there is an option to add more lanes to the board. Searching for values within this new lane does not return matching records.
  1. Activate the following plugins and load the demo data:
    • Software Development Lifecycle (SDLC)
    • Agile Development
  2. Navigate to rm_story.list.
  3. Add the 'Sprint' column to the list.
  4. Right-click this column and select Show Visual Task Board.

    A guided board is created.

  5. On this board, scroll to the far right and click the option Add Lane.
  6. Search for an existing value in this lane.

Expected behavior: The search result should only return the matching record.

Actual behavior: All values/records are returned.

Visual Task Boards


When 'Show Labels' is toggled off, the card labels are visible after the Visual Task Board is reloaded
  1. Create/navigate to a Visual Task Board with labels enabled.
  2. Add a few labels to several cards.
  3. Toggle off 'Show Labels'.

    Notice that both the card labels and the quick panel labels disappear.

  4. Navigate away from the board or refresh the page.

Expected behavior: Once the Visual Task Board is reloaded, 'Show Labels' should remain toggled off, and both the quick panel labels and the card labels should not be visible.

Actual behavior: After the Visual Task Board is reloaded, 'Show Labels' remains toggled off. The quick panel labels are not visible but the card labels are visible.

Vulnerability Response


The following error message appears in the system logs: 'getEntryScorePercent in sn_sec_cmn. CalculatorHelper throws undefined variable error'

Vulnerability Response


The base instance Vulnerability Response for the NVD data feed no longer works after the XML feed is deprecated



The in-flight workflow cannot be completed when a domain override is created while the flow is waiting For the workflow that has been started but is waiting for some outside event to occur, for example, an approval, a task completion, a timer, etc., it may fail to complete if a domain override is created for the workflow version before the event occurs.

Other Madrid Patch 4 information

IntegrationHub plugins
IntegrationHub plugins now include multiple subscription levels.

Fixes included

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.