SDA SE Wiki

Software Engineering for Smart Data Analytics & Smart Data Analytics for Software Engineering

User Tools

Site Tools


Bugs


"Source Code Linking" Storybook

"Show Editor selection in Factbase Inspector" does not work

At least it didn't work for the client / there is not intuitive way how to get it running.

"Show in Editor" Erroneous Error Message for External Classes

The error message that appears when trying to open from the console an external class such as java.lang.Class.EnclosingMethodInfo in the Java editor is misworded:

Here is a suggestion for a quick fix:

“There is no source code location for the abstract syntax tree node with id '37457' in class '…'. The element is either available as byte code only or it has been generated by a JTransformer transformation or by the Java compiler (e.g. for an implicit default constructor).”

HOowever, instead of rewording the error message the preferred solution is to integrate the same logic as the one used in the Factbase Inspector:!: Depending on the source code linking and transformation status of the node

  • show the original source code in the editor (if unchanged and with source code connection), or
  • show the side-by side-comparison (for transformed nodes with source code connection) or
  • say that there is no source code because the element is part of code automatically generated by the Java compiler (e.g. for implicit default constructors).

"Factbase Inspection" Storybook

Reference to ancestor is not displayed

A reference that points to an ancestor is not displayed. The view is scrolled up to the highest displayed ancestor, but the one that should be displayed isn't (if it is even higher above).

FIX:

  1. Always open a new inspector!
  2. Add a preference toggle to the toolbar that lets you switch from the “Open References in New Inspector” to “Open References Inline” behaviour.
  3. Implement the “Open reference inline” by displaying the reference like a child of the node (so that they can be expanded like children) but group references in a pseudo node “REFERENCES” (as done for the “Unreferenced Children”). Place this group at the end.

Error Markers for Nodes in Inspector

Fixed: It's a feature, not a bug!

"Factbase Management" Storybook

Import and Export - Misworded explanation text

Import - No way to name process

When importing a qlf file it is not possible to type in the name of a new process. (see also comments in previous screenshot above)

When importing a qlf file it is not possible to type in the name of a new process

No Factbase Creation for Imported Project

If a project imported to the workspace already has the JTransformer nature, JT does not create a factbase. All the factbase selectors show “( nothing to select )”.

This behaviour persists even if one opens a prolog console and chooses explicitly the right process.

Remove JT nature error message in spite of actual removal

The following appears for the imported JHotDraw project although the nature is actually removed.

Remove JT nature error message appears in spite of effective removal

"Factbase Statistics" Storybook

No Feedback during long actions

Selecting “source only” or “byte code only” has no immediately visible reaction. Updating the display takes 10 seconds without displaying a progress bar or any other feedback.

→ make it faster or display progress bar.

Clicking on a Program Element Type blocks the GUI for seconds

Any cklick on the PET selector blocks the GUI for a (too) long time.

→ Find out what the problem is (PRolog, transfer of results from prolog, your own code, the Graph view) and make it faster!

Unhandled Event loop Exception

… when changing the selection from source only to source and bytecode:

org.eclipse.swt.SWTException: Widget is disposed
	at org.eclipse.swt.SWT.error(SWT.java:3563)
	at org.eclipse.swt.SWT.error(SWT.java:3481)
	at org.eclipse.swt.SWT.error(SWT.java:3452)
	at org.eclipse.swt.widgets.Widget.error(Widget.java:432)
	at org.eclipse.swt.widgets.Widget.checkWidget(Widget.java:325)
	at org.eclipse.swt.widgets.TabFolder.getSelectionIndex(TabFolder.java:421)
	at org.cs3.jtransformer.factbasevisualizer.FactTypeChooserDialog.getCurrentlyActiveTab(FactTypeChooserDialog.java:141)
	at org.cs3.jtransformer.factbasevisualizer.FactTypeChooserDialog.refreshScrollContainer(FactTypeChooserDialog.java:336)
	at org.cs3.jtransformer.factbasevisualizer.JTransformerFactbaseView$FactTypeChooserAction.updateDialog(JTransformerFactbaseView.java:261)
	at org.cs3.jtransformer.factbasevisualizer.JTransformerFactbaseView.updateChart(JTransformerFactbaseView.java:339)
	at org.cs3.jtransformer.factbasevisualizer.JTransformerFactbaseView$6.widgetSelected(JTransformerFactbaseView.java:515)
	at org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:227)
	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:3682)
	at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3293)
	at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:2389)
	at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2353)
	at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:2219)
	at org.eclipse.ui.internal.Workbench$4.run(Workbench.java:466)
	at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:289)
	at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:461)
	at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149)
	at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:106)
	at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:169)
	at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:106)
	at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:76)
	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:363)
	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:176)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
	at java.lang.reflect.Method.invoke(Unknown Source)
	at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:508)
	at org.eclipse.equinox.launcher.Main.basicRun(Main.java:447)
	at org.eclipse.equinox.launcher.Main.run(Main.java:1173)
	at org.eclipse.equinox.launcher.Main.main(Main.java:1148)

teaching/labs/xp/2008a/bugs.txt · Last modified: 2018/05/09 01:59 (external edit)

SEWiki, © 2020