| Summary: | Error while viewing the log parsers list in categorized hierarchial view | ||
|---|---|---|---|
| Product: | z_Archived | Reporter: | Ajay Garga Rengasayee <ajay_garga> |
| Component: | TPTP.monitoring | Assignee: | Liz Dancy <lizdancy> |
| Status: | CLOSED FIXED | QA Contact: | |
| Severity: | major | ||
| Priority: | P1 | CC: | apnan, ewchan |
| Version: | unspecified | Keywords: | plan |
| Target Milestone: | --- | ||
| Hardware: | PC | ||
| OS: | Windows Vista | ||
| Whiteboard: | closed460 | ||
Liz, this is a regression that was introduced in the fix for https://bugs.eclipse.org/bugs/show_bug.cgi?id=153758. Please note that LogParserSets can also have log parser sets as children, not only log parser items. The code is failing in the test case Monitor.UI.ImportLog.ParserSets.Create_log_parser_sets at line: Object items[] = sortedChildren.toArray(new LogParserItem[sortedChildren.size()]); since the children are log parser sets. Please look into this problem. Thanks. Need to re-target to i3 due to time and resource constraints. That said, I have a preliminary patch which I will attach once I have thoroughly tested it. Let me know if there are any concerns. Liz I also have a defect that is related to this one https://bugs.eclipse.org/bugs/show_bug.cgi?id=179008 and I'm gonna have to take a look at how the displaying and filtering in the parser types view are done. I'll try to look into it this week, but cannot promise. Since the two problems are related we can actually fix 179008 by providing a proper solution for the current defect. 179008 is unfortunaltely a regression too, the function used to work in 4.2. This problem was fixed as part of 179008, please mark the defect as fixed. Thanks to Alex's fix for 179008 this has been resolved. As of TPTP 4.6.0, TPTP is in maintenance mode and focusing on improving quality by resolving relevant enhancements/defects and increasing test coverage through test creation, automation, Build Verification Tests (BVTs), and expanded run-time execution. As part of the TPTP Bugzilla housecleaning process (see http://wiki.eclipse.org/Bugzilla_Housecleaning_Processes), this enhancement/defect is verified/closed by the Project Lead since this enhancement/defect has been resolved and unverified for more than 1 year and considered to be fixed. If this enhancement/defect is still unresolved and reproducible in the latest TPTP release (http://www.eclipse.org/tptp/home/downloads/), please re-open. |
Build ID: Build id: I20070123-1715 Steps To Reproduce: TPTP Build id : TPTP-4.4.0-200702050100 IBM JDK : 1.5 SR1 Pltaform : Windows Vista (reproducible in Windows XP SP2 also) Steps: 1. In the plugin.xml of the plugin org.eclipse.hyades.logging.parsers plugin replace all the parser set and parser contributions with the following: <!-- Log Parser sets --> <extension point="org.eclipse.hyades.logging.parsers.logParserSet"> <logParserSet id="org.eclipse.hyades.logging.parsers.tptpLogParserSet" label="TPTP" icon="./icons/full/obj16/apache_parser_obj.gif" description="TPTP Log Parsers"/> </extension> <extension point="org.eclipse.hyades.logging.parsers.logParserSet"> <logParserSet id="org.eclipse.hyades.logging.parsers.apacheLogParserSet" label="Apache" parentId="org.eclipse.hyades.logging.parsers.tptpLogParserSet" icon="./icons/full/obj16/apache_parser_obj.gif" description="Parsers for Apache logs"/> </extension> <extension point="org.eclipse.hyades.logging.parsers.logParserSet"> <logParserSet id="org.eclipse.hyades.logging.parsers.microsoftLogParserSet" label="Microsoft" parentId="org.eclipse.hyades.logging.parsers.tptpLogParserSet" icon="./icons/full/obj16/apache_parser_obj.gif" description="Parsers for Microsoft log types"/> </extension> <!-- Apache Access Log Parser extension point --> <extension point="org.eclipse.hyades.logging.parsers.logParser"> <parser name="%STR_APACHE_ACCESS_LOG_IMPORT_NAME" icon="./icons/full/obj16/apache_parser_obj.gif" description="%STR_APACHE_ACCESS_LOG_IMPORT_DESCRIPTION" class="org.eclipse.hyades.logging.adapter.config.StaticParserWrapper" ui_name="%STR_APACHE_ACCESS_LOG_IMPORT_NAME" id="org.eclipse.hyades.logging.parsers.ApacheAccessLogParser" parserSetId="org.eclipse.hyades.logging.parsers.apacheLogParserSet"> <field useBrowse="true" defaultValue="" name="%STR_APACHE_ACCESS_LOG_IMPORT_FILE_PATH" helpContextId="" tooltip="%STR_APACHE_ACCESS_LOG_IMPORT_FILE_PATH_TOOLTIP" id="file_path" browseType="*.log"> </field> <field useBrowse="false" defaultValue="1.3.20(static),1.3.26(static),2.0(static),1.3.x(rules),2.0.x(rules)" name="%STR_APACHE_ACCESS_LOG_IMPORT_APACHE_VERSION" helpContextId="" tooltip="%STR_APACHE_ACCESS_LOG_IMPORT_APACHE_VERSION_TOOLTIP" ui_type="combobox" id="version"> </field> <!-- Config file lookup based on the selected version above --> <parserParameter name="1.3.x(rules)" value="./Apache/access/v1.3.26/regex.adapter"> </parserParameter> <parserParameter name="2.0.x(rules)" value="./Apache/access/v1.3.26/regex.adapter"> </parserParameter> <!-- Default should be defined in case a match cannot be found --> <parserParameter name="Default" value="./Apache/access/v1.3.26/static.adapter"> </parserParameter> </parser> </extension> <!-- Apache Error Log Parser extension point --> <extension point="org.eclipse.hyades.logging.parsers.logParser"> <parser name="%STR_APACHE_ERR_LOG_IMPORT_NAME" icon="./icons/full/obj16/apache_parser_obj.gif" description="%STR_APACHE_ERR_LOG_IMPORT_DESCRIPTION" class="org.eclipse.hyades.logging.adapter.config.StaticParserWrapper" ui_name="%STR_APACHE_ERR_LOG_IMPORT_NAME" id="org.eclipse.hyades.logging.parsers.ApacheErrorLogParser" parserSetId="org.eclipse.hyades.logging.parsers.apacheLogParserSet"> <field useBrowse="true" defaultValue="" name="%STR_APACHE_ERR_LOG_IMPORT_FILE_PATH" helpContextId="" tooltip="%STR_APACHE_ERR_LOG_IMPORT_FILE_PATH_TOOLTIP" id="file_path" browseType="*.log"> </field> <field useBrowse="false" defaultValue="1.3.20(static),1.3.26(static),2.0(static),1.3.x(rules),2.0.x(rules)" name="%STR_APACHE_ERR_LOG_IMPORT_APACHE_VERSION" helpContextId="" tooltip="%STR_APACHE_ERR_LOG_IMPORT_APACHE_VERSION_TOOLTIP" ui_type="combobox" id="version"> </field> <!-- Config file lookup based on the selected version above --> <parserParameter name="1.3.x(rules)" value="./Apache/error/v1.3.26/regex.adapter"> </parserParameter> <parserParameter name="2.0.x(rules)" value="./Apache/error/v1.3.26/regex.adapter"> </parserParameter> <!-- Default should be defined in case a match cannot be found --> <parserParameter name="Default" value="./Apache/error/v1.3.26/static.adapter"> </parserParameter> </parser> </extension> <!-- Common Base Event XML Log Parser extension point --> <extension point="org.eclipse.hyades.logging.parsers.logParser"> <parser name="%STR_CBE_XML_LOG_IMPORT_NAME" icon="./icons/full/obj16/cbe_xml_parser_obj.gif" description="%STR_CBE_XML_LOG_IMPORT_DESCRIPTION" class="org.eclipse.hyades.logging.adapter.config.StaticParserWrapper" ui_name="%STR_CBE_XML_LOG_IMPORT_NAME" id="org.eclipse.hyades.logging.parsers.CommonBaseEventXMLLogParser" parserSetId="org.eclipse.hyades.logging.parsers.tptpLogParserSet"> <field useBrowse="true" defaultValue="" name="%STR_CBE_XML_LOG_IMPORT_FILE_PATH" helpContextId="" tooltip="%STR_CBE_XML_LOG_IMPORT_FILE_PATH_TOOLTIP" id="file_path" browseType="*"> </field> <field useBrowse="false" defaultValue="1.0.1(rules)" name="%STR_CBE_XML_LOG_IMPORT_APACHE_VERSION" helpContextId="" tooltip="%STR_CBE_XML_LOG_IMPORT_APACHE_VERSION_TOOLTIP" ui_type="combobox" id="version"> </field> <!-- Default should be defined in case a match cannot be found --> <!-- Config file lookup based on the selected version above --> <parserParameter name="Default" value="./XML/CommonBaseEvent/v1.0.1/regex.adapter"> </parserParameter> </parser> </extension> <!-- Microsoft Windows application log parser extension point --> <extension point="org.eclipse.hyades.logging.parsers.logParser"> <parser name="%STR_WINDOWS_APPLICATION_LOG_IMPORT_NAME" icon="./icons/full/obj16/log_parser_obj.gif" description="%STR_WINDOWS_APPLICATION_LOG_IMPORT_DESCRIPTION" class="org.eclipse.hyades.logging.adapter.config.StaticParserWrapper" ui_name="%STR_WINDOWS_APPLICATION_LOG_IMPORT_NAME" id="org.eclipse.hyades.logging.parsers.WindowsApplicationLogParser" parserSetId="org.eclipse.hyades.logging.parsers.microsoftLogParserSet"> <field useBrowse="false" defaultValue="%STR_WINDOWS_ALL" name="%STR_WINDOWS_OPERATING_SYSTEM_VERSION" helpContextId="" tooltip="%STR_WINDOWS_APPLICATION_LOG_IMPORT_VERSION_TOOLTIP" ui_type="combobox" id="version"> </field> <!-- Default should be defined in case a match cannot be found --> <!-- Config file lookup based on the selected version above --> <parserParameter name="Default" value="./Windows/application/regex.adapter"> </parserParameter> </parser> </extension> <!-- Microsoft Windows security log parser extension point --> <extension point="org.eclipse.hyades.logging.parsers.logParser"> <parser name="%STR_WINDOWS_SECURITY_LOG_IMPORT_NAME" icon="./icons/full/obj16/log_parser_obj.gif" description="%STR_WINDOWS_SECURITY_LOG_IMPORT_DESCRIPTION" class="org.eclipse.hyades.logging.adapter.config.StaticParserWrapper" ui_name="%STR_WINDOWS_SECURITY_LOG_IMPORT_NAME" id="org.eclipse.hyades.logging.parsers.WindowsSecurityLogParser" parserSetId="org.eclipse.hyades.logging.parsers.microsoftLogParserSet"> <field useBrowse="false" defaultValue="%STR_WINDOWS_ALL" name="%STR_WINDOWS_OPERATING_SYSTEM_VERSION" helpContextId="" tooltip="%STR_WINDOWS_SECURITY_LOG_IMPORT_VERSION_TOOLTIP" ui_type="combobox" id="version"> </field> <!-- Default should be defined in case a match cannot be found --> <!-- Config file lookup based on the selected version above --> <parserParameter name="Default" value="./Windows/security/regex.adapter"> </parserParameter> </parser> </extension> <!-- Microsoft Windows system log parser extension point --> <extension point="org.eclipse.hyades.logging.parsers.logParser"> <parser name="%STR_WINDOWS_SYSTEM_LOG_IMPORT_NAME" icon="./icons/full/obj16/log_parser_obj.gif" description="%STR_WINDOWS_SYSTEM_LOG_IMPORT_DESCRIPTION" class="org.eclipse.hyades.logging.adapter.config.StaticParserWrapper" ui_name="%STR_WINDOWS_SYSTEM_LOG_IMPORT_NAME" id="org.eclipse.hyades.logging.parsers.WindowsSystemLogParser" parserSetId="org.eclipse.hyades.logging.parsers.microsoftLogParserSet"> <field useBrowse="false" defaultValue="%STR_WINDOWS_ALL" name="%STR_WINDOWS_OPERATING_SYSTEM_VERSION" helpContextId="" tooltip="%STR_WINDOWS_SYSTEM_LOG_IMPORT_VERSION_TOOLTIP" ui_type="combobox" id="version"> </field> <!-- Default should be defined in case a match cannot be found --> <!-- Config file lookup based on the selected version above --> <parserParameter name="Default" value="./Windows/system/regex.adapter"> </parserParameter> </parser> </extension> 2. Launch the workbench with the -clean option and and launch the Import Log wizard, i.e.File->Import->Log File. 3. In the wizard's main page click on "Add..." to add a new log element. The "Add Log File" dialog opens. 4. Click on the "Show categories" check box Actual result: Error occurs. Excpected result : The following categories(log parser sets) and log types (log parsers) are displayed in the "Log types" tree: TPTP - root category Apache - child of TPTP Microsoft - child of TPTP CBE XML log type will be displayed as a child of TPTP Apache access and errror log types are displayed as children of the Apache category Microsoft log types are displayed as children of the Microsoft category. More information: Error logged in the Eclipse .log: !ENTRY org.eclipse.ui 4 0 2007-02-13 15:40:56.705 !MESSAGE Unhandled event loop exception !STACK 0 org.eclipse.swt.SWTException: Failed to execute runnable (java.lang.ArrayStoreException) at org.eclipse.swt.SWT.error(SWT.java:3450) at org.eclipse.swt.SWT.error(SWT.java:3373) at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:126) at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:3442) at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3082) at org.eclipse.jface.window.Window.runEventLoop(Window.java:820) at org.eclipse.jface.window.Window.open(Window.java:796) at org.eclipse.tptp.monitoring.logui.internal.wizards.ImportLogWizardPage.widgetSelected(ImportLogWizardPage.java:805) at org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:215) at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:66) at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:938) at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:3465) at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3079) at org.eclipse.jface.window.Window.runEventLoop(Window.java:820) at org.eclipse.jface.window.Window.open(Window.java:796) at org.eclipse.ui.actions.ImportResourcesAction.run(ImportResourcesAction.java:159) at org.eclipse.ui.actions.BaseSelectionListenerAction.runWithEvent(BaseSelectionListenerAction.java:168) at org.eclipse.jface.action.ActionContributionItem.handleWidgetSelection(ActionContributionItem.java:545) at org.eclipse.jface.action.ActionContributionItem.access$2(ActionContributionItem.java:490) at org.eclipse.jface.action.ActionContributionItem$5.handleEvent(ActionContributionItem.java:402) at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:66) at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:938) at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:3465) at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3079) at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:2083) at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2047) at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:449) at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149) at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:101) at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:145) at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:104) at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:74) at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:354) at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:170) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:64) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:615) at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:476) at org.eclipse.equinox.launcher.Main.basicRun(Main.java:416) at org.eclipse.equinox.launcher.Main.run(Main.java:1124) at org.eclipse.equinox.launcher.Main.main(Main.java:1099) Caused by: java.lang.ArrayStoreException at java.util.ArrayList.toArray(ArrayList.java:330) at org.eclipse.tptp.monitoring.logui.internal.wizards.LogParserUI$LogParserUIContentProvider.getChildren(LogParserUI.java:600) at org.eclipse.tptp.monitoring.logui.internal.wizards.LogParserUI$LogParserUIContentProvider.getElements(LogParserUI.java:678) at org.eclipse.jface.viewers.StructuredViewer.getRawChildren(StructuredViewer.java:936) at org.eclipse.jface.viewers.AbstractTreeViewer.getRawChildren(AbstractTreeViewer.java:1262) at org.eclipse.jface.viewers.TreeViewer.getRawChildren(TreeViewer.java:394) at org.eclipse.jface.viewers.AbstractTreeViewer.getFilteredChildren(AbstractTreeViewer.java:615) at org.eclipse.jface.viewers.AbstractTreeViewer.getSortedChildren(AbstractTreeViewer.java:581) at org.eclipse.jface.viewers.AbstractTreeViewer.updateChildren(AbstractTreeViewer.java:2489) at org.eclipse.jface.viewers.AbstractTreeViewer.internalRefreshStruct(AbstractTreeViewer.java:1789) at org.eclipse.jface.viewers.TreeViewer.internalRefreshStruct(TreeViewer.java:592) at org.eclipse.jface.viewers.AbstractTreeViewer.internalRefresh(AbstractTreeViewer.java:1764) at org.eclipse.jface.viewers.AbstractTreeViewer.internalRefresh(AbstractTreeViewer.java:1720) at org.eclipse.jface.viewers.StructuredViewer$8.run(StructuredViewer.java:1424) at org.eclipse.jface.viewers.StructuredViewer.preservingSelection(StructuredViewer.java:1332) at org.eclipse.jface.viewers.StructuredViewer.refresh(StructuredViewer.java:1422) at org.eclipse.jface.viewers.StructuredViewer.refresh(StructuredViewer.java:1379) at org.eclipse.tptp.monitoring.logui.internal.wizards.LogParserUI$8.runInUIThread(LogParserUI.java:406) at org.eclipse.ui.progress.UIJob$1.run(UIJob.java:94) at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:35) at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:123) ... 39 more