Ticket #10 (closed defect: fixed)

Opened 6 months ago

Last modified 3 months ago

Show Annotations & Show File's Repository History & Pull => Exceptions

Reported by: qoo-ooq@… Owned by: whit
Priority: major Keywords:
Cc:

Description

Quick Diff is now free of Exceptions or Error Messages.

Show Annotatiosn produces java.lang.NullPointerException? with an empty Reason though a new option "revisions" with several suboptions is added in the context menu you get rightclicking on that vertical line numbers bar.

Next to some other exceptions like the "Unhandled event loop exception" in org.eclipse.ui plug-in there is this goldenhammer exception

java.lang.NullPointerException
	at org.eclipse.jface.internal.text.revisions.RevisionPainter$ColorTool.computeAge(RevisionPainter.java:240)
	at org.eclipse.jface.internal.text.revisions.RevisionPainter$ColorTool.setInfo(RevisionPainter.java:166)
	at org.eclipse.jface.internal.text.revisions.RevisionPainter.setRevisionInformation(RevisionPainter.java:651)
	at org.eclipse.jface.text.source.LineNumberChangeRulerColumn.setRevisionInformation(LineNumberChangeRulerColumn.java:251)
	at org.eclipse.ui.internal.texteditor.LineNumberColumn.showRevisionInformation(LineNumberColumn.java:754)
	at org.eclipse.ui.texteditor.AbstractDecoratedTextEditor.showRevisionInformation(AbstractDecoratedTextEditor.java:567)
	at com.goldenhammers.merclipse.team.actions.MercurialShowAnnotationAction.executeMercurialAction(MercurialShowAnnotationAction.java:127)
	at com.goldenhammers.merclipse.team.actions.MercurialActionJob$1.run(MercurialActionJob.java:37)
	at org.eclipse.ui.internal.UILockListener.doPendingWork(UILockListener.java:155)
	at org.eclipse.ui.internal.UISynchronizer$3.run(UISynchronizer.java:158)
	at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:35)
	at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:133)
	at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:3800)
	at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3425)
	at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:2382)
	at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2346)
	at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:2198)
	at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:493)
	at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:288)
	at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:488)
	at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149)
	at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:113)
	at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:193)
	at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:110)
	at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:79)
	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:382)
	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:179)
	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:549)
	at org.eclipse.equinox.launcher.Main.basicRun(Main.java:504)
	at org.eclipse.equinox.launcher.Main.run(Main.java:1236)

Show Files's Repository History produces an NullPointerException? with two lines, both containing the same message... An error has occurred. See error log for more details. java.lang.NullPointerException? Error Log says:

java.lang.NullPointerException
	at com.goldenhammers.merclipse.history.MercurialFileRevision.getTimestamp(MercurialFileRevision.java:63)
	at com.goldenhammers.merclipse.history.MercurialHistoryTableProvider$HistoryLabelProvider.getColumnText(MercurialHistoryTableProvider.java:85)
	at org.eclipse.jface.viewers.TableColumnViewerLabelProvider.update(TableColumnViewerLabelProvider.java:70)
	at org.eclipse.jface.viewers.ViewerColumn.refresh(ViewerColumn.java:145)
	at org.eclipse.jface.viewers.AbstractTableViewer.doUpdateItem(AbstractTableViewer.java:386)
	at org.eclipse.jface.viewers.StructuredViewer$UpdateItemSafeRunnable.run(StructuredViewer.java:466)
	at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:37)
	at org.eclipse.core.runtime.Platform.run(Platform.java:880)
	at org.eclipse.ui.internal.JFaceUtil$1.run(JFaceUtil.java:48)
	at org.eclipse.jface.util.SafeRunnable.run(SafeRunnable.java:175)
	at org.eclipse.jface.viewers.StructuredViewer.updateItem(StructuredViewer.java:2041)
	at org.eclipse.jface.viewers.AbstractTableViewer.internalRefreshAll(AbstractTableViewer.java:736)
	at org.eclipse.jface.viewers.AbstractTableViewer.internalRefresh(AbstractTableViewer.java:633)
	at org.eclipse.jface.viewers.AbstractTableViewer.internalRefresh(AbstractTableViewer.java:620)
	at org.eclipse.jface.viewers.AbstractTableViewer$2.run(AbstractTableViewer.java:576)
	at org.eclipse.jface.viewers.StructuredViewer.preservingSelection(StructuredViewer.java:1365)
	at org.eclipse.jface.viewers.StructuredViewer.preservingSelection(StructuredViewer.java:1328)
	at org.eclipse.jface.viewers.AbstractTableViewer.inputChanged(AbstractTableViewer.java:574)
	at org.eclipse.jface.viewers.ContentViewer.setInput(ContentViewer.java:251)
	at org.eclipse.jface.viewers.StructuredViewer.setInput(StructuredViewer.java:1603)
	at com.goldenhammers.merclipse.history.MercurialHistoryPage.inputSet(MercurialHistoryPage.java:226)
	at org.eclipse.team.ui.history.HistoryPage.setInput(HistoryPage.java:59)
	at com.goldenhammers.merclipse.history.MercurialHistoryPage.refresh(MercurialHistoryPage.java:239)
	at org.eclipse.team.internal.ui.history.GenericHistoryView.checkForExistingPage(GenericHistoryView.java:810)
	at org.eclipse.team.internal.ui.history.GenericHistoryView.checkForExistingPage(GenericHistoryView.java:794)
	at org.eclipse.team.internal.ui.history.GenericHistoryView.showHistoryPageFor(GenericHistoryView.java:711)
	at org.eclipse.team.ui.TeamUI.showInputInView(TeamUI.java:124)
	at org.eclipse.team.ui.TeamUI.showHistoryFor(TeamUI.java:112)
	at com.goldenhammers.merclipse.team.actions.MercurialShowHistoryAction.executeMercurialAction(MercurialShowHistoryAction.java:22)
	at com.goldenhammers.merclipse.team.actions.MercurialActionJob$1.run(MercurialActionJob.java:37)
	at org.eclipse.ui.internal.UILockListener.doPendingWork(UILockListener.java:155)
	at org.eclipse.ui.internal.UISynchronizer$3.run(UISynchronizer.java:158)
	at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:35)
	at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:133)
	at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:3800)
	at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3425)
	at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:2382)
	at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2346)
	at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:2198)
	at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:493)
	at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:288)
	at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:488)
	at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149)
	at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:113)
	at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:193)
	at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:110)
	at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:79)
	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:382)
	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:179)
	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:549)
	at org.eclipse.equinox.launcher.Main.basicRun(Main.java:504)
	at org.eclipse.equinox.launcher.Main.run(Main.java:1236)

History then shows rows, but only with information about the revision number

In addition I made several screenshots you can find in the attachement

Attachments

02_withMerclipseWithClass.jpg (75.5 kB) - added by qoo-ooq@… 6 months ago.
Merclipse installed, first Class
03_withMerclipseWithClassProjectShared.jpg (78.7 kB) - added by qoo-ooq@… 6 months ago.
project now shared
05_withMerclipseWithClassProjectSharedFileCommitedShowAnnotations.jpg (107.2 kB) - added by qoo-ooq@… 6 months ago.
file commited, show annotations was clicked seconds earlier
06_withMerclipseWithClassProjectSharedFileCommitedShowAnnotationsSecondsLater.jpg (115.1 kB) - added by qoo-ooq@… 6 months ago.
just clicked into package explorer
07_FirstSeriousGoldenHammerErrorTextCreatedAfterClickOnShowAnnotations.jpg (131.8 kB) - added by qoo-ooq@… 6 months ago.
error message for row that was created as I clicked show annotations
08_withMerclipseWithClassProjectSharedFileCommitedShowAnnotationsSecondsLaterShowFilesRepHistory.jpg (122.3 kB) - added by qoo-ooq@… 6 months ago.
when I click "Show file's repository history" this window pops up
hglog.txt (4.3 kB) - added by qoo-ooq@… 6 months ago.
AmountWarningsEqualsAmountRevisions.jpg (127.1 kB) - added by qoo-ooq@… 6 months ago.
The +1000 stands for Melbourne (just wanted to rule sth out)

Change History

Changed 6 months ago by qoo-ooq@…

Merclipse installed, first Class

Changed 6 months ago by qoo-ooq@…

project now shared

Changed 6 months ago by qoo-ooq@…

file commited, show annotations was clicked seconds earlier

Changed 6 months ago by qoo-ooq@…

just clicked into package explorer

Changed 6 months ago by qoo-ooq@…

error message for row that was created as I clicked show annotations

Changed 6 months ago by qoo-ooq@…

when I click "Show file's repository history" this window pops up

  Changed 6 months ago by whit

  • owner set to whit
  • status changed from new to assigned

Does this repo have no revisions as there hasn't been a single commit yet?

If so, my guess is this is resolved after you commit once.

That being said, there are a couple places where a repo with no revisions is not handled gracefully by merclipse. This will be cleaned up asap.

  Changed 6 months ago by whit

Okay, i see now you had a revision.

But I'm unable to reproduce.

What specific Eclipse/Mercurial versions are you using and what OS?

Thanks!

  Changed 6 months ago by whit

Could you attach the output of hg log on that repo, also?

  Changed 6 months ago by qoo-ooq@…

No problem...
Some words to my previous postings, I forgot to mention that i only see this error log messages in plug-in development view, which i have chosen because otherwise i only see those almost completly empty exceptions, you can see this in some screenshots but i thought i should mention it nevertheless (if someone should wonder).

All details:
WinXp? Sp3
eclipse-SDK-3.4-win32
Merclipse 0.8.4
Mercurial Distributed SCM (version 1.0.1+20080525)
java version "1.6.0_07"
Java(TM) SE Runtime Environment (build 1.6.0_07-b06)

The way I'm producing this error is.
Install Eclipse
(Start, Quit, Start) Eclipse
Install Merclipse
Restart Eclipse

Right click in package explorer->New->Project->Java project
ProjectName?: blabla
Create new project in workspace
Use default JRE (Currentyl 'jre1.6.0_07')
Create seperate folders for sources and class files
Finish
Click on +blabla
RightClick? on src -> New->Class
Source folder: blabla/src
package:
no enclosing type
Name: Hello
(everything else shouldn't matter i hope), so next i click finish
src/(default package)/Hello.java is selected and opened automatically

Inserted Code in class Hello:

	public static void main(String[] args) {
		System.out.println("Hello");
	}

Ctrl+s
Right Click on blabla->Team->Share Project->Mercurial->Next->Use the project as the root of the repository (C:\worksapce\blabla)->Finish
RightClick? on Hello.java ->Team->Commit->check Mark new/missing....->Commit message "new File"->OK

Insert new Line in Hello.java

System.out.println("Hello Again");

Ctrl+s
RightClick? on Hello.java->Team->Commit->check all outstan...->Commit message: "Second Line"->OK
RightClick? on Hello.java->Team->Show Annotations->java.langNullPointerException Reason: <blank>

hg log -v -p:

changeset:   1:93a3bb23c1e3
tag:         tip
user:        Chaos
date:        Tue Jul 15 02:16:10 2008 +0200
files:       src/Hello.java
description:
Second Line


diff -r ec6566c883da -r 93a3bb23c1e3 src/Hello.java
--- a/src/Hello.java    Tue Jul 15 02:13:17 2008 +0200
+++ b/src/Hello.java    Tue Jul 15 02:16:10 2008 +0200
@@ -2,5 +2,6 @@
 public class Hello {
        public static void main(String[] args) {
                System.out.println("Hello");
+               System.out.println("Hello Again");
        }
 }

changeset:   0:ec6566c883da
user:        Chaos
date:        Tue Jul 15 02:13:17 2008 +0200
files:       src/Hello.java
description:
new File


diff -r 000000000000 -r ec6566c883da src/Hello.java
--- /dev/null   Thu Jan 01 00:00:00 1970 +0000
+++ b/src/Hello.java    Tue Jul 15 02:13:17 2008 +0200
@@ -0,0 +1,6 @@
+
+public class Hello {
+       public static void main(String[] args) {
+               System.out.println("Hello");
+       }
+}

also tried with different workspace location (also different repository locations)

If you should need the log of the repository, that you have seen the screenshots of... it attached (be aware that i did an additional commit since screenshots)

Changed 6 months ago by qoo-ooq@…

  Changed 6 months ago by qoo-ooq@…

i've taken a closer look now... If i click "Show File's Repository History" I get that Exception Window (titled "Multiple problems have occured") (see attachment screenshot) And the amount of lines with "An error has occurred. See error log for more details." is always equal to the amount of the revisions / commits I made for this file. In Error log I can see then: (Amount of revisions)times:
[Error Symbol] Problems occurred when invoking code from plug-in: "org.eclipse.jface". (Amount of revisions)times:
[Warning Symbol] Unparseable date: "Tue Jul 15 02:13:17 2008 +0200"

Next thing: When I double click a row, the correct revision code is displayed, so this referencing is working. What's unusual is that the fields for "revision time", "author" and "comment" are empty. First the revision time should be printed, which must cause that warning you can see in the screenshot. I guess, the code somehow isn't capable of continueing with printing the author and the comment, after the warning is generated.

Clicking show annotations, I get a window with only one line "java.lang.NullPointerException?" empty Reason, but also x warnings in error logs, whereas x=amount of revisions. Plus all those Unhandled event loop exceptions popping up several times each time i click stuff in eclipse (you could only see that in one of the previous screenshots)

Hope it helps

Changed 6 months ago by qoo-ooq@…

The +1000 stands for Melbourne (just wanted to rule sth out)

  Changed 6 months ago by qoo-ooq@…

HAVE found the defect !!!

You should change the code, so that it works with every locale settings of java, somehow it must now be hardcoded for english systems only, so that it doesn't work with my german WinXp?.

I was suspecting it since the last post, i just didn't know how to proove it. The jre locale setting is hardcoded(no option or parameter to change, that i could find) and your code is only available as byte code and so unchangeable, too. So i searched a bit how to bruteforce the jre to run the eclipse code with en-us settings.

And I found a way, you can do this by changing some bytes in java.dll so that in the end the java.dll is acting like it would on your english system.

For those of you who want to do the same... Search in your java/jre.xxxx/bin/java.dll (with hex editor)for

FF 15 A0 10 32 6D 8B F8 FF 15 A4 10 32 6D 57 89

and change to

68 09 04 00 00 58 8b f8 68 09 04 00 00 58 57 89

the two

   09 04                   09 04

are 2 times the swapped code for en-Us (0409) Other codes available at http://msdn.microsoft.com/en-us/library/ms776260(VS.85).aspx

  Changed 5 months ago by whit

Thanks for the details --- I didn't see your comments b/c the trac feed didn't update.

I'll look into this further, looks like someone else submitted a similar bug about parsing dates.

In the meantime, you should be able to pass the locale to eclipse, and I thought java as well. Anyway, for eclipse, I think it is just -nl (http://help.eclipse.org/help21/index.jsp?topic=/org.eclipse.platform.doc.user/tasks/running_eclipse.htm).

  Changed 5 months ago by qoo-ooq@…

yap. So next time your questions should be:
What specific Eclipse/Mercurial versions are you using, what OS and where the hell are you from :D
Thanks for the eclipse parameters, didn't know that, will try this paramater when I install the next java runtime. By the way I'm really looking forward to see your code, never made a plugin for eclipse but I'd love to start learning that by understanding your code first, would motivate me more than just following some examples (and yours is a really nice plugin). See you

in reply to: ↑ description   Changed 4 months ago by anonymous

  • summary changed from Show Annotations & Show File's Repository History => Exceptions to Show Annotations & Show File's Repository History & Pull => Exceptions

I am getting a similar exception, but on Pull. I get the same "NullPointerException?, see log" error. It shows me the items I pulled, but two of them have a blank status and path (I get two corresponding NPE's). I am using Merclipse 0.8.5 in Eclipse 3.3.2 (and in the US).

Log contains NPE's like:

!ENTRY org.eclipse.jface 4 2 2008-09-10 13:05:51.662
!MESSAGE Problems occurred when invoking code from plug-in: "org.eclipse.jface".
!STACK 0
java.lang.NullPointerException
	at com.goldenhammers.merclipse.objects.MercurialDiffItem.getChangeType(MercurialDiffItem.java:62)
	at com.goldenhammers.merclipse.ui.MercurialDiffLabelProvider.getColumnText(MercurialDiffLabelProvider.java:40)
	at org.eclipse.jface.viewers.TableColumnViewerLabelProvider.update(TableColumnViewerLabelProvider.java:70)
	at org.eclipse.jface.viewers.ViewerColumn.refresh(ViewerColumn.java:135)
	at org.eclipse.jface.viewers.AbstractTableViewer.doUpdateItem(AbstractTableViewer.java:386)
	at org.eclipse.jface.viewers.StructuredViewer$UpdateItemSafeRunnable.run(StructuredViewer.java:466)
	at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:37)
	at org.eclipse.core.runtime.Platform.run(Platform.java:857)
	at org.eclipse.ui.internal.JFaceUtil$1.run(JFaceUtil.java:46)
	at org.eclipse.jface.util.SafeRunnable.run(SafeRunnable.java:199)
	at org.eclipse.jface.viewers.StructuredViewer.updateItem(StructuredViewer.java:2026)
	at org.eclipse.jface.viewers.AbstractTableViewer.createItem(AbstractTableViewer.java:264)
	at org.eclipse.jface.viewers.AbstractTableViewer.internalRefreshAll(AbstractTableViewer.java:741)
	at org.eclipse.jface.viewers.AbstractTableViewer.internalRefresh(AbstractTableViewer.java:633)
	at org.eclipse.jface.viewers.AbstractTableViewer.internalRefresh(AbstractTableViewer.java:620)
	at org.eclipse.jface.viewers.AbstractTableViewer$2.run(AbstractTableViewer.java:576)
	at org.eclipse.jface.viewers.StructuredViewer.preservingSelection(StructuredViewer.java:1368)
	at org.eclipse.jface.viewers.StructuredViewer.preservingSelection(StructuredViewer.java:1330)
	at org.eclipse.jface.viewers.AbstractTableViewer.inputChanged(AbstractTableViewer.java:574)
	at org.eclipse.jface.viewers.ContentViewer.setInput(ContentViewer.java:251)
	at org.eclipse.jface.viewers.StructuredViewer.setInput(StructuredViewer.java:1606)
	at com.goldenhammers.merclipse.ui.MercurialPullDialog.doPostPull(MercurialPullDialog.java:436)
	at com.goldenhammers.merclipse.ui.MercurialPullDialog.access$9(MercurialPullDialog.java:375)
	at com.goldenhammers.merclipse.ui.MercurialPullDialog$2.widgetSelected(MercurialPullDialog.java:164)
	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.jface.window.Window.runEventLoop(Window.java:820)
	at org.eclipse.jface.window.Window.open(Window.java:796)
	at com.goldenhammers.merclipse.team.actions.MercurialPullAction.executeMercurialAction(MercurialPullAction.java:30)
	at com.goldenhammers.merclipse.team.actions.MercurialActionJob$1.run(MercurialActionJob.java:37)
	at org.eclipse.ui.internal.UILockListener.doPendingWork(UILockListener.java:155)
	at org.eclipse.ui.internal.UISynchronizer$2.run(UISynchronizer.java:126)
	at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:35)
	at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:129)
	at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:3659)
	at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3296)
	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)

Replying to qoo-ooq@gmx.de:

Quick Diff is now free of Exceptions or Error Messages. Show Annotatiosn produces java.lang.NullPointerException? with an empty Reason though a new option "revisions" with several suboptions is added in the context menu you get rightclicking on that vertical line numbers bar. Next to some other exceptions like the "Unhandled event loop exception" in org.eclipse.ui plug-in there is this goldenhammer exception {{{ java.lang.NullPointerException? at org.eclipse.jface.internal.text.revisions.RevisionPainter?$ColorTool?.computeAge(RevisionPainter?.java:240) at org.eclipse.jface.internal.text.revisions.RevisionPainter?$ColorTool?.setInfo(RevisionPainter?.java:166) at org.eclipse.jface.internal.text.revisions.RevisionPainter?.setRevisionInformation(RevisionPainter?.java:651) at org.eclipse.jface.text.source.LineNumberChangeRulerColumn?.setRevisionInformation(LineNumberChangeRulerColumn?.java:251) at org.eclipse.ui.internal.texteditor.LineNumberColumn?.showRevisionInformation(LineNumberColumn?.java:754) at org.eclipse.ui.texteditor.AbstractDecoratedTextEditor?.showRevisionInformation(AbstractDecoratedTextEditor?.java:567) at com.goldenhammers.merclipse.team.actions.MercurialShowAnnotationAction?.executeMercurialAction(MercurialShowAnnotationAction?.java:127) at com.goldenhammers.merclipse.team.actions.MercurialActionJob?$1.run(MercurialActionJob?.java:37) at org.eclipse.ui.internal.UILockListener.doPendingWork(UILockListener.java:155) at org.eclipse.ui.internal.UISynchronizer$3.run(UISynchronizer.java:158) at org.eclipse.swt.widgets.RunnableLock?.run(RunnableLock?.java:35) at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:133) at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:3800) at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3425) at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:2382) at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2346) at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:2198) at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:493) at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:288) at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:488) at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149) at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:113) at org.eclipse.equinox.internal.app.EclipseAppHandle?.run(EclipseAppHandle?.java:193) at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher?.runApplication(EclipseAppLauncher?.java:110) at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher?.start(EclipseAppLauncher?.java:79) at org.eclipse.core.runtime.adaptor.EclipseStarter?.run(EclipseStarter?.java:382) at org.eclipse.core.runtime.adaptor.EclipseStarter?.run(EclipseStarter?.java:179) 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:549) at org.eclipse.equinox.launcher.Main.basicRun(Main.java:504) at org.eclipse.equinox.launcher.Main.run(Main.java:1236) }}} Show Files's Repository History produces an NullPointerException? with two lines, both containing the same message... An error has occurred. See error log for more details. java.lang.NullPointerException? Error Log says: {{{ java.lang.NullPointerException? at com.goldenhammers.merclipse.history.MercurialFileRevision?.getTimestamp(MercurialFileRevision?.java:63) at com.goldenhammers.merclipse.history.MercurialHistoryTableProvider?$HistoryLabelProvider?.getColumnText(MercurialHistoryTableProvider?.java:85) at org.eclipse.jface.viewers.TableColumnViewerLabelProvider?.update(TableColumnViewerLabelProvider?.java:70) at org.eclipse.jface.viewers.ViewerColumn?.refresh(ViewerColumn?.java:145) at org.eclipse.jface.viewers.AbstractTableViewer?.doUpdateItem(AbstractTableViewer?.java:386) at org.eclipse.jface.viewers.StructuredViewer?$UpdateItemSafeRunnable?.run(StructuredViewer?.java:466) at org.eclipse.core.runtime.SafeRunner?.run(SafeRunner?.java:37) at org.eclipse.core.runtime.Platform.run(Platform.java:880) at org.eclipse.ui.internal.JFaceUtil$1.run(JFaceUtil.java:48) at org.eclipse.jface.util.SafeRunnable?.run(SafeRunnable?.java:175) at org.eclipse.jface.viewers.StructuredViewer?.updateItem(StructuredViewer?.java:2041) at org.eclipse.jface.viewers.AbstractTableViewer?.internalRefreshAll(AbstractTableViewer?.java:736) at org.eclipse.jface.viewers.AbstractTableViewer?.internalRefresh(AbstractTableViewer?.java:633) at org.eclipse.jface.viewers.AbstractTableViewer?.internalRefresh(AbstractTableViewer?.java:620) at org.eclipse.jface.viewers.AbstractTableViewer?$2.run(AbstractTableViewer?.java:576) at org.eclipse.jface.viewers.StructuredViewer?.preservingSelection(StructuredViewer?.java:1365) at org.eclipse.jface.viewers.StructuredViewer?.preservingSelection(StructuredViewer?.java:1328) at org.eclipse.jface.viewers.AbstractTableViewer?.inputChanged(AbstractTableViewer?.java:574) at org.eclipse.jface.viewers.ContentViewer?.setInput(ContentViewer?.java:251) at org.eclipse.jface.viewers.StructuredViewer?.setInput(StructuredViewer?.java:1603) at com.goldenhammers.merclipse.history.MercurialHistoryPage?.inputSet(MercurialHistoryPage?.java:226) at org.eclipse.team.ui.history.HistoryPage?.setInput(HistoryPage?.java:59) at com.goldenhammers.merclipse.history.MercurialHistoryPage?.refresh(MercurialHistoryPage?.java:239) at org.eclipse.team.internal.ui.history.GenericHistoryView?.checkForExistingPage(GenericHistoryView?.java:810) at org.eclipse.team.internal.ui.history.GenericHistoryView?.checkForExistingPage(GenericHistoryView?.java:794) at org.eclipse.team.internal.ui.history.GenericHistoryView?.showHistoryPageFor(GenericHistoryView?.java:711) at org.eclipse.team.ui.TeamUI.showInputInView(TeamUI.java:124) at org.eclipse.team.ui.TeamUI.showHistoryFor(TeamUI.java:112) at com.goldenhammers.merclipse.team.actions.MercurialShowHistoryAction?.executeMercurialAction(MercurialShowHistoryAction?.java:22) at com.goldenhammers.merclipse.team.actions.MercurialActionJob?$1.run(MercurialActionJob?.java:37) at org.eclipse.ui.internal.UILockListener.doPendingWork(UILockListener.java:155) at org.eclipse.ui.internal.UISynchronizer$3.run(UISynchronizer.java:158) at org.eclipse.swt.widgets.RunnableLock?.run(RunnableLock?.java:35) at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:133) at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:3800) at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3425) at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:2382) at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2346) at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:2198) at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:493) at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:288) at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:488) at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149) at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:113) at org.eclipse.equinox.internal.app.EclipseAppHandle?.run(EclipseAppHandle?.java:193) at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher?.runApplication(EclipseAppLauncher?.java:110) at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher?.start(EclipseAppLauncher?.java:79) at org.eclipse.core.runtime.adaptor.EclipseStarter?.run(EclipseStarter?.java:382) at org.eclipse.core.runtime.adaptor.EclipseStarter?.run(EclipseStarter?.java:179) 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:549) at org.eclipse.equinox.launcher.Main.basicRun(Main.java:504) at org.eclipse.equinox.launcher.Main.run(Main.java:1236) }}} History then shows rows, but only with information about the revision number In addition I made several screenshots you can find in the attachement

  Changed 4 months ago by v8n9id602@…

Oops, forgot to leave an email. And sorry about that ugly formatting, I am new to Trac...

Would be happy to help out if someone can point me in the right direction in the code base.

follow-up: ↓ 12   Changed 4 months ago by anonymous

which version of HG are you using?

the src is here: get the source: hg clone http://goldenhammers.com/merclipse/hg merclipse

and here: http://goldenhammers.com/merclipse/trac/browser

in reply to: ↑ 11   Changed 4 months ago by anonymous

Replying to anonymous:

which version of HG are you using?

Mercurial Distributed SCM (version 626cb86a6523+tortoisehg)

the src is here: get the source: hg clone http://goldenhammers.com/merclipse/hg merclipse and here: http://goldenhammers.com/merclipse/trac/browser

Great thanks, I'll check it out. BTW, great work on Merclipse, it's much better than anything else I've seen.

  Changed 3 months ago by whit

  • status changed from assigned to closed
  • resolution set to fixed

Fixed in 0.8.6/0.8.7. Had a problem with the trac db-- sorry for having to close again.

Add/Change #10 (Show Annotations & Show File's Repository History & Pull => Exceptions)

Author



Change Properties
<Author field>
Action
as closed
Next status will be 'reopened'
 
Note: See TracTickets for help on using tickets.