Loading...
Loading...
The RITM related lists are not showing, with the error "Cannot read properties of undefined (reading 'getElementsByTagName')" when configuring a related list. The catalogue task list is incomplete, Show Workflow is not working with the error "g_navigation is not defined". The User reference icon is not working with the error "g_user is not defined". Also the catalogue task in list view can not be edited. Non-admin users who can read records from kb_knowledge are unable to read dot-walked fields from a Reference to kb_knowledge due to current.isValidRecord() in the ACL. If a table has a reference field to the [kb_knowledge] table, in the list view, the dot-walked fields from kb_knowledge will show as empty to non-admin users. This is due to the out-of-box read ACL (sys_id=65bbd9bcd71221004792a1737e610389) failing on kb_knowledge, even if the non-admin user can view that KB article, for the different behavior of current.isValidRecord(), returning true. Steps to Reproduce 1. Login as an ITIL user. 2. Open a kb_feedback list view where dot-walked fields are in the list layout, such as kb_knowledge.short_description, kb_knowledge.topic. ITIL users can not see the article short description and topic, even if they can fully view the KB article. 3. Open a RITM record. In the Catalog task list view, the dot-walked fields from the sc_task to sc_req_item like the stage field appear empty, even though users are granted to view. The below error is seen in the localhost log: log16:43:21.336 Field sc_req_item.cat_item unavailable; set property glide.script.partial_record_materializer.enabled=true to enable automatic querying to fetch the field log16:43:21.339 null:4310:2203: <g2:list_item_text> java.lang.NullPointerException: java.lang.NullPointerException: com.glideapp.workflow.stages.WorkflowStagesProvider.getLabel(WorkflowStagesProvider.java:51) com.glide.stages.GlideElementWorkflow.getDisplayValue(GlideElementWorkflow.java:28) com.glide.script.GlideElement.getDisplayValue(GlideElement.java:1219) com.glide.script.GlideElement.getHTMLValue(GlideElement.java:1202) com.glide.ui.jelly.tags.ListItemTextTag2.getTargetText(ListItemTextTag2.java:38) com.glide.ui.jelly.tags.ListItemTextTag2.doTag(ListItemTextTag2.java:28) org.apache.commons.jelly.impl.CustomTagScript.run(CustomTagScript.java:205) org.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java:146) org.apache.commons.jelly.TagSupport.invokeBody(TagSupport.java:235) org.apache.commons.jelly.tags.core.IfTag.doTag(IfTag.java:88) org.apache.commons.jelly.impl.CustomTagScript.run(CustomTagScript.java:205) org.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java:146) org.apache.commons.jelly.impl.StaticTagScript.run(StaticTagScript.java:66) org.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java:146) org.apache.commons.jelly.TagSupport.invokeBody(TagSupport.java:235) com.glide.ui.jelly.tags.mergedata.ForEachRecordTag2.doTag(ForEachRecordTag2.java:113) org.apache.commons.jelly.impl.CustomTagScript.run(CustomTagScript.java:205) org.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java:146) org.apache.commons.jelly.impl.StaticTagScript.run(StaticTagScript.java:66) org.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java:146) org.apache.commons.jelly.TagSupport.invokeBody(TagSupport.java:235) org.apache.commons.jelly.tags.core.IfTag.doTag(IfTag.java:88) org.apache.commons.jelly.impl.CustomTagScript.run(CustomTagScript.java:205) org.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java:146) org.apache.commons.jelly.impl.StaticTagScript.run(StaticTagScript.java:66) org.apache.commons.jelly.TagSupport.invokeBody(TagSupport.java:235) org.apache.commons.jelly.tags.core.IfTag.doTag(IfTag.java:88) org.apache.commons.jelly.impl.CustomTagScript.run(CustomTagScript.java:205) org.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java:146) org.apache.commons.jelly.impl.StaticTagScript.run(StaticTagScript.java:66) org.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java:146) org.apache.commons.jelly.impl.StaticTagScript.run(StaticTagScript.java:66) org.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java:146) org.apache.commons.jelly.impl.StaticTagScript.run(StaticTagScript.java:66) org.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java:146) org.apache.commons.jelly.impl.StaticTagScript.run(StaticTagScript.java:66) org.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java:146) org.apache.commons.jelly.impl.StaticTagScript.run(StaticTagScript.java:66) org.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java:146) org.apache.commons.jelly.TagSupport.invokeBody(TagSupport.java:235) org.apache.commons.jelly.tags.core.IfTag.doTag(IfTag.java:88) org.apache.commons.jelly.impl.CustomTagScript.run(CustomTagScript.java:205) org.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java:146) org.apache.commons.jelly.TagSupport.invokeBody(TagSupport.java:235) com.glide.list_v2.ListRecordDefaultTag.doTag(ListRecordDefaultTag.java:105) org.apache.commons.jelly.impl.CustomTagScript.run(CustomTagScript.java:205) org.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java:146) org.apache.commons.jelly.TagSupport.invokeBody(TagSupport.java:235) org.apache.commons.jelly.tags.core.IfTag.doTag(IfTag.java:88) org.apache.commons.jelly.impl.CustomTagScript.run(CustomTagScript.java:205) org.apache.commons.jelly.impl.StaticTagScript.run(StaticTagScript.java:66) org.apache.commons.jelly.impl.StaticTagScript.run(StaticTagScript.java:66) org.apache.commons.jelly.TagSupport.invokeBody(TagSupport.java:235) org.apache.commons.jelly.tags.core.IfTag.doTag(IfTag.java:88) org.apache.commons.jelly.impl.CustomTagScript.run(CustomTagScript.java:205) org.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java:146) org.apache.commons.jelly.TagSupport.invokeBody(TagSupport.java:235) org.apache.commons.jelly.tags.core.IfTag.doTag(IfTag.java:88) org.apache.commons.jelly.impl.CustomTagScript.run(CustomTagScript.java:205) org.apache.commons.jelly.TagSupport.invokeBody(TagSupport.java:235) org.apache.commons.jelly.tags.core.IfTag.doTag(IfTag.java:88) org.apache.commons.jelly.impl.CustomTagScript.run(CustomTagScript.java:205) org.apache.commons.jelly.TagSupport.invokeBody(TagSupport.java:235) org.apache.commons.jelly.tags.core.IfTag.doTag(IfTag.java:88) org.apache.commons.jelly.impl.CustomTagScript.run(CustomTagScript.java:205) org.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java:146) org.apache.commons.jelly.TagSupport.invokeBody(TagSupport.java:235) com.glide.ui.jelly.tags.FileinfoTag2.doTag(FileinfoTag2.java:44) org.apache.commons.jelly.impl.CustomTagScript.run(CustomTagScript.java:205) org.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java:146) org.apache.commons.jelly.impl.StaticTagScript.run(StaticTagScript.java:66) org.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java:146) org.apache.commons.jelly.TagSupport.invokeBody(TagSupport.java:235) com.glide.ui.jelly.tags.mergedata.WithTag2.executeBody(WithTag2.java:147) com.glide.ui.jelly.tags.mergedata.WithTag2.doTag(WithTag2.java:114) org.apache.commons.jelly.impl.CustomTagScript.run(CustomTagScript.java:205) org.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java:146) org.apache.commons.jelly.TagSupport.invokeBody(TagSupport.java:235) com.glide.ui.jelly.tags.FileinfoTag2.doTag(FileinfoTag2.java:44) org.apache.commons.jelly.impl.CustomTagScript.run(CustomTagScript.java:205) org.apache.commons.jelly.TagSupport.invokeBody(TagSupport.java:235) org.apache.commons.jelly.tags.core.JellyTag.doTag(JellyTag.java:84) org.apache.commons.jelly.impl.CustomTagScript.run(CustomTagScript.java:205) org.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java:146) org.apache.commons.jelly.TagSupport.invokeBody(TagSupport.java:235) com.glide.ui.jelly.tags.FileinfoTag2.doTag(FileinfoTag2.java:44) org.apache.commons.jelly.impl.CustomTagScript.run(CustomTagScript.java:205) org.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java:146) org.apache.commons.jelly.impl.StaticTagScript.run(StaticTagScript.java:66) org.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java:146) org.apache.commons.jelly.impl.StaticTagScript.run(StaticTagScript.java:66) org.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java:146) org.apache.commons.jelly.TagSupport.invokeBody(TagSupport.java:235) com.glide.ui.jelly.tags.FileinfoTag2.doTag(FileinfoTag2.java:44) org.apache.commons.jelly.impl.CustomTagScript.run(CustomTagScript.java:205) org.apache.commons.jelly.TagSupport.invokeBody(TagSupport.java:235) org.apache.commons.jelly.tags.core.JellyTag.doTag(JellyTag.java:84) org.apache.commons.jelly.impl.CustomTagScript.run(CustomTagScript.java:205) com.glide.ui.jelly.GlideJellyContext.run(GlideJellyContext.java:723) com.glide.ui.jelly.GlideJellyContext.executeCompiledScript(GlideJellyContext.java:956) com.glide.ui.jelly.GlideJellyContext.runScript(GlideJellyContext.java:804) com.glide.ui.jelly.GlideJellyContext.runScript(GlideJellyContext.java:762) com.glide.ui.GlideFormPhase2.generate(GlideFormPhase2.java:49) com.glide.ui.GlideForm.generatePopulatedForm(GlideForm.java:721) com.glide.ui.GlideForm.generatePopulatedForm(GlideForm.java:696) com.glide.ui.GlideForm.populateForm(GlideForm.java:688) com.glide.ui.GlideForm.getRenderedPage(GlideForm.java:233) com.glide.ui.NavigationTransaction.writeOutput(NavigationTransaction.java:157) com.glide.ui.NavigationTransaction.process(NavigationTransaction.java:128) com.glide.ui.GlideServletUITransaction.process(GlideServletUITransaction.java:121) com.glide.processors.AProcessor.runProcessor(AProcessor.java:612) com.glide.processors.AProcessor.processTransaction(AProcessor.java:274) com.glide.processors.ProcessorRegistry.process0(ProcessorRegistry.java:184) com.glide.processors.ProcessorRegistry.process(ProcessorRegistry.java:172) com.glide.ui.GlideServletTransaction.process(GlideServletTransaction.java:46) com.glide.sys.Transaction.run(Transaction.java:2468) com.glide.ui.HTTPTransaction.run(HTTPTransaction.java:27) java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) java.base/java.lang.Thread.run(Thread.java:834)
This problem is fixed in all currently supported releases. Review the Fixed In section to determine the latest version with a permanent fix your instance can be upgraded to. NOTE: For upgraded instances to enable the fix, set to true the system property glide.script.partial_record_materializer.enabled. Test the property change in sub-prod instances before enabling in production, as there may be a slight performance degradation after enabling. This property allows the materialization of partial records, which are GlideRecord objects that present unresolved columns for their stored data rows. Partial GlideRecords are created when joins to another table are done with only part of the target table row is returned. On the platform this shows as a dot-walked table normally specified by the user via the UI.
PRB1329985
Click on a version to see all relevant bugs
ServiceNow Integration
Learn more about where this data comes from
Bug Scrub Advisor
Streamline upgrades with automated vendor bug scrubs
BugZero Enterprise
Wish you caught this bug sooner? Get proactive today.