Directory Studio
  1. Directory Studio
  2. DIRSTUDIO-647

Exception raised in ldapbrowser without further explaination

    Details

    • Type: Bug Bug
    • Status: Closed
    • Priority: Major Major
    • Resolution: Not a Problem
    • Affects Version/s: 1.5.2
    • Fix Version/s: None
    • Component/s: studio-ldapbrowser
    • Environment:
      MacOS X 10.6.3, Java 1.6.0_19 (beta) testing against OpenDS 2.2.0

      Description

      This is with Studio version 1.5.3 just released.
      The same issue occured with 1.5.2.

      In the LDAP browser, displaying certain entries shows a pop-up with the following :
      Multiple problems have occurred
      java.lang.nullPointerException

      and 2 messages :
      An error has occurred.See error log for more details.

      The entry seems to display well except for the modifyTimestamp.

      How to reproduce :
      Install OpenDS 2.2.0 from www.opends.org, use default settings, generate sample entries.
      Browse the directory.
      Select an entry, modify any field with a valid value...
      When the entry is reloaded, the exception is raised.
      Looks like the ldapbrowser doesn't parse properly the modifyTimeStamp... the value is either garbage or empty.

      Here's the ldif representation of the entry

      version: 1

      dn: uid=achassin,ou=People,dc=example,dc=com
      objectClass: person
      objectClass: inetOrgPerson
      objectClass: organizationalPerson
      objectClass: top
      cn: Ashley Chassin
      sn: Chassin
      description: http://localhost:8080/photos/woman03.jpg
      facsimileTelephoneNumber: +1 408 555 3372
      givenName: Ashley
      l: Santa Clara
      mail: achassin@example.com
      manager: uid=tclow,ou=People,dc=example,dc=com
      ou: People
      ou: Payroll
      roomNumber: 0466
      telephoneNumber: +1 408 555 9972
      uid: achassin
      userPassword:: e1NTSEF9Qk9Lc29lS2VOMzUvblEzLy9obmEzY25DVzVjaXZGeWpRRFJ4TlE9PQ==
      entryDN: uid=achassin,ou=people,dc=example,dc=com
      entryUUID:: NTAyMzgyMGItOTI3Zi0zNDUyLTg1MjMtMTc4YjllNzY1YTAy
      hasSubordinates: false
      modifiersName: cn=Directory Manager,cn=Root DNs,cn=config
      modifyTimestamp: 20100406095317Z
      numSubordinates: 0
      structuralObjectClass: inetOrgPerson
      subschemaSubentry: cn=schema

        Activity

        Ludovic Poitou created issue -
        Hide
        Stefan Seelmann added a comment -

        Thank Ludo for the report.

        Could you please take a look into the log file ~/.ApacheDirectoryStudio/.metadata/.log if there are any stack traces?

        Show
        Stefan Seelmann added a comment - Thank Ludo for the report. Could you please take a look into the log file ~/.ApacheDirectoryStudio/.metadata/.log if there are any stack traces?
        Hide
        ludovic poitou added a comment -

        Stefan,

        Here's the last stack trace.
        I'm attaching the complete log file, gzip'd.

        Ludo

        !ENTRY org.eclipse.jface 4 2 2010-04-06 17:21:07.287
        !MESSAGE Problems occurred when invoking code from plug-in: "org.eclipse.jface".
        !STACK 0
        java.lang.NullPointerException
        at org.apache.directory.studio.ldapbrowser.common.widgets.entryeditor.EntryEditorWidgetLabelProvider.getColumnText(EntryEditorWidgetLabelProvider.java:100)
        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.AbstractTreeViewer.doUpdateItem(AbstractTreeViewer.java:932)
        at org.eclipse.jface.viewers.AbstractTreeViewer$UpdateItemSafeRunnable.run(AbstractTreeViewer.java:102)
        at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
        at org.eclipse.core.runtime.Platform.run(Platform.java:888)
        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.AbstractTreeViewer.doUpdateItem(AbstractTreeViewer.java:1012)
        at org.eclipse.jface.viewers.StructuredViewer$UpdateItemSafeRunnable.run(StructuredViewer.java:481)
        at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
        at org.eclipse.core.runtime.Platform.run(Platform.java:888)
        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:2111)
        at org.eclipse.jface.viewers.AbstractTreeViewer.createTreeItem(AbstractTreeViewer.java:827)
        at org.eclipse.jface.viewers.AbstractTreeViewer$1.run(AbstractTreeViewer.java:802)
        at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:70)
        at org.eclipse.jface.viewers.AbstractTreeViewer.createChildren(AbstractTreeViewer.java:776)
        at org.eclipse.jface.viewers.TreeViewer.createChildren(TreeViewer.java:639)
        at org.eclipse.jface.viewers.AbstractTreeViewer.internalInitializeTree(AbstractTreeViewer.java:1490)
        at org.eclipse.jface.viewers.TreeViewer.internalInitializeTree(TreeViewer.java:828)
        at org.eclipse.jface.viewers.AbstractTreeViewer$5.run(AbstractTreeViewer.java:1474)
        at org.eclipse.jface.viewers.StructuredViewer.preservingSelection(StructuredViewer.java:1392)
        at org.eclipse.jface.viewers.TreeViewer.preservingSelection(TreeViewer.java:402)
        at org.eclipse.jface.viewers.StructuredViewer.preservingSelection(StructuredViewer.java:1353)
        at org.eclipse.jface.viewers.AbstractTreeViewer.inputChanged(AbstractTreeViewer.java:1467)
        at org.eclipse.jface.viewers.ContentViewer.setInput(ContentViewer.java:274)
        at org.eclipse.jface.viewers.StructuredViewer.setInput(StructuredViewer.java:1634)
        at org.apache.directory.studio.ldapbrowser.common.widgets.entryeditor.EntryEditorWidgetUniversalListener.setInput(EntryEditorWidgetUniversalListener.java:297)
        at org.apache.directory.studio.ldapbrowser.ui.editors.entry.EntryEditor.setEntryEditorWidgetInput(EntryEditor.java:415)
        at org.apache.directory.studio.ldapbrowser.ui.editors.entry.EntryEditor.setInput(EntryEditor.java:120)
        at org.apache.directory.studio.ldapbrowser.ui.editors.entry.EntryEditor.showEditorInput(EntryEditor.java:474)
        at org.eclipse.ui.internal.WorkbenchPage.busyOpenEditorBatched(WorkbenchPage.java:2841)
        at org.eclipse.ui.internal.WorkbenchPage.busyOpenEditor(WorkbenchPage.java:2762)
        at org.eclipse.ui.internal.WorkbenchPage.access$11(WorkbenchPage.java:2754)
        at org.eclipse.ui.internal.WorkbenchPage$10.run(WorkbenchPage.java:2705)
        at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:70)
        at org.eclipse.ui.internal.WorkbenchPage.openEditor(WorkbenchPage.java:2701)
        at org.eclipse.ui.internal.WorkbenchPage.openEditor(WorkbenchPage.java:2685)
        at org.eclipse.ui.internal.WorkbenchPage.openEditor(WorkbenchPage.java:2676)
        at org.apache.directory.studio.entryeditors.OpenEntryEditorRunnable$1.run(OpenEntryEditorRunnable.java:252)
        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:134)
        at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:3342)
        at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3071)
        at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:2405)
        at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2369)
        at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:2221)
        at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:500)
        at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
        at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:493)
        at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149)
        at org.apache.directory.studio.Application.start(Application.java:58)
        at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:194)
        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:368)
        at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:179)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:597)
        at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:559)
        at org.eclipse.equinox.launcher.Main.basicRun(Main.java:514)
        at org.eclipse.equinox.launcher.Main.run(Main.java:1311)


        Ludovic Poitou Sun Microsystems Inc.
        OpenDS Community Manager Directory Services
        http://blogs.sun.com/Ludo/ Grenoble Engineering Center - France

        OpenDS, the Java LDAP Directory Server
        http://www.opends.org

        Show
        ludovic poitou added a comment - Stefan, Here's the last stack trace. I'm attaching the complete log file, gzip'd. Ludo !ENTRY org.eclipse.jface 4 2 2010-04-06 17:21:07.287 !MESSAGE Problems occurred when invoking code from plug-in: "org.eclipse.jface". !STACK 0 java.lang.NullPointerException at org.apache.directory.studio.ldapbrowser.common.widgets.entryeditor.EntryEditorWidgetLabelProvider.getColumnText(EntryEditorWidgetLabelProvider.java:100) 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.AbstractTreeViewer.doUpdateItem(AbstractTreeViewer.java:932) at org.eclipse.jface.viewers.AbstractTreeViewer$UpdateItemSafeRunnable.run(AbstractTreeViewer.java:102) at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42) at org.eclipse.core.runtime.Platform.run(Platform.java:888) 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.AbstractTreeViewer.doUpdateItem(AbstractTreeViewer.java:1012) at org.eclipse.jface.viewers.StructuredViewer$UpdateItemSafeRunnable.run(StructuredViewer.java:481) at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42) at org.eclipse.core.runtime.Platform.run(Platform.java:888) 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:2111) at org.eclipse.jface.viewers.AbstractTreeViewer.createTreeItem(AbstractTreeViewer.java:827) at org.eclipse.jface.viewers.AbstractTreeViewer$1.run(AbstractTreeViewer.java:802) at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:70) at org.eclipse.jface.viewers.AbstractTreeViewer.createChildren(AbstractTreeViewer.java:776) at org.eclipse.jface.viewers.TreeViewer.createChildren(TreeViewer.java:639) at org.eclipse.jface.viewers.AbstractTreeViewer.internalInitializeTree(AbstractTreeViewer.java:1490) at org.eclipse.jface.viewers.TreeViewer.internalInitializeTree(TreeViewer.java:828) at org.eclipse.jface.viewers.AbstractTreeViewer$5.run(AbstractTreeViewer.java:1474) at org.eclipse.jface.viewers.StructuredViewer.preservingSelection(StructuredViewer.java:1392) at org.eclipse.jface.viewers.TreeViewer.preservingSelection(TreeViewer.java:402) at org.eclipse.jface.viewers.StructuredViewer.preservingSelection(StructuredViewer.java:1353) at org.eclipse.jface.viewers.AbstractTreeViewer.inputChanged(AbstractTreeViewer.java:1467) at org.eclipse.jface.viewers.ContentViewer.setInput(ContentViewer.java:274) at org.eclipse.jface.viewers.StructuredViewer.setInput(StructuredViewer.java:1634) at org.apache.directory.studio.ldapbrowser.common.widgets.entryeditor.EntryEditorWidgetUniversalListener.setInput(EntryEditorWidgetUniversalListener.java:297) at org.apache.directory.studio.ldapbrowser.ui.editors.entry.EntryEditor.setEntryEditorWidgetInput(EntryEditor.java:415) at org.apache.directory.studio.ldapbrowser.ui.editors.entry.EntryEditor.setInput(EntryEditor.java:120) at org.apache.directory.studio.ldapbrowser.ui.editors.entry.EntryEditor.showEditorInput(EntryEditor.java:474) at org.eclipse.ui.internal.WorkbenchPage.busyOpenEditorBatched(WorkbenchPage.java:2841) at org.eclipse.ui.internal.WorkbenchPage.busyOpenEditor(WorkbenchPage.java:2762) at org.eclipse.ui.internal.WorkbenchPage.access$11(WorkbenchPage.java:2754) at org.eclipse.ui.internal.WorkbenchPage$10.run(WorkbenchPage.java:2705) at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:70) at org.eclipse.ui.internal.WorkbenchPage.openEditor(WorkbenchPage.java:2701) at org.eclipse.ui.internal.WorkbenchPage.openEditor(WorkbenchPage.java:2685) at org.eclipse.ui.internal.WorkbenchPage.openEditor(WorkbenchPage.java:2676) at org.apache.directory.studio.entryeditors.OpenEntryEditorRunnable$1.run(OpenEntryEditorRunnable.java:252) 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:134) at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:3342) at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3071) at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:2405) at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2369) at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:2221) at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:500) at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332) at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:493) at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149) at org.apache.directory.studio.Application.start(Application.java:58) at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:194) 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:368) at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:179) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:559) at org.eclipse.equinox.launcher.Main.basicRun(Main.java:514) at org.eclipse.equinox.launcher.Main.run(Main.java:1311) — Ludovic Poitou Sun Microsystems Inc. OpenDS Community Manager Directory Services http://blogs.sun.com/Ludo/ Grenoble Engineering Center - France OpenDS, the Java LDAP Directory Server http://www.opends.org
        ludovic poitou made changes -
        Field Original Value New Value
        Attachment ads.log.gz [ 12440928 ]
        Hide
        Stefan Seelmann added a comment -

        Hi Ludovic,

        I wasn't able to reproduce the error. But based on the stack traces I think your value editor configuration is broken, I'm not sure how that could happen.

        Do you have custom settings in Preferences -> Apache Directory Studio -> LDAP Browser -> Value Editors ? Is there a row w/o a value editor? If so can you restore defaults?

        Another option, if you don't want to loose your settings, you can start Studio with a fresh configuration directory, just start Studio like this:
        ./ApacheDirectoryStudio -data /tmp/dummy

        Show
        Stefan Seelmann added a comment - Hi Ludovic, I wasn't able to reproduce the error. But based on the stack traces I think your value editor configuration is broken, I'm not sure how that could happen. Do you have custom settings in Preferences -> Apache Directory Studio -> LDAP Browser -> Value Editors ? Is there a row w/o a value editor? If so can you restore defaults? Another option, if you don't want to loose your settings, you can start Studio with a fresh configuration directory, just start Studio like this: ./ApacheDirectoryStudio -data /tmp/dummy
        Hide
        Ludovic Poitou added a comment -

        Stefan,

        You're correct, there was a missing Value Editor for the GeneralizedTime. I don't know how this happened since I never touched the preferences.

        Restoring the defaults solved the issue. You can close it as not a defect, or I can do it if you prefer.

        Show
        Ludovic Poitou added a comment - Stefan, You're correct, there was a missing Value Editor for the GeneralizedTime. I don't know how this happened since I never touched the preferences. Restoring the defaults solved the issue. You can close it as not a defect, or I can do it if you prefer.
        Hide
        Stefan Seelmann added a comment -

        Maybe the cause is that we renamed the class of this value editor in the 1.4.0 release. Anyway, I'm closing the issue, thanks for the quick reponse.

        Show
        Stefan Seelmann added a comment - Maybe the cause is that we renamed the class of this value editor in the 1.4.0 release. Anyway, I'm closing the issue, thanks for the quick reponse.
        Stefan Seelmann made changes -
        Status Open [ 1 ] Closed [ 6 ]
        Resolution Not A Problem [ 8 ]

          People

          • Assignee:
            Unassigned
            Reporter:
            Ludovic Poitou
          • Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved:

              Development