Geneva Patch 7

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

For the Geneva Patch 7 release:
Build date: 05-21-2016_0850
Build tag: glide-geneva-08-25-2015__patch7-05-04-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 7 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 7, refer to KB0584703.

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
Presence

PRB665893

When an instance encounters periods of resource stress (multiple long running transactions), the addition of presence requests can cause semaphore queue build up, resulting in 429 error responses A separate semaphore (Presence) has been added to ensure that presence requests cannot cause queue build up. The following are symptoms of this issue:
  • Once an instance gets slow and starts queuing up requests longer than usual, the fact that there are lots of presence requests lead them to fill the queue. This causes all requests after 150 are queued to be rejected with a 429 error response.
  • When requests are rejected, some parts of the user interface (e.g. navigator, activity stream) may be missing. Users may also encounter 429 errors on page requests.

Transaction and Session Management

PRB646966

KB0594709

MID Server stops communicating to the instance and continuously produces the socket timeout error: Accepted with code: 202

Recycled requests cause session leak issues. This results in either of these behaviors:

  • MID Server stops communicating with the instance and continuously produces the socket timeout error: Accepted with code: 202, until the user upgrades to a fixed version.
  • Stuck sessions in the transaction queue. In this case, users receive 429 "Rejecting request" errors due to the session leaks.

This is caused by the platform holding a session sync on a transaction that has been cancelled.

Refer to the listed Known Error KB article for details.

Platform Performance

PRB670075

KB0594813

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

PRB674257

KB0594678

Changes on Dictionary Field Type of glommed field on one of the extending tables is changing the database field type instead of changing the sys_storage_alias If the user alters an existing column by changing the field type or the field length, data loss can occur if the field has duplicate storage aliases. On an affected version, the logic that safeguards against data loss fails to account for data in fields that are aliases of the field being modified. The following workflow illustrates the issue:
  1. The user accesses a field on a table that is configured as an extension of another table (Table per Hierarchy).
  2. The user then alters the field by changing either its Type or its Length.
  3. The execution logic tests for data loss in that table only (not the entire hierarchy for the field).
Because the test does not detect any data in other tables that are also extensions of that same base table, the workflow continues to execute, causing data loss for that field in the other tables.
Refer to the listed Known Error KB article for details.
Persistence

PRB662748

KB0564179

hr_case data lost during reparenting to sm_order ServiceNow engineers have identified a potential data loss that involves the hr_case and hr_task tables during the upgrade to Fuji or later from a prior family release version. In situations where the hr_task or hr_case table is created as Table per Class prior to the upgrade and when the table is altered during the upgrade, a table conversion takes place that results in data loss. Refer to the listed Known Error KB article for details.
Chat

PRB663533

KB0584123

Angular AMB Services, NG shared components User presence causes performance degradation when Connect, UI16, Mobile Support, or VTB is installed due to transactions related to the Presence feature ServiceNow has found an issue impacting instances configured with the Geneva release family and with the Presence feature enabled. Please note that this feature is enabled by default with UI16 in Geneva.

Presence generates a high volume of requests per user. The individual presence requests are generally fast, but they are susceptible to slowness when an instance is under heavy load. A high volume of slow Presence requests will clog the default semaphore queue. In the UI, this will manifest itself as missing components (for example, the navigator does not load, or a blank page is shown).

On the stats page, this will manifest itself as a default semaphore pool with a queue depth at or near 150. A large percentage of the active requests will probably be Presence transactions. Requests will return 429 errors (Too Many Requests) if they encounter a filled semaphore queue. This can lead to delays and significant performance issues for users on the instance.

Refer to the listed Known Error KB article for details.
Platform Performance

PRB657091

Semaphores not loaded into memory on zBoot/upgrade until node restart (affecting AMB semaphores post-upgrade) At node startup, we read from the sys_semaphore table and load them into memory. We added a new semaphore for AMB in Geneva that did not get loaded into the memory after the upgrade to Geneva. Now after the upgrade, we trigger an event that reloads all the semaphores into the memory.
  1. Upgrade from Fuji to Geneva.
  2. Go to stats.do and check for AMB Semaphores.
Instead of the seeing the expected 4 available AMB semaphores, there are no AMB semaphores.
UI Policy/Client Script

PRB653683

onChange client script running on submit of form when no data has changed An onChange client script is running on submit when the data has not changed since the last time it ran.
Persistence

PRB668394

fix_short_field_name_types and fix_short_table_name_types sometimes take a long time to run Several users have experienced long upgrades. This is due to the following fix scripts, which can take a considerable amount of time to run:
  • fix_short_table_name_types.xml
  • fix_short_field_name_types.xml
User Interface (UI)

PRB619776

KB0546762

In Google Chrome, the catalog list collectors "onChange g_filter.setQuery()" apply to only one of multiple fields When multiple list collectors are present on a catalog item and a catalog client script is defined to filter the results using g_filter.setQuery(), the script will apply to only one of the three list collectors in place. Refer to the listed Known Error KB article for details.
Knowledge Management

PRB666185

Knowledge Management V3 File parsing error when trying to import Word document into Knowledge In a Geneva instance as an admin or user with elevated privileges:
  1. Navigate to Self-Service > Knowledge > Import.
  2. Select a Word document and attach it.
  3. In the Import window, select the Knowledge Knowledge base and click Import.
Instead of a new KB being created, the import results in errors.
File parsing error: com.snc.knowledge3.knowledge_import.KnowledgeImportException:
  File parsing error:
  com.snc.knowledge3.knowledge_import.ConvertToHTML.parseDocx(ConvertToHTML.java:183)
  com.snc.knowledge3.knowledge_import.ConvertToHTML.parse(ConvertToHTML.java:258)
  com.snc.knowledge3.knowledge_import.WordKnowledgeImporter.parseToArticle(WordKnowledgeImporter.java:31)
  com.snc.knowledge3.processors.NGKnowledgeImportProcessor.parseFile(NGKnowledgeImportProcessor.java:139)
  com.snc.knowledge3.processors.NGKnowledgeImportProcessor.processGetFile(NGKnowledgeImportProcessor.java:172)
  com.snc.knowledge3.processors.NGKnowledgeImportProcessor.processDelegateMethod(NGKnowledgeImportProcessor.java:90)
  com.snc.knowledge3.processors.NGKnowledgeImportProcessor.process(NGKnowledgeImportProcessor.java:38)
  com.glide.ui.ng.AngularProcessor.process(AngularProcessor.java:107)
  com.glide.processors.AProcessor.runProcessor(AProcessor.java:409)
  com.glide.processors.AProcessor.processTransaction(AProcessor.java:183)
  com.glide.processors.ProcessorRegistry.process(ProcessorRegistry.java:165)
  com.glide.ui.GlideServletTransaction.process(GlideServletTransaction.java:32)
  com.glide.sys.ServletTransaction.run(ServletTransaction.java:34)
  java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:895)
  java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:918)
  java.lang.Thread.run(Thread.java:682)

All Other Fixes

Problem category Affected Plugins Short description Description Steps to reproduce
Change Management

PRB668065

Change Management - Standard Change Catalog Non-admin users receive an error that a mandatory field is not filled in on Standard Change Proposal form even when the field is populated Non-admin users receive an error ("The following mandatory fields are not filled in: Change Request values") on the Standard Change Proposal form when attempting to update the record, even when the field is populated. The values are not visible to the user due to StdChangeUtilsSNC. This is confusing to the end user.
Chat

PRB661228

KB0565104

Connect, UI11 - Navpage layout with multiple panes, NG shared components If Language is set to Hebrew, cannot close the Connect sidebar If Language is set to Hebrew, you cannot close the Connect sidebar on UI16. In Geneva:
  1. Enable the Connect plugin.
  2. Enable the Hebrew language plugin.
  3. Create an ITIL user with Hebrew language selected.
  4. Log in as the newly created ITIL user. Note that the Connect sidebar is open on the right side of the screen.
  5. Click the Connect Sidebar icon to collapse the Connect sidebar.
The Connect sidebar does not close.
Chat

PRB665893

When an instance encounters periods of resource stress (multiple long running transactions), the addition of presence requests can cause semaphore queue build up, resulting in 429 error responses A separate semaphore (Presence) has been added to ensure that presence requests cannot cause queue build up. The following are symptoms of this issue:
  • Once an instance gets slow and starts queuing up requests longer than usual, the fact that there are lots of presence requests lead them to fill the queue. This causes all requests after 150 are queued to be rejected with a 429 error response.
  • When requests are rejected, some parts of the user interface (navigator, activity stream, e.g.) may be missing. Users may also encounter 429 errors on page requests.
Chat

PRB670699

"Send message" test area gets cut off in a support conversation after escalation
Chat

PRB671433

Angular AMB Services, NG shared components Presence kill switch does not stop all Presence requests The property glide.ui.presence.disabled does not shut off all presence requests. The presence system is looking for $window.NOW.presence_disabled, but that value is only set if ng_amb_header.xml is included on the page in question. Not all implementations of presence are including this template.
  1. Set glide.ui.presence.disabled to false.
  2. Open the main frameset.
  3. Open Chrome developer tools and look at the network requests.
Notice that requests for presence are still being executed.
Chat

PRB673885

Angular AMB Services Angular AMB client and Vanilla JS AMB client do not have the same API In Geneva, there are two versions of the AMB client. One is created by Angular apps and the other is created by Vanilla JavaScript apps. Only one client exists on the top frame, and it can be created by either an Angular app or a Vanilla JavaScript app (the client object can be used in either environment). There is, however, one difference in their APIs. The Vanilla JavaScript client has a method called "getState", while the Angular client as a property called "state".

Some consumers of AMB (Record Presence in particular) rely on the connection state to decide if they should publish messages. A consumer of AMB will fail if it expects one variant of the state API but gets the other instead.

Open sessions as two separate users on a Geneva instance without Connect enabled.
  1. View an incident in the navigator with User A.
  2. View the same incident in the navigator with User B.
Notice that Record Presence is not visible for either user.
Chat

PRB673938

Connect Connect side bar's 'Filter conversations' field does not have a label associated to it and as a result poses challenges for users with vision disabilities Accessibility features allow other applications such as VoiceOver (hit Command+F5 on keyboard to activate VoiceOver App) to identify and tab into fields within the ServiceNow platform.

Controls and Fields within the ServiceNow platform need to have labels associated with them in order for applications like VoiceOver to function properly and allow easy access to such fields for users with low-impaired vision disabilities. Currently, the side bar for Connect's 'Filter conversations' field is one such field with no labels displayed.

Here are some challenges that are posed when fields/controls do not have labels associated to them:

  • VoiceOver application is not able to read the labels for such fields when Voiceover is activated.
  • Screen readers cannot associate a label to fields which do not have labels.
  • The font for the text when it is initially displayed until the user starts to type a value into the field, is very light in font color and difficult to read for users with vision disabilities.
  • Once you focus into such fields, the field description (e.g. 'Add a Comment' in Knowledge articles) goes away, which poses further challenges.
  1. Activate the VoiceOver application by clicking Command+F5 from your keyboard.
  2. Activate the Connect sidebar on the right of the ServiceNow portal, and observe the 'Filter conversations' field.
If you click into the field and start to enter inputs, the 'Filter conversations' field description is no longer displayed. If you try to tab into fields using VoiceOver, the field description is no longer read if there is user-entered text. Instead, the user-entered text is read. This can be misleading for users with disabilities.
Chat

PRB674003

Last support chat gets stuck on screen and agent cannot close it The last support chat cannot be closed, and the agent ends up always having something on the screen. Records created off of this chat end up in an odd state that prevents a session to from being closed and removed from the screen. Agents should not see chats that were previously worked if they completed the transaction. The conversation is getting into an odd "visible" state.
Chat

PRB674124

Magellan Navigator snTabActivity loses track of primary tab when Connect is not installed The tab tracker (snTabActivity) loses track of the primary (currently used) tab when Connect is not installed. The general UI does not include a unique key to keep track of the tab, which lets form pages override the "primary" tab when they load. This then causes presence to act inconsistently. On a Geneva instance (without Connect installed):
  1. Log in as System Administrator. Note the presence indicator in the top right is green.
  2. Navigate to a form.
  3. Wait 15-30 seconds.
Note the presence indicator disappears in the main nav. This may take a few tries of navigating to a form and waiting for at least 15 seconds.
CMDB

PRB672916

Configuration Management (CMDB) CI Relationship Manager fails to create relationships if source CI name starts with #
  1. Go to a CI that has a name starting with #.
  2. Scroll down and click on the + to go to the Relationship Manager. You will see that on top it says Relationship Manager - (). This is already indicative of the problem because usually the CI's name is between the parentheses.
  3. Follow normal CI relationship addition and try to Save or Save and Exit.
The RM will respond with "Failed to create relationships."
Customer Service Management

PRB650210

Customer Service CMS Page edit issue When editing a customer service page in Content Management, users see the error: "Unable to find table: xxx" and "GlideMobileExtensions is not allowed in scoped applications."
  1. Have Customer Service plugin installed.
  2. Navigate to Content Management > Sites > Customer Service.
  3. Open any page (e.g. Customer Service Cases page).
  4. Click on Edit Page under related links.
Note the error.
Date and Time

PRB665916

Agile Development ORA-01830: date format picture ends before converting entire input string Currently, 'date' fields are not reformatted when sending the query to Oracle. On any Eureka release (with Oracle DB):
  1. Create 2 fields on rm_sprint table with type Date:
    • column name: start_date_1, type: date
    • column name: end_date_1, type: date
  2. Set the glide.sys.date_format to dd.MM.yyyy.
  3. Go to rm_sprint.list, open one of the records, and fill in a date on each of the 2 fields created at step 1, like the following example:
    • start_date_1 = '09.03.2016'
    • end_date_1 = '10.03.2016'
  4. Save the record.
  5. Go to background scripts and run:
    var gr = new GlideRecord('rm_sprint');
      gr.addQuery('start_date_1', '09.03.2016');
      gr.addQuery('end_date_1', '10.03.2016');
      gr.query();
      
      while (gr.next()){
      gs.print(gr.number);
      }
The following error is thrown:
[0:00:00.018] Script completed: script
FAILED TRYING TO EXECUTE ON CONNECTION 10: SELECT task0."sys_id"
FROM task task0 WHERE lower(task0."sys_class_name") = lower('rm_sprint')
AND task0."a_dte_1" = to_date(?, 'YYYY-MM-DD') AND task0."a_dte_2" =
to_date(?, 'YYYY-MM-DD')
General Data Exception detected by database (ORA-01830: date format
picture ends before converting entire input string)

Placeholders follow:

0 (10):09.03.2016
1 (10):10.03.2016
: com.glide.db.GlideSQLException: FAILED TRYING TO EXECUTE ON CONNECTION
10: SELECT task0."sys_id" FROM task task0 WHERE lower(task0."sys_class_name")
= lower('rm_sprint') AND task0."a_dte_1" = to_date(?, 'YYYY-MM-DD') AND
task0."a_dte_2" = to_date(?, 'YYYY-MM-DD')
General Data Exception detected by database (ORA-01830: date format
picture ends before converting entire input string)

Placeholders follow:

0 (10):09.03.2016
1 (10):10.03.2016
: com.glide.db.DBIError.wrapAndThrow(DBIError.java:105)
com.glide.db.DBIError.handleException(DBIError.java:66)
com.glide.db.DBI.executePreparedStatement(DBI.java:604)
com.glide.db.DBQuery.executePrepared(DBQuery.java:336)
com.glide.db.DBQuery.executeAsResultSet0(DBQuery.java:286)
com.glide.db.DBQuery.executeAsResultSet0(DBQuery.java:263)
com.glide.db.DBQuery.executeAndReturnTable(DBQuery.java:229)
com.glide.db.DBAction.executeNormal(DBAction.java:204)
com.glide.db.DBAction.executeAndReturnException(DBAction.java:167)
com.glide.db.RDBMSQueryContext.executeQuery(RDBMSQueryContext.java:46)
com.glide.db.DBQuery.execute(DBQuery.java:1735)
com.glide.db.meta.Table.queryBasic(Table.java:289)
com.glide.db.meta.Table.query(Table.java:186)
com.glide.script.GlideRecordITable.query(GlideRecordITable.java:76)
com.glide.script.GlideRecord.query0(GlideRecord.java:2828)
com.glide.script.GlideRecord.query(GlideRecord.java:2598)
com.glide.script.GlideRecord.jsFunction_query(GlideRecord.java:2484)
inv16.invoke()
org.mozilla.javascript.FunctionObject.doInvoke(FunctionObject.java:565)
org.mozilla.javascript.FunctionObject.call(FunctionObject.java:480)
org.mozilla.javascript.ScriptRuntime.call(ScriptRuntime.java:1201)
org.mozilla.javascript.gen.c3786.call(<refname>:4)
org.mozilla.javascript.gen.c3786.exec(<refname>)
  com.glide.script.ScriptEvaluator.execute(ScriptEvaluator.java:162)
  com.glide.script.ScriptEvaluator.execute(ScriptEvaluator.java:176)
  com.glide.script.ScriptEvaluator.evaluateString(ScriptEvaluator.java:68)
  com.glide.script.Evaluator.evaluateString(Evaluator.java:161)
  com.glide.script.Evaluator.evaluateString(Evaluator.java:156)
  com.glide.processors.ScriptProcessor.evaluateScript(ScriptProcessor.java:282)
  com.glide.processors.ScriptProcessor.runScript(ScriptProcessor.java:201)
  com.glide.processors.ScriptProcessor.process(ScriptProcessor.java:159)
  com.glide.processors.Processor.runProcessor(Processor.java:358)
  com.glide.processors.Processor.processTransaction(Processor.java:163)
  com.glide.processors.ProcessorRegistry.process(ProcessorRegistry.java:146)
  com.glide.ui.GlideServletTransaction.process(GlideServletTransaction.java:36)
  com.glide.ui.GlideServlet$1.run(GlideServlet.java:408)
  java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
  java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
  java.lang.Thread.run(Thread.java:662)
Demand Management

PRB659820

Glidelist field not saving on record insert in Idea table when using the UI The Idea table introduced through the Demand Management plugin does not save GlideList field values upon insert of a record through the UI. Please note that GlideList field values are saved correctly when doing an update to an Idea record, as well as inserting a new Idea record through a GlideRecord. In an OOB Geneva instance:
  1. Activate the Demand Management plugin.
  2. Navigate to Self-Service > Ideas > Create New > Configure > Form Layout, and add the watchlist field.
  3. Fill out the required fields and populate the watchlist field.
  4. Save.
Verify that the watchlist is empty.
Demand Management

PRB669642

KB0594577

Demand Management Creating new idea submissions increments the record number by an additional number on Save/Insert When submitting a new Idea via the Demand Management Ideation, the initial number of the idea is incremented by 1 on Save / Insert of the new Idea. In a Geneva instance:
  1. Activate the Demand Management plugin if it is not already activated.
  2. Navigate to Self-Service > Ideas > Create New.
  3. Add Number to the form layout.
  4. Note the number of the new idea.
  5. Fill in the details and click Save/Submit.
Note the new idea number has incremented by one. The number changing on submit is causing confusion for the end users.
Discovery

PRB646422

Sensors for ADM taking illogical amounts of time to complete, leading to sensor timeout error When running Discovery against an IP address, the user gets an 'sensor time out' error for the ADM sensor.
Discovery

PRB661936

Discovery source flips between Service-now and ServiceNow The system reports periodically on timeline on changes in host. However, comparison of the business service before and after the change does not show changes in the host on the right pane.
Event Management

PRB670043

Improve SCOM groovyScript host (node) resolving The MonitoringObjectPath property from SCOM should be used to set the node field if NetbiosComputerName and PrincipalName properties are empty.
Event Management

PRB670478

Cloudwatch alerts do not have a proper timestamp Alerts coming into ServiceNow via evt_mgmt_proc.do are not properly translating the AWS timestamp. The date is correct, but the time always shows the same for a given day and set of alerts. This may be causing alerts to be deleted as duplicates, as well as preventing re-opening of Incidents that have been cleared by an operator based on recurrence of a similar event/timestamp.
Event Management

PRB670755

SCOM connector memory problem when large data retrieved from SCOM
Event Management

PRB674256

Timeline Visualization Multiple Timeline Visualization sliders are not visible In Event Management's Timeline module
  1. Size your browser or display to 1440x900.
  2. Try to view the Alert Timeline within frames.
The bottom line is cut off by the scroll bar. If you open it in a new tab/window, you can see both rows.
Forms

PRB675038

Magellan Navigator, NG shared components Form performance is slower in Geneva due to form presence, form live updates, activity stream and template bar
  1. Template bar is loading when it should not (as opposed to template bar just loading slowly, which is a different PRB)
  2. Activity stream load time when there are lots of entries (> 20), including when it freezes the screen
  3. Form does lots of loading before the activity stream even starts to load
Foundation

PRB668046

The upgrade from Fuji to Geneva Patch 4 does not create the group type 'itil' The group type (1cb8ab9bff500200158bffffffffff62) is sys_user_group_type.name = "itil".

This group type is new to Geneva. Geneva version has this group type and a script to update all the null group types with itil. The upgrade missed the itil group type record but ran the script to update the null values.

During the Geneva upgrade, the fix script ran and updated the sys_user_group records where type = null with itil type sys_id. The itil type record was not loaded into the instance. Due to this, the sys_user_group is showing the sys_id value instead of "itil".

HR Service Management

PRB663149

PDF Generator Generating HR template will not print Arabic characters Generating the HR Employee verification letter will not output Arabic / Russian characters.
  1. Activate the Human Resources Application: Core plugin.
  2. Go to the OOB Employee verification letter: /hr_document_template.do?sys_id=5d295f26d7200200a322c257ed6103fa.
  3. Add some Arabic / Russian text to it, for example:
    • ы это реальная жизнь? Является ли это просто фантазия?
    • الصورة هذه هي الحياة الحقيقية؟ هل هذا مجرد خيال؟
  4. Create an HR case (hr_case.do), choose the template 'Employment verification' and any user and save it.
  5. Click the Generate Letter button (if the UI action is not visible, delete the condition on it here: sys_ui_action.do?sys_id=63db0684d7333100a322c257ed61035b).
  6. Look at the attachment.
It will not contain the characters.
Human Resources

PRB664555

Human Resources Application: Core Populate case SLAs - potential looping when updating hr_case records, possibility of incorrect post back of SLA time remaining to hr_case records This issue occurs because of how this business rule was designed: nav_to.do?uri=sys_script.do?sys_id=52e44382 c3100200b599b4ad81d3aed0

The business rule processing engine can get into a loop if the right conditions are met. Additionally, since the business rule fires on all updates to task_sla records attached to hr_case records, and does not account for the possibility of multiple SLA definitions with different durations, as soon as there is more than one SLA definition attached to an hr_case record, it becomes a tossup as to which SLA will be posted back to the hr_case to populate the SLA field.

To trigger a loop:
  1. Create an SLA definition on the hr_case table with a short duration (e.g. 30 minutes).
  2. Create an hr_case record that will trigger your SLA definition.

The hr_case is inserted, SLA processing will run, and the task_sla record will be attached. At that point, the populate case SLA business rule will run and update the hr_case record. This will cause SLA processing to run again. If the elapsed times on the SLA have changed, it will cause another update to the hr_case, creating an infinite loop.

For the potential of lost data:
  1. Create two SLA definitions on the hr_case table.
  2. Create an hr_case record that will trigger both SLAs.
View the hr_case record after updating - the SLA field will be populated, but from which SLA was it populated?
Integrations

PRB563498

KB0529760

com.snc.integration.xmatters contains update records for script includes that overwrite base system scripts The xMatters integration's update folder contains update records for SOAPRequest, SOAPMessage, and SOAPEnvelope. The end result is that the current base system script includes are negated by the plugin and replaced with outdated versions. Enable the xMatters plugin. Note that the SOAPRequest, SOAPMessage, and SOAPEnvelope script includes have been modified by the plugin.
Integrations

PRB641111

Google Maps Plugin Business rule 'get_lat_long' for core_company missing conditions to query the new coordinates in case the street, city, state, zip or country changes The business rule 'get_lat_long' for the cmn_location table has the following condition:
current.street.changes() || current.city.changes() ||
current.state.changes() || current.zip.changes() || current.country.changes()
Whereas the business rule 'get_lat_long' for the core_company table has this condition:
!current.street.isNil() && (current.latitude.isNil() ||
current.longitude.isNil())
The longitude and latitude will not be updated if the street, city, state, zip or country changes for a record in the core_company table.
Change the City for a record in the core_company table. Note that the longitude and latitude is not changed.
Knowledge Management

PRB629229

KB0550855

Knowledge Management V3, I18N: Knowledge Management Internationalization Plugin v2 Activating I18N - Knowledge Management Internationalization does not import previous translations from the translation table If the instance has a language plugin installed, knowledge article translations created prior to activating the I18N - Knowledge Management Internationalization plugin are lost.
  1. Activate any language plugin.
  2. Create a new article and modify an existing article using a non-English translation.
  3. Activate the I18N - Knowledge Management Internationalization plugin.
  4. Navigate to the articles you created and edited. Note that changes made using the non-English translation are migrated to English.
Knowledge Management

PRB648819

Knowledge Management Wiki Support Links in a wiki field containing spaces do not function as expected When clicking on a wiki link containing a space, the user gets a new kb_knowledge form rather than being linked to the appropriate wiki page.
  1. Create a new kb_knowledge record or open an existing one.
  2. Change the Article Type to Wiki to reveal the Wiki field.
  3. Click Wikitext to display the text box.
  4. Create a link using the following: [[Bereavement Leave]]
  5. Save the record.
  6. Click the Bereavement Leave link created in step 4.
Expected Behavior: Clicking the link should redirect to the the OOB article KB0000041, which has a short description of "Bereavement Leave".

Actual Behavior: Clicking the link opens a new kb_knowledge form with "Bereavement_Leave" as the short description.

Knowledge Management

PRB667232

Knowledge Management V3 Import from Word does not preserve formatting Use the Import from Word feature. The formatting is not preserved.
Knowledge Management

PRB673105

Knowledge Management V3 When there are many categories, drilling into a knowledge base from $knowledge.do is slow to load
Knowledge Management

PRB673962

Knowledge Management v3 Knowledge search results are limited to the user's preferred language

In Geneva, Knowledge search results are limited to the user's preferred language. This does not offer an option for customers to search articles in all languages. In a multilingual environment, where users may speak more than one language and articles may be written in English or any other language, it is not a desired and expected behavior to force searches to filter by language.

Geneva introduced a dependency where I18N: Internationalization requires the I18N: Knowledge Management Internationalization Plugin, which does not leave an option for customers decide to whether or not to localize or the Knowledge Base. However, this is not stated in product documentation.

To allow users to search all articles in all languages, there should be an 'All' option in the language picker and an option to force that as the default.

Scenario 1
In a Geneva instance:
  1. Install the 'I18N: Knowledge Management Internationalization Plugin v2' plugin.
  2. Install an alternate language (e.g. German).
  3. Create and publish a new KB article in German.
  4. Browse to Self-Service > Knowledge.
  5. Search for the article created in step 3. Note that the article does not appear in searches.
  6. Switch to the German language, or impersonate a user that has German as their preferred language.
  7. Search for the article again. It will be visible, but the English language KB articles will not.

Scenario 2

In Fuji, the 'I18N: Knowledge Management Internationalization Plugin v2' plugin is not activated, however I18N: Internationalization is active.
  1. Upgrade the instance to Geneva.
  2. Note that the I18N: Internationalization plugin requires I18N: and Knowledge Management Internationalization Plugin v2 due to the dependency. This does not give an option whether or not to have a translated knowledge base.
Knowledge Management

PRB674483

Knowledge Management V3 UI page kb_find published knowledge date does not show if glide.knowman.search.show_author is false Even though glide.knowman.search.show_published is set to true, which should control if the published date is shown on kb_find search results or knowledge home page results, the published date does not show if the glide.knowman.search.show_author is set to false.
  1. Go to the UI page kb_find. Click Try it to view the page.
  2. Search a term such as 'email'.
  3. If glide.knowman.search.show_published is set to true and glide.knowman.search.show_author is false, the published date does not show.
  4. Now set the glide.knowman.search.show_author system property to true and you will see all the information display.

Expected behavior: Published date should show even though the client does not want to display the author information.

Actual behavior: Published date information is dependent on author system property.

Knowledge Management

PRB675406

Knowledge Management V3 Changing knowledge search properties does not immediately apply to UI knowledge search page
Live Feed

PRB673937

Live Feed 'Share your thoughts' and 'Search Messages' fields in Live Feed do not have a label associated to them, which poses challenges for users with vision disabilities Accessibility features allow other applications such as VoiceOver (hit Command+F5 on keyboard to activate VoiceOver App) to identify and tab into fields within the ServiceNow platform.

Controls and Fields within the ServiceNow platform need to have labels associated with them in order for applications like VoiceOver to function properly and allow easy access to such fields for users with low-impaired vision disabilities. 'Share your thoughts' and and 'Search Messages' fields in Live Feed are such fields with no labels displayed.

Here are some challenges that are posed when fields/controls do not have labels associated to them:

  • VoiceOver application is not able to read the labels for such fields when Voiceover is activated.
  • Screen readers cannot associate a label to fields which do not have labels.
  • The font for the text when it is initially displayed until the user starts to type a value into the field, is very light in font color and difficult to read for users with vision disabilities.
  • Once you focus into such fields, the field description (e.g. 'Add a Comment' in Knowledge articles) goes away, which poses further challenges.
  1. Activate the VoiceOver application by clicking Command+F5 from your keyboard.
  2. Go to Live Feed and observe the 'Share your thoughts' field.
    • If you click into the field and start to enter inputs, the 'Share Your Thoughts' field description is no longer displayed.
    • If you try to tab into fields using VoiceOver, the field description is no longer read if there is user-entered text. Instead, the user-entered text is read. This can be misleading for users with disabilities.
The same issue occurs with the 'Search Messages' field in Live Feed.
MID Server

PRB653295

Sensor error when processing Solaris - Storage: The undefined value has no properties The I-O Data section of the Solaris storage probe fails for certain inputs.
MID Server

PRB667651

MID Server should be able to handle dzdo as a privileged command

A Service Mapping user was able to use "dzdo" as a privileged command, but it is not supported by the MID Server.

MID Server

PRB670521

MID Server fails to parse the output of the sudoers file and prompts for a password when using SSHKEY's MID Server fails to parse the output of the sudoers file correctly when there is a long line in the sudoers file, and it prompts the user for a password. This happens when using SSH keys. When there is a very long line in sudoer file, you cannot really tell if you are able to run a command without password or not through the output of "sudo -l" because the sudo -l output will cut the single line into multiple lines. In an instance that uses SSH keys in your credentials table:
  1. Run Discovery on any Linux system which has a long line in sudoers file.
  2. Look at the input from the Linux-Identity probe.
Note the error message in the ECC queue saying that a password is not supplied.
Password Reset Application

PRB669891

OOB PW Reset - AD workflow not compatible with Minimum Age requirement in AD The password history policy is enforced even though the 'Enforce history policy' flag is disabled on the credential store.
  1. In Windows, select Switch User.
  2. Select the Ctrl+Alt+Del app.
  3. Select the pictures in the reCaptcha, then click Next.
The generated random text cannot be copied (Ctrl+C) or right-clicked (no context menu). Only the 'Cancel' button is available.
Performance Analytics

PRB668058

Performance Analytics Dashboard breakdown sources are no longer accessible from child domains In Geneva, PA dashboard breakdown sources are no longer accessible from child domains. In Fuji, these selectors were available.
Performance Analytics

PRB668718

When exporting to PNG, time series widget shows all scores when 'show range selector' is checked
  1. Create an indicator with a scores for 2 months.
  2. Add a breakdown to this indicator and add scores for 2 months.
  3. Create a time series widget with this indicator and 2 additional indicators with indicator/breakdown/element.
    • Period: 1 month
    • Show range selector=true
  4. Export to PNG.
Instead of showing only 1 month of data, all scores are shown.
Performance Analytics

PRB669162

Performance Analytics Widget Indicators Label is not being used on List Widgets On list type widgets, Additional Indicators [pa_widget_indicators] with a Label will display on the widget the Name of the Indicator and not the Label information. This feature works as expected with 'Workbench' and 'Time Series' widget types, and it is irrelevant to 'Score' and 'Breakdown' widget types.
  1. Make sure the sys_dictionary record for pa_widget_indicators.label is Display = true (OOB configuration).
  2. Create a list type widget, scorecard visualization, and save the record.
  3. Add new widget indicators to your list widget. Make sure to insert a label that differs from the Indicator Name.
  4. Add the list widget to a dashboard.
The list widget displays the name of the Indicators, not the Label defined on the widget indicators record.
Performance Analytics

PRB669762

KB0584151

Performance Analytics - Data Collector (deprecated), Performance Analytics Data collector fails when there is a script without facts table Performance Analytics scripts that do not specify a Facts table cause data collection to fail.
  1. Navigate to Performance Analytics > Scripts.
  2. Create a new script.
  3. Leave the Facts table field empty.
  4. Run a data collection job.
Performance Analytics

PRB674444

Performance Analytics When exporting to PNG/JPG, widget shows all scores and not the breakdown specific scores
  1. Create an indicator with a scores for 2 months.
  2. Add a breakdown to this indicator and add scores for 2 months.
  3. Create a time series widget with this indicator and 2 additional indicators with indicator/breakdown/element.
    • Period: 1 month
    • Show range selector=true
  4. Export to PNG.
Instead of showing only 1 month of data, all scores are shown.
Persistence

PRB650167

Oracle query issued in ElementMetadataQuerier joins lower('sys_id'), degrading performance because desired index is not used
  1. Invalidate cmdb_ci by running GlideTableManager.invalidateTable("cmdb_ci"); in Scripts - Background.
  2. Turn on SQL Debugging.
  3. Navigate to /cmdb_ci_list.do.
Note the large number of long-running queries such as:
19:51:25.789: Time:
  0:00:00.111 id: SNC10111127[glide.8] for: SELECT * FROM sys_dictionary d left join
  sys_metadata m on lower(m."sys_id") = lower(d."sys_id") WHERE lower(d."name") =
  'sys_ui_action_view'
These take 100+ms because we are missing index utilization on the join, since the columns are being unnecessarily "lowered".
Persistence

PRB668234

KB0565488

Human Resources Application: Core, Service Management Core In Geneva, hr_change table does not reparent properly to hr_case table According to the Geneva release notes: "In addition, the [hr_change] table is merged with the [hr_case] during the upgrade. All HR cases and changes are placed in the [hr_case] table and the [hr_change] table is removed. Any customizations you made to either table are applied to the [hr_case] table."

A user who upgraded from Fuji Patch 10 to Geneva Patch 4 had custom columns in their hr_change table that were deleted along with the corresponding data. This is caused by a defect in the upgrade script that fails to apply customizations that existed before the upgrade.

The fix for this PRB now properly reparents the hr_change table to the hr_case table. Custom columns in the hr_change table are no longer deleted for customers that upgraded from Fuji Patch 10 to Geneva Patch 4.

Refer to the listed Known Error KB article for details.
Persistence

PRB670065

KB0584891

Uncaught exception from RecordWatcherCache due to inconsistent watcher configuration factories between nodes Users are experiencing an intermittent blank white screen due to cache inconsistencies between nodes (node1 is sending messages in a different format than node2 is reading them). Refer to the listed Known Error KB article for details.
Platform Performance

PRB671499

Angular AMB Services, NG shared components Session timeout broken by active AMB requests AMB sends are treated as user traffic and keep a session alive. As you can see below, we issue these AMB requests periodically as part of record presence, thus breaking session timeout while on a form.
  1. Open up any user record form.
  2. Leave the browser open.
The session never times out.
2016-04-19 06:17:52 (867) http-48 New
  transaction 75613FBADB36120075A8317EAF9619B8 #1883 send
  /amb/sn/rp/sc_req_item/1a517bb2db7612001f49d29eaf9619fa 2016-04-19 06:17:52 (904)
  AMB-thread-2 75613FBADB36120075A8317EAF9619B8 #1883 send
  /amb/sn/rp/sc_req_item/1a517bb2db7612001f49d29eaf9619fa Message
  ------------------------- 2016-04-19 06:17:52 (915) AMB-thread-2
  75613FBADB36120075A8317EAF9619B8 #1883 send
  /amb/sn/rp/sc_req_item/1a517bb2db7612001f49d29eaf9619fa -- total transaction time:
  0:00:00.048, transaction processing time: 0:00:00.048, total wait time: 0:00:00.000,
  session wait: 0:00:00.000, semaphore wait: 0:00:00.000, source: 67.252.10.221
Platform Performance

PRB677006

Decrease AMB log volume
Platform Security

PRB667582

Monitoring: Remove login events Existing login events need to be removed, but we still need to continue logging the events into app server logs.
  • DB
  • LDAP
  • SAML
Platform Security

PRB674503

Performance degradation of REST APIs for a table with variables Users are experiencing performance issues while accessing data via REST service from a table that has variable fields. Slowness occurs while evaluating ACLs using GlideRecordSecure.
Project Management

PRB655260

Project Management The Copy Template action for Projects in the Template Form rearranges the copied project tasks By using the Copy Template in the Template form, the new copy will have an issue on the phases order and tasks. On a Fuji or Geneva instance:
  1. Activate the Project Portfolio Suite plugin and load demo data.
  2. Go to the OOB Sample Template.
  3. Note that the order of the Project Template Task is correct (initiating, evaluating, blank, develop p., blank, deliverable, etc.).
  4. Click the Copy Template related link, and create a new template.
  5. Note that the order of the Project Template Task is incorrect ( blank, archive, audit, closing, etc.).
If you create a new project based on a copied template and click the WBS List (related link), you will see that the order is wrong.

Note that to show the to WBS List Related link you need to activate the following UI action: /sys_ui_action.do?sys_id=118ab743bf22010032a0854b3f073941

Project Management

PRB663335

Project Management Parent field on the Project form should only show project-related tasks, as selection of a non-project related task causes errors - currently all tasks show The Parent field of a Project can be set to any record that exists in the Task table, regardless of what type of task it is. If this field is set to a non-project related task, it will cause issues such as stopping that project's Gantt chart from being rendered in the Planning Console. Server-side and client-side errors occur when doing this. This should be changed so that only project-related tasks are able to be selected in that field. Pre-requisite: Install the 'Project Management' plugin (com.snc.project_management_v3) with demo data.
  1. Navigate to Project > Projects > All.
  2. Open any project from the list.
  3. Right-click the form header and choose Configure > Form Layout.
  4. Add the Parent field into the list of selected fields and click Save.
  5. In the Parent field on the form, click the magnifying glass button to open the reference picker.
  6. From the list that pops up, select a non-project related task (e.g. an incident or a change request).

Expected behavior: You are only able to select project-related task records. This should be the case due to the fact that project-related code appears to expect that only project-related tasks are listed in this field.

Actual behavior: You can select any record from the task table, regardless of what type of task it is.

Project Management

PRB666802

After starting a project, all project tasks, regardless of dependencies, get moved to WIP and an actual start date is set Set up:
  1. Activate Project Management v3.
  2. Activate Project Portfolio Suite.

Steps to reproduce:

  1. Log into a Geneva instance.
  2. Navigate to Project > Create New.
  3. Save.
  4. Add 2 child tasks
  5. Go into the second child task and make the first the predecessor.
  6. From the second child task, add a child task.
  7. From Project, select Planning Console.
  8. From Project, click Start Project.
  9. From Project, select Planning Console again.
Notice how it is not correct with the dependencies.
Project Management

PRB668519

A "24x7" schedule for projects result in unexpected planned duration and planned end date behavior Once the planned end date is changed, it results in an unexpected calculated planned duration. Likewise, a change in planned duration results in an unexpected calculated planned end date.
  1. Create a "24x7" schedule.
  2. Schedule entries for it:
    • When: check the All day checkbox
    • Repeats: Daily
    • Repeat every: 1 Day
    • Repeat until: blank
  3. Create a new Project record.
  4. Set the daily schedule as 24x7 (repeats daily all day).
  5. Change the Planned end date.
  6. Go through it day by day. Note it works as expected until it hits a weekend, and the planned duration changes to an unexpected value.
  7. Reset the planned duration back to 00 00:00:00.
  8. Change the planned duration to a value such as 07 00:00:00.
Observe the planned end date is now an unexpected value as well. For example, if the planned start is 04/04, the planned end should be 04/11, but it is something like 05/23 instead.
Project Management

PRB668817

Users cannot create dependency when locale is not English Users cannot create dependencies when locale is Swedish. In an instance where the locale is Swedish:
  1. Create a new project.
  2. Create two task with the second starting next day after the first ends.
  3. Create a finish to start dependency between first and second.
You will see the error: "Cannot add relation to a successor task which has already started".
Project Management

PRB673030

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

PRB673037

Selecting 'Project workbench' context menu from the project list view does not display anything When a user selects 'Project Workbench' from Project > Projects > All > right-click on a project record from the list view > Project Workbench, nothing appears. The browser inspect element shows: "Error running context menu 'Project Workbench': ReferenceError: g_form is not defined" In a Geneva instance:
  1. Navigate to Project > Projects > All > right-click on a project record from the list view > Project Workbench.
  2. Note that nothing appears.
Project Management

PRB673178

Project Management Latency issue with updating/creating/linking project tasks in a project with several layers of children tasks Updating/creating/linking a project task within a project and/or parent project task can result in latency issues when the project has many tasks in its hierarchy. In a Geneva instance:
  1. Create a project.
  2. Create many project tasks for the project. Make some of those tasks dependent upon other tasks (parent:child relationships), with multiple children tasks for several parent tasks, etc.
  3. Go into one of the child projects task and try to update it (e.g. change state from WIP to Closed).
This can take 15 seconds to several minutes.
Project Management

PRB674348

Timeline Visualization No scroll bar in the Alert Timeline balloon pop up There is no scroll bar in the Alert Timeline balloon pop up. If there are more than 4 alerts, list can only show 3-4 and there is no way to scroll down.
  1. Make sure there are 10 major alerts for a day.
  2. Open Alert Timeline.
  3. Click on the balloon that has the 10 alerts.
Only 3-4 alerts that fit into the screen, and there is no scroll bar.
Reporting

PRB669172

Reporting: grouping by a field with a % in the data causes the drill down to error out with URI Malformed error If you group by a field that has a % in the data and put that data into a bar chart, drilling down into the bar chart that has the % as part of the axis name will cause a URI Malformed error to occur.
  1. Navigate to incident.list.
  2. Filter assigned_to = Beth Anglin.
  3. Modify one of the short descriptions to have a % in it.
  4. Right-click the short description header and click Bar Chart.
  5. Click on the bar for the record where you added the %.
Instead of being taken to that record in a list, nothing happens, and the user gets the URI Malformed error in the browser console.
Service Catalog

PRB649987

PriceGenerator code gets called regardless of Cart Layout settings Many unnecessary calls are being made to the PriceGenerator code for service catalog items, even when their cart layouts are defined to specifically omit the prices. This issue was originally opened as PRB628164 (the GlideappCatalogPriceGenerator gets called unconditionally, even if glide.sc.price.display=never), and the problem was closed. However, the code still demonstrates the same behavior: regardless of whether we display the price or not, we always calculate the price. Catalog items are rendering slowly because of unnecessary function calls that include DB queries.
Service Catalog

PRB668555

KB0584845

SCStaleCacheListener.java causes sys_cache_flush table to bloat, stalling upgrades SCStaleCacheListener listens to inserts/udpates/deletes on the following tables:
  • sys_user
  • sys_user_role
  • sys_user_has_role
SCStaleCacheListener affects user_items_cache and user_categories_cache for every domain in the system, causing sys_cache_flush to have millions of records and stalling upgrades.
Refer to the listed Known Error KB article for details.
Service Catalog

PRB670617

servicecatalog_checkout_view_v2 generates too many requests to sc_layout For a single item in checkout, around 77 queries are generated. All of these queries are identical to the following:
SELECT ... FROM (sc_layout sc_layout0 INNER
JOIN sys_metadata sys_metadata0 ON sc_layout0.`sys_id` = sys_metadata0.`sys_id` )
WHERE sc_layout0.`target` = 'order_status' AND sc_layout0.`active` = 1
When more items are added to checkout, the number of queries also increases.
In a Fuji or Geneva instance:
  1. Ensure that checkout_view_2 is enabled (not 1) and SQL debug is enabled.
  2. Navigate to Service Catalog > Hardware > Apple iPhone 5.
  3. Make sure quantity is set to 1.
  4. Click Add to Cart 10 times (we want 10 separate line items, not a single line item of quantity 10).
  5. Check out and ensure that you are navigated to the UI page servicecatalog_checkout_view_v2.
Instead of the query being made only once, each line item in the checkout view causes 50 - 100 identical queries to sc_layout.
Service Catalog

PRB675472

Explicit Roles plugin activation throws a StackOverFlowError Activating the Explicit Roles plugin throws a StackOverFlowError, leading to unexpected behavior in sys_user_has_roles. This is related to the fix for PRB668555.
  1. Activate Explicit Roles (com.glide.explicit_roles) plugin.
  2. Note the following errors in the localhost logs:
2016-05-04 16:15:44 (628) worker.1 worker.1 SEVERE *** ERROR *** java.lang.StackOverflowError
org.mozilla.javascript.JavaScriptException: java.lang.StackOverflowError
at org.mozilla.javascript.JavaScriptException.wrapException(JavaScriptException.java:94)
at org.mozilla.javascript.NativeJavaMethod.call(NativeJavaMethod.java:301)
at org.mozilla.javascript.ScriptRuntime.call(ScriptRuntime.java:1227)
at org.mozilla.javascript.gen.c4923.call(sys_trigger.80ab4bff9383120057dcdc71967ffb02:1)
at org.mozilla.javascript.gen.c4923.exec(sys_trigger.80ab4bff9383120057dcdc71967ffb02)
at com.glide.script.ScriptEvaluator.execute(ScriptEvaluator.java:233)
at com.glide.script.ScriptEvaluator.evaluateString(ScriptEvaluator.java:105)
at com.glide.script.ScriptEvaluator.evaluateString(ScriptEvaluator.java:72)
at com.glide.script.Evaluator.evaluatePossiblePrefixedString(Evaluator.java:192)
at com.glide.job.RunScriptJob.evaluateScript(RunScriptJob.java:158)
at com.glide.job.RunScriptJob.execute(RunScriptJob.java:84)
at com.glide.schedule.JobExecutor.execute(JobExecutor.java:80)
at com.glide.schedule.GlideScheduleWorker.executeJob(GlideScheduleWorker.java:191)
at com.glide.schedule.GlideScheduleWorker.process(GlideScheduleWorker.java:135)
at com.glide.schedule.GlideScheduleWorker.run(GlideScheduleWorker.java:57)

2016-05-04 16:15:44 (653) worker.1 worker.1 SEVERE *** ERROR *** JavaScript evaluation error on:
GlideSecurityManager.fixDefaultRoles();var jobGR = new GlideRecord('sys_trigger');jobGR.addQuery('name',
'Fix Default Roles on ACLs');jobGR.query();if (jobGR.next()) { gs.print ('Setting the scheduled job for
fixing the default roles to ready state'); jobGR.setValue('state', '0'); jobGR.update();}else
{ gs.print('Scheduled job for fixing the default roles is missing!');}
Root cause of JavaScriptException: java.lang.StackOverflowError

java.lang.StackOverflowError
at com.glide.role_management.RoleManagementHandler.preventDups(RoleManagementHandler.java:560)
at com.glide.role_management.RoleManagementHandler.handleUserHasRole(RoleManagementHandler.java:151)
at com.glide.role_management.RoleManagementHandler.handleDBA(RoleManagementHandler.java:109)
at com.glide.role_management.RoleManagementListener.onExecuteUseInhCount(RoleManagementListener.java:127)
at com.glide.role_management.RoleManagementListener.onExecute(RoleManagementListener.java:91)
at com.glide.db.DBAction.processListeners(DBAction.java:154)
at com.glide.db.DBAction.executeAndReturnException(DBAction.java:171)
at com.glide.script.GlideRecordITable.insert(GlideRecordITable.java:116)
at com.glide.script.GlideRecord.insert(GlideRecord.java:4399)
at com.glide.script.GlideRecord.insert(GlideRecord.java:4330)
at com.glide.sys.security.ContextualSecurityManager.getExplicitRole(ContextualSecurityManager.java:326)
at com.glide.sys.security.ContextualSecurityManager.fixExplicitRoles(ContextualSecurityManager.java:300)
at com.glide.sys.security.ContextualSecurityManager.load(ContextualSecurityManager.java:296)
at com.glide.sys.security.UserRoleResolver.resolveUserRoleForCSM(UserRoleResolver.java:16)
at com.glide.sys.User.loadUserRolesForCSM(User.java:1932)
at com.glide.sys.User.load(User.java:903)
at com.glide.sys.User.loadFromID(User.java:710)
at com.glide.sys.User.getUserByID(User.java:297)
at com.glide.sys.User.getUserByID(User.java:279)
at com.glide.catalog.db.UserItemsCacheableManager.getUserFlushKey(UserItemsCacheableManager.java:43)
at com.glide.catalog.db.UserItemsCacheableManager.getStaleCacheElements(UserItemsCacheableManager.java:82)
at com.glide.catalog.db.StaleUserCacheFinder.getStaleCacheElements(StaleUserCacheFinder.java:34)
at com.snc.application.caching.AbstractStaleCacheListener.getStaleElements(AbstractStaleCacheListener.java:70)
at com.snc.application.caching.AbstractStaleCacheListener.onExecute(AbstractStaleCacheListener.java:53)
at com.glide.db.DBAction.processListeners(DBAction.java:154)
at com.glide.db.DBAction.executeAndReturnException(DBAction.java:171)
at com.glide.script.GlideRecordITable.insert(GlideRecordITable.java:116)
at com.glide.script.GlideRecord.insert(GlideRecord.java:4399)
at com.glide.script.GlideRecord.insert(GlideRecord.java:4330)
at com.glide.sys.security.ContextualSecurityManager.getExplicitRole(ContextualSecurityManager.java:326)
at com.glide.sys.security.ContextualSecurityManager.fixExplicitRoles(ContextualSecurityManager.java:300)
at com.glide.sys.security.ContextualSecurityManager.load(ContextualSecurityManager.java:296)
at com.glide.sys.security.UserRoleResolver.resolveUserRoleForCSM(UserRoleResolver.java:16)
at com.glide.sys.User.loadUserRolesForCSM(User.java:1932)
Service Management Designer

PRB669179

Service Management Core Facilities Service Management - Templates are not usable when changing language If not already installed, install the Facilities Service Management and I18N: French Translations plugins.
  1. Navigate to Facilities > Catalog &amp; Knowledge > Facilities Request Templates.
  2. From the list of Templates, open one of the records.
  3. Set the language to French.
See the page is broken, and several errors are shown on the screen.
Service Mapping

PRB668827

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

PRB669743

Service Mapping selects a wrong default MID Server When defining a default MID Server using mid.server.rba_default, Service Mapping picks up the defined MID as a potential MID, even if that server does not have SM capability.
  1. Define at least 2 MID Servers on an instance (MID1, MID2).
  2. Add SM capability to MID1.
  3. Add an IP range to MID1.
  4. Set MID2 as default MID, using mid.server.rba_default MID parameter.
  5. Create BS with an entry point outside of MID1's range.
Note MID2 is selected for the Discovery task, even though no MID Server should be selected.
Service Mapping

PRB670350

Users cannot scroll in the Service Mapping Discovery log in IE11 When looking at the Discovery log in Service Mapping in IE11, the left pane sometimes lists more patterns than can fit in the window, and there is no scroll bar to move the contents up and down.
Service Mapping

PRB673960

BaseEndpointFullData calls isManualConnection, isTrafficBased even when the source ID is null During the opening of the Discovery log, isManualConnection is called from BaseEndpointFullData with a null source ID. As a result, cmdb_rel_ci is queried with type only, which may cause large result sets in case there are many relations in this table. Calling this method, as well as isTrafficBased, is unnecessary when the source ID is null. They can both be skipped, which will improve performance in some cases. Open the Discovery log. This triggers a call to EndpointFullData with null source and target IDs.
Skills Mgmt / Timecards

PRB647489

KB0584813

Skills Management When adding a member to a group with existing skills, the skills are assigned but with the 'Inherited from' field not set sys_user_grmember Business Rules "Group Member Add - Skills" and "Group Member Delete - Skills" refer to a non-exiting field, "granted_by", in the [sys_user_has_skill] table. As a result, a user removal from any group removes all skills from that user, even if those skills were not granted to the group for which membership is revoked. Failure of "Group Member Delete - Skills"
  1. Activate "Skills Management" plugin with demo data.
  2. Check that beth.anglin is member of Service Desk and Hardware groups.
  3. Grant Skill "Backoffice" to Service Desk group. The user beth.anglin will get the skill.
  4. Grant Skill "Apple Computer" to Hardware group. The user beth.anglin will get the skill.
  5. Remove beth.anglin from Hardware group.
Expected result: User should lose the skill "Apple Computer" only.

Actual: Use loses all skills even granted by group "Service Desk" where he still has membership.

Failure of "Group Member Add - Skills"
  1. Repeat steps 1-5 from above. The starting point is that beth.anglin does NOT have any skills + no membership in "Hardware".
  2. Add beth.anglin to "Hardware".
Expected result: sys_user_has_skill record with "Inherited from" populated as "Hardware" should appear.

Actual: sys_user_has_skill record appears, but with "Inherited from" empty.

SLA

PRB669343

SLA (Service level management), Service Portfolio Management - SLA Commitments, Vendor Ticketing, SLA Timeline Service Offering SLAs only attach if the Service Offering is populated into the Configuration Item field on the associated task If a user has activated the Service Portfolio Management - SLA Commitments plugin, and they follow the instructions for configuring it in the wiki, the Service Offering SLA will only be attached to the incident if the associated Service Offering is populated as the Configuration Item (cmdb_ci) in the associated task record. There is a Service Offering (service_offering) reference field available on the task, but if it used, the Service Offering SLA will not attach.
  1. Activate the Service Portfolio Management - SLA Commitments plugin
  2. Configure the Service Offering SLA, Service Commitment, and Service Offering per the instructions in the wiki.
  3. Personalize the incident form to add the Service Offering field to the form.
  4. Create a new incident which meets the conditions of your Service Offering SLA, and populate the Service Offering field with the Service Offering and save it.
  5. ISSUE: The Service Offering SLA will not be attached as expected.
  6. Now update the incident, and populate the Service Offering into the Configuration Item field (cmdb_ci) and save it.
  7. Your Service Offering SLA will now attach.
Surveys

PRB663237

KB0583970

Assessment Assessments Surveys in Geneva display blank questions if the system property 'glide.ui.escape_text' is missing (no High Security Settings plugin installed) In a Geneva instance, a survey will not show the question labels if the property 'glide.ui.escape_text' is missing, due to the High Security Settings plugin not being previously activated.
  1. Log in to a Geneva instance without the High Security Settings plugin active.
  2. Make sure the property 'glide.ui.escape_text' is not present. Delete the property if needed.
  3. Take an existing survey. Notice the questions text is missing.
UI Policy/Client Script

PRB657182

KB0564274

NG shared components g_form.showFieldMsg does not work with the Activity Formatter in UI16 When the Activity Formatter is on the form, g_form functions are not working for journal fields as expected in Geneva UI16. Example: g_form.showFieldMsg() Refer to the listed Known Error KB article for details.
UI Policy/Client Script

PRB658197

UI action visibility is opposite of expected behavior On a Eureka instance with Oracle, setting UI action visibility to "include" causes the UI action to be hidden from a view. Setting the visibility to "exclude" causes the UI action to show in a view.
  1. Create a new UI Action and make it a list banner button using default settings.
  2. Navigate to the list for the table where you created the UI Action. The button appears in the list.
  3. Go back to the UI action and click Edit in the related list for UI Action Visibility
  4. Select Default View from the list and add it. The default operation is Include.
  5. Go back to the list. The button does not show up. This is opposite from what will happen on a normal Eureka Patch 12 Instance.
  6. Go back to the UI action and change the action visibility to Exclude.
  7. Go back to the list. The button shows up.
User Interface (UI)

PRB603337

GlideDialogForm prevents editing text field on form Triggering a GlideDialogForm via a UI Macro on the incident form prevents the user from editing text fields.
User Interface (UI)

PRB628925

In Fuji, broken image icon (red X) displays in Knowledge Base articles in UI15 with IE9 In Fuji using IE9, a red X (broken image) icon appears next to the Image Search magnifying glass in Knowledge form. This issue does not occur in Chrome, Firefox, or IE10 and later. In a Fuji instance with UI15:
  1. Open an IE9 browser.
  2. Edit an existing Knowledge article or create a new one.
Note that a Red X (or broken image icon) appears between the Image label and magnifying glass icon for adding a KB icon.
User Interface (UI)

PRB641039

KB0564457

Lists v2 When creating a module and entering a sysparm_fixed_query in the Arguments field, user cannot export data from the list after using search headers When creating a module and entering a sysparm_fixed_query in the Arguments field, users cannot export data from the list after using search headers. The sysparm_query is not generated correctly.
User Interface (UI)

PRB657491

Hebrew - export form as PDF shows in LTR When exporting a report to PDF in Hebrew, the content is shown incorrectly from left to right, which makes it impossible to read. It needs to be displayed from right to left.
  1. Navigate to Plugins > install the Hebrew language.
  2. Navigate to a report, open it, and right-click to export it to PDF.
Note the content is incorrectly displayed from left to right.
User Interface (UI)

PRB658590

In Geneva UI15 & UI16, form freezes in IE9 if there are a large number of templates available for the form
User Interface (UI)

PRB659008

User Guide ACL preventing user guide images from rendering for non-admin users The sys_attachment read ACL is preventing images from rendering when a non-admin user views the OOB User Guide. In a Geneva Patch 1 instance as any non-admin user:
  1. Open the User Guide.
  2. Click on any document link. Note that images do not render but appear as broken.
  3. Switch user to admin and repeat steps. Note all images render as expected.
User Interface (UI)

PRB659442

KB0565097

The Related List Loading- > After Form Loads option causes records not to display in related lists in the Default view The System Setting option Related List Loading- > After Form Loads causes records not to display in the related lists (Forms, Form Sections, Lists, Related Lists) in the Default view.
  1. Choose the System Setting option Related List Loading > With the Form.
  2. Navigate to System UI > Views > Open the default view record. The related lists for Forms, Form Sections, Lists, and Related Lists show a list of records.
  3. Choose the System Setting option Related List Loading > After Form Loads.
The related lists for Forms, Form Sections, Lists, and Related Lists do not display any records.
User Interface (UI)

PRB660190

The data field calendar in Hebrew is displaying incorrectly In a Geneva instance:
  1. Install the Hebrew language plugin, and set the language to Hebrew.
  2. Open a new incident record.
  3. Select one date field to choose the date in the widget.
Note the time is showing from right to left, and after selecting the date, the system shows the date/time incorrectly.
User Interface (UI)

PRB660196

Form View: date field calendar in Hebrew is clipped off Open a calendar widget on a Hebrew form.
User Interface (UI)

PRB660267

Tabs in forms need to be in the right side for Hebrew version
  1. Install the Hebrew language.
  2. Add a few related lists to the incident form.
  3. Set the configuration for 'tabbed-form'.
In Hebrew, the tabs should be to the right side.
User Interface (UI)

PRB664597

Angular AMB Services glide.ui.presence.disabled does not turn off some Concourse presence requests
  1. Set property glide.ui.presence.disabled to true.
  2. Go to Concourse.
Note the presence REST requests every 20-30 seconds.
User Interface (UI)

PRB665947

g_form.setValue no longer works on currency fields g_form.setValue no longer works on currency fields. The error 'TypeError: Object doesn't support property or method 'replace' function' will be thrown if it is applied to a currency field.
  1. Make an onChange script on any currency field.
  2. Use g_form.setValue to change the value.
  3. Test the script.
The following node error is thrown:
TypeError: Object doesn't support property
or method 'replace' function.
User Interface (UI)

PRB666123

Unable to use duration fields as part of SLA conditions (caused by already having a duration type field on the form) When adding a 'duration' type field in one of the conditions field of an SLA Definition (e.g. Start condition), although the field to select the comparison is displayed (e.g. is, greater than, not equal), the fields to enter the duration value to compare with are not shown. This only happens for UI15 (i.e. system property 'glide.ui.doctype' is true) and appears to be related to there being a 'duration' type field already on the form.
  1. Create a new SLA Definition ('contract_sla' table) and choose Incident in the table field.
  2. In Start Condition, add a new condition and select field name Time worked (which is a duration field). No additional fields are displayed to allow you to enter the duration value for that condition.
  3. Configure the form layout and remove the Duration field from the form.
  4. Repeat step 2. The fields to enter the duration value will be shown as expected.
User Interface (UI)

PRB668587

Vertical scroll bars are deactivated when navigator and banner are not present in IE11 In a Geneva instance using UI16:
  1. Navigate to a list of records (e.g. incident).
  2. Open a record so that just the content frame is displayed.
  3. Try to scroll vertically on the form by clicking on the scroll bar on the right hand side of the display.
Notice that the scroll bar is visible, but it is deactivated. However, vertical scrolling can be achieved by using a mouse scroll wheel or a tactile touchpad.
User Interface (UI)

PRB671263

Validation from data policy does not work if you are using a guided task board on a parent table, and the data policy is looking at a field from a child table In an OOB instance:
  1. Navigate to an Incident form > Configure Form Layout.
  2. Create a new Field "Test style" and add it on the form. Save.
  3. Create a data policy on Incident table using the field you created in step 2. For example:
    • Condition: State is 'Closed' or 'Resolved'
    • "Test Style" = Mandatory
  4. Navigate to task.list. Make a filter where Task Type is Incident.
  5. Right-click on the State column > Show Visual Task Board.
  6. Move an Incident card to Resolved or Closed state.
Observe that the move fails, and in Geneva, you do not receive the popup message from the data policy.
User Interface (UI)

PRB673069

NG shared components Presence indicator missing on navpage header if Connect is not enabled Customers who have UI16 enabled but NOT Connect will not see the presence indicator in the nav page header. This only affects the user's avatar in the navpage header.
  1. Upgrade an instance from Fuji to Geneva OR remove the Connect entry in sys_plugins.
  2. Ensure presence is enabled.
  3. Load the navpage.
Notice the green dot is missing. You should still see presence on VTB and on the form activity stream.
Web Services

PRB673025

KB0584795

REST API Provider Following upgrade to Geneva, REST quota rules are added to instances that do not already have any Instances that upgrade to Fuji and then to Geneva receive REST quota rules intended only for instances created on Fuji or later. Refer to the listed Known Error KB article for details.
Workflow

PRB667571

Financial Management, Contract Management com.snc.contract_management wf_workflow_version is overruling the current published workflow version When an instance is upgraded from an earlier version to Geneva, the 'Contract Approval' workflow is being updated with a workflow version that overrules the currently set published version. In a Fuji instance:
  1. Make some updates to the Contract Approval' workflow and publish it.
  2. Upgrade the instance to Geneva.

Other Geneva Patch 7 information

Add a Java keystore for SAML

Starting with Geneva Patch 7, the glide.authenticate.sso.saml2.keystore property uses your configured key store if you upgrade from a version prior to the Geneva release. Prior to the Geneva Patch 7, this property kept the default value upon upgrade, regardless of any changes you made.

Fixes included with Geneva Patch 7

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