Uploaded image for project: 'Directory Studio'
  1. Directory Studio
  2. DIRSTUDIO-1134

Boolean Attribute Addition with no value causes Directory Studio crash on Mac

    Details

    • Type: Bug
    • Status: Resolved
    • Priority: Minor
    • Resolution: Fixed
    • Affects Version/s: 2.0.0-M12
    • Fix Version/s: 2.0.0-M13
    • Component/s: studio-apacheds
    • Labels:
      None
    • Environment:
      MacOS Sierra 10.12.2

      Description

      When adding a boolean attribute to an object with no attribute value Directory Studio crashes. I can't reproduce this issue on Windows only on the Mac version 2.0.0-M12

      1. hr_err.log
        988 kB
        Eric Lawson

        Issue Links

          Activity

          Hide
          seelmann Stefan Seelmann added a comment -

          Can you please clarify what you do and when it crashes?

          You click "New Attribute" in the entry editor, the "New Attribute" dialog pop up, you choose some "boolean" attribute, and click "Finish"? What happens then? Is the new (but empty) attribute visible in the entry editor? Does it switch to edit mode?

          Do you get any additional error message?
          Can you please check the logfile ~/.ApacheDirectoryStudio/.metadata/.log for any relevant message?
          Is there a hs_err_<pid>.log in your home folder?

          Show
          seelmann Stefan Seelmann added a comment - Can you please clarify what you do and when it crashes? You click "New Attribute" in the entry editor, the "New Attribute" dialog pop up, you choose some "boolean" attribute, and click "Finish"? What happens then? Is the new (but empty) attribute visible in the entry editor? Does it switch to edit mode? Do you get any additional error message? Can you please check the logfile ~/.ApacheDirectoryStudio/.metadata/.log for any relevant message? Is there a hs_err_<pid>.log in your home folder?
          Hide
          e8link Eric Lawson added a comment -

          Is it visible in the entry editor and the boolean is a single-valued attribute. In the entry editor a message appears ">>> Error, the configured value editor can not handle this value!<<<"

          Here is the logfile errors:

          !ENTRY org.eclipse.ui 4 0 2016-12-28 08:36:07.400
          !MESSAGE Unhandled event loop exception
          !STACK 0
          org.eclipse.core.runtime.AssertionFailedException: assertion failed:
          at org.eclipse.core.runtime.Assert.isTrue(Assert.java:110)
          at org.eclipse.core.runtime.Assert.isTrue(Assert.java:96)
          at org.eclipse.jface.viewers.TextCellEditor.doSetValue(TextCellEditor.java:231)
          at org.apache.directory.studio.valueeditors.AbstractInPlaceStringValueEditor.doSetValue(AbstractInPlaceStringValueEditor.java:230)
          at org.eclipse.jface.viewers.CellEditor.setValue(CellEditor.java:861)
          at org.eclipse.jface.viewers.EditingSupport.initializeCellEditorValue(EditingSupport.java:100)
          at org.eclipse.jface.viewers.ColumnViewerEditor.activateCellEditor(ColumnViewerEditor.java:199)
          at org.eclipse.jface.viewers.ColumnViewerEditor.handleEditorActivationEvent(ColumnViewerEditor.java:452)
          at org.eclipse.jface.viewers.ColumnViewer.triggerEditorActivationEvent(ColumnViewer.java:676)
          at org.eclipse.jface.viewers.ColumnViewer.editElement(ColumnViewer.java:422)
          at org.eclipse.jface.viewers.TreeViewer.editElement(TreeViewer.java:1118)
          at org.apache.directory.studio.ldapbrowser.common.widgets.entryeditor.AbstractOpenEditorAction.activateEditor(AbstractOpenEditorAction.java:140)
          at org.apache.directory.studio.ldapbrowser.common.widgets.entryeditor.AbstractOpenEditorAction.run(AbstractOpenEditorAction.java:111)
          at org.apache.directory.studio.ldapbrowser.common.widgets.entryeditor.OpenBestEditorAction.run(OpenBestEditorAction.java:212)
          at org.apache.directory.studio.ldapbrowser.common.actions.proxy.BrowserActionProxy.run(BrowserActionProxy.java:260)
          at org.apache.directory.studio.ldapbrowser.common.widgets.entryeditor.OpenDefaultEditorAction.run(OpenDefaultEditorAction.java:125)
          at org.apache.directory.studio.ldapbrowser.common.widgets.entryeditor.EntryEditorWidgetUniversalListener$1.widgetDefaultSelected(EntryEditorWidgetUniversalListener.java:94)
          at org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:119)
          at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
          at org.eclipse.swt.widgets.Display.sendEvent(Display.java:4230)
          at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1491)
          at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1514)
          at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1499)
          at org.eclipse.swt.widgets.Widget.notifyListeners(Widget.java:1299)
          at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:4072)
          at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3698)
          at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$4.run(PartRenderingEngine.java:1127)
          at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:337)
          at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:1018)
          at org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:156)
          at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:694)
          at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:337)
          at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:606)
          at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:150)
          at org.apache.directory.studio.Application.start(Application.java:51)
          at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196)
          at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:134)
          at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:104)
          at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:380)
          at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:235)
          at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
          at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
          at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
          at java.lang.reflect.Method.invoke(Method.java:498)
          at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:669)
          at org.eclipse.equinox.launcher.Main.basicRun(Main.java:608)
          at org.eclipse.equinox.launcher.Main.run(Main.java:1515)

          !ENTRY org.apache.directory.studio.common.core 4 4 2016-12-28 08:36:10.689
          !MESSAGE Error while executing LDIF

          • [LDAP: error code 21 - NDS error: no additional information available (-306)]
            !SUBENTRY 1 org.apache.directory.studio.common.core 4 4 2016-12-28 08:36:10.689
            !MESSAGE javax.naming.directory.InvalidAttributeValueException: [LDAP: error code 21 - NDS error: no additional information available (-306)]; remaining name 'cn=b93748,ou=EMPLOYEES,ou=NA,ou=INTERNAL,o=SAC'
            at com.sun.jndi.ldap.LdapCtx.mapErrorCode(LdapCtx.java:3148)
            at com.sun.jndi.ldap.LdapCtx.processReturnCode(LdapCtx.java:3081)
            at com.sun.jndi.ldap.LdapCtx.processReturnCode(LdapCtx.java:2888)
            at com.sun.jndi.ldap.LdapCtx.c_modifyAttributes(LdapCtx.java:1475)
            at com.sun.jndi.toolkit.ctx.ComponentDirContext.p_modifyAttributes(ComponentDirContext.java:277)
            at com.sun.jndi.toolkit.ctx.PartialCompositeDirContext.modifyAttributes(PartialCompositeDirContext.java:192)
            at org.apache.directory.studio.connection.core.io.jndi.JNDIConnectionWrapper$2.run(JNDIConnectionWrapper.java:455)
            at org.apache.directory.studio.connection.core.io.jndi.JNDIConnectionWrapper.runAndMonitor(JNDIConnectionWrapper.java:1304)
            at org.apache.directory.studio.connection.core.io.jndi.JNDIConnectionWrapper.checkConnectionAndRunAndMonitor(JNDIConnectionWrapper.java:1237)
            at org.apache.directory.studio.connection.core.io.jndi.JNDIConnectionWrapper.modifyEntry(JNDIConnectionWrapper.java:510)
            at org.apache.directory.studio.ldapbrowser.core.jobs.ImportLdifRunnable.importLdifRecord(ImportLdifRunnable.java:515)
            at org.apache.directory.studio.ldapbrowser.core.jobs.ImportLdifRunnable.importLdif(ImportLdifRunnable.java:272)
            at org.apache.directory.studio.ldapbrowser.core.jobs.ExecuteLdifRunnable.executeLdif(ExecuteLdifRunnable.java:157)
            at org.apache.directory.studio.ldapbrowser.core.jobs.ExecuteLdifRunnable.run(ExecuteLdifRunnable.java:123)
            at org.apache.directory.studio.ldapbrowser.core.jobs.UpdateEntryRunnable.run(UpdateEntryRunnable.java:59)
            at org.apache.directory.studio.connection.ui.RunnableContextRunner$1.run(RunnableContextRunner.java:116)
            at org.eclipse.jface.operation.ModalContext$ModalContextThread.run(ModalContext.java:119)

          !STACK 0
          javax.naming.directory.InvalidAttributeValueException: [LDAP: error code 21 - NDS error: no additional information available (-306)]; remaining name 'cn=b93748,ou=EMPLOYEES,ou=NA,ou=INTERNAL,o=SAC'
          at com.sun.jndi.ldap.LdapCtx.mapErrorCode(LdapCtx.java:3148)
          at com.sun.jndi.ldap.LdapCtx.processReturnCode(LdapCtx.java:3081)
          at com.sun.jndi.ldap.LdapCtx.processReturnCode(LdapCtx.java:2888)
          at com.sun.jndi.ldap.LdapCtx.c_modifyAttributes(LdapCtx.java:1475)
          at com.sun.jndi.toolkit.ctx.ComponentDirContext.p_modifyAttributes(ComponentDirContext.java:277)
          at com.sun.jndi.toolkit.ctx.PartialCompositeDirContext.modifyAttributes(PartialCompositeDirContext.java:192)
          at org.apache.directory.studio.connection.core.io.jndi.JNDIConnectionWrapper$2.run(JNDIConnectionWrapper.java:455)
          at org.apache.directory.studio.connection.core.io.jndi.JNDIConnectionWrapper.runAndMonitor(JNDIConnectionWrapper.java:1304)
          at org.apache.directory.studio.connection.core.io.jndi.JNDIConnectionWrapper.checkConnectionAndRunAndMonitor(JNDIConnectionWrapper.java:1237)
          at org.apache.directory.studio.connection.core.io.jndi.JNDIConnectionWrapper.modifyEntry(JNDIConnectionWrapper.java:510)
          at org.apache.directory.studio.ldapbrowser.core.jobs.ImportLdifRunnable.importLdifRecord(ImportLdifRunnable.java:515)
          at org.apache.directory.studio.ldapbrowser.core.jobs.ImportLdifRunnable.importLdif(ImportLdifRunnable.java:272)
          at org.apache.directory.studio.ldapbrowser.core.jobs.ExecuteLdifRunnable.executeLdif(ExecuteLdifRunnable.java:157)
          at org.apache.directory.studio.ldapbrowser.core.jobs.ExecuteLdifRunnable.run(ExecuteLdifRunnable.java:123)
          at org.apache.directory.studio.ldapbrowser.core.jobs.UpdateEntryRunnable.run(UpdateEntryRunnable.java:59)
          at org.apache.directory.studio.connection.ui.RunnableContextRunner$1.run(RunnableContextRunner.java:116)
          at org.eclipse.jface.operation.ModalContext$ModalContextThread.run(ModalContext.java:119)

          !ENTRY org.eclipse.ui 4 4 2016-12-28 08:36:37.959
          !MESSAGE Conflicting handlers for org.eclipse.ui.edit.text.contentAssist.proposals:

          {org.apache.directory.studio.ldapbrowser.common.widgets.DialogContentAssistant$2@5f0b2fe1} vs {org.apache.directory.studio.ldapbrowser.common.widgets.DialogContentAssistant$2@4b9b57d9}

          !ENTRY org.eclipse.ui 4 4 2016-12-28 08:36:37.959
          !MESSAGE Conflicting handlers for org.eclipse.ui.edit.text.contentAssist.proposals: {org.apache.directory.studio.ldapbrowser.common.widgets.DialogContentAssistant$2@5f0b2fe1}

          vs

          {org.eclipse.ui.fieldassist.ContentAssistCommandAdapter$1@75dc1d5a}

          !ENTRY org.eclipse.ui 4 0 2016-12-28 08:36:46.309
          !MESSAGE Unhandled event loop exception
          !STACK 0
          org.eclipse.swt.SWTException: Failed to execute runnable (org.eclipse.core.runtime.AssertionFailedException: assertion failed: )
          at org.eclipse.swt.SWT.error(SWT.java:4491)
          at org.eclipse.swt.SWT.error(SWT.java:4406)
          at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:138)
          at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:4024)
          at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3700)
          at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$4.run(PartRenderingEngine.java:1127)
          at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:337)
          at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:1018)
          at org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:156)
          at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:694)
          at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:337)
          at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:606)
          at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:150)
          at org.apache.directory.studio.Application.start(Application.java:51)
          at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196)
          at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:134)
          at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:104)
          at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:380)
          at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:235)
          at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
          at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
          at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
          at java.lang.reflect.Method.invoke(Method.java:498)
          at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:669)
          at org.eclipse.equinox.launcher.Main.basicRun(Main.java:608)
          at org.eclipse.equinox.launcher.Main.run(Main.java:1515)
          Caused by: org.eclipse.core.runtime.AssertionFailedException: assertion failed:
          at org.eclipse.core.runtime.Assert.isTrue(Assert.java:110)
          at org.eclipse.core.runtime.Assert.isTrue(Assert.java:96)
          at org.eclipse.jface.viewers.TextCellEditor.doSetValue(TextCellEditor.java:231)
          at org.apache.directory.studio.valueeditors.AbstractInPlaceStringValueEditor.doSetValue(AbstractInPlaceStringValueEditor.java:230)
          at org.eclipse.jface.viewers.CellEditor.setValue(CellEditor.java:861)
          at org.eclipse.jface.viewers.EditingSupport.initializeCellEditorValue(EditingSupport.java:100)
          at org.eclipse.jface.viewers.ColumnViewerEditor.activateCellEditor(ColumnViewerEditor.java:199)
          at org.eclipse.jface.viewers.ColumnViewerEditor.handleEditorActivationEvent(ColumnViewerEditor.java:452)
          at org.eclipse.jface.viewers.ColumnViewer.triggerEditorActivationEvent(ColumnViewer.java:676)
          at org.eclipse.jface.viewers.ColumnViewer.editElement(ColumnViewer.java:422)
          at org.eclipse.jface.viewers.TreeViewer.editElement(TreeViewer.java:1118)
          at org.apache.directory.studio.ldapbrowser.common.widgets.entryeditor.AbstractOpenEditorAction.activateEditor(AbstractOpenEditorAction.java:140)
          at org.apache.directory.studio.ldapbrowser.common.widgets.entryeditor.AbstractOpenEditorAction.run(AbstractOpenEditorAction.java:111)
          at org.apache.directory.studio.ldapbrowser.common.widgets.entryeditor.OpenBestEditorAction.run(OpenBestEditorAction.java:212)
          at org.apache.directory.studio.ldapbrowser.common.actions.proxy.BrowserActionProxy.run(BrowserActionProxy.java:260)
          at org.apache.directory.studio.ldapbrowser.common.widgets.entryeditor.OpenDefaultEditorAction.run(OpenDefaultEditorAction.java:125)
          at org.apache.directory.studio.ldapbrowser.common.widgets.entryeditor.EntryEditorWidgetUniversalListener.entryUpdated(EntryEditorWidgetUniversalListener.java:264)
          at org.apache.directory.studio.ldapbrowser.ui.editors.entry.EntryEditorUniversalListener.entryUpdated(EntryEditorUniversalListener.java:186)
          at org.apache.directory.studio.ldapbrowser.core.events.EventRegistry$4$1.run(EventRegistry.java:237)
          at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:35)
          at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:135)
          ... 23 more

          Show
          e8link Eric Lawson added a comment - Is it visible in the entry editor and the boolean is a single-valued attribute. In the entry editor a message appears ">>> Error, the configured value editor can not handle this value!<<<" Here is the logfile errors: !ENTRY org.eclipse.ui 4 0 2016-12-28 08:36:07.400 !MESSAGE Unhandled event loop exception !STACK 0 org.eclipse.core.runtime.AssertionFailedException: assertion failed: at org.eclipse.core.runtime.Assert.isTrue(Assert.java:110) at org.eclipse.core.runtime.Assert.isTrue(Assert.java:96) at org.eclipse.jface.viewers.TextCellEditor.doSetValue(TextCellEditor.java:231) at org.apache.directory.studio.valueeditors.AbstractInPlaceStringValueEditor.doSetValue(AbstractInPlaceStringValueEditor.java:230) at org.eclipse.jface.viewers.CellEditor.setValue(CellEditor.java:861) at org.eclipse.jface.viewers.EditingSupport.initializeCellEditorValue(EditingSupport.java:100) at org.eclipse.jface.viewers.ColumnViewerEditor.activateCellEditor(ColumnViewerEditor.java:199) at org.eclipse.jface.viewers.ColumnViewerEditor.handleEditorActivationEvent(ColumnViewerEditor.java:452) at org.eclipse.jface.viewers.ColumnViewer.triggerEditorActivationEvent(ColumnViewer.java:676) at org.eclipse.jface.viewers.ColumnViewer.editElement(ColumnViewer.java:422) at org.eclipse.jface.viewers.TreeViewer.editElement(TreeViewer.java:1118) at org.apache.directory.studio.ldapbrowser.common.widgets.entryeditor.AbstractOpenEditorAction.activateEditor(AbstractOpenEditorAction.java:140) at org.apache.directory.studio.ldapbrowser.common.widgets.entryeditor.AbstractOpenEditorAction.run(AbstractOpenEditorAction.java:111) at org.apache.directory.studio.ldapbrowser.common.widgets.entryeditor.OpenBestEditorAction.run(OpenBestEditorAction.java:212) at org.apache.directory.studio.ldapbrowser.common.actions.proxy.BrowserActionProxy.run(BrowserActionProxy.java:260) at org.apache.directory.studio.ldapbrowser.common.widgets.entryeditor.OpenDefaultEditorAction.run(OpenDefaultEditorAction.java:125) at org.apache.directory.studio.ldapbrowser.common.widgets.entryeditor.EntryEditorWidgetUniversalListener$1.widgetDefaultSelected(EntryEditorWidgetUniversalListener.java:94) at org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:119) at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84) at org.eclipse.swt.widgets.Display.sendEvent(Display.java:4230) at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1491) at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1514) at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1499) at org.eclipse.swt.widgets.Widget.notifyListeners(Widget.java:1299) at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:4072) at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3698) at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$4.run(PartRenderingEngine.java:1127) at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:337) at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:1018) at org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:156) at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:694) at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:337) at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:606) at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:150) at org.apache.directory.studio.Application.start(Application.java:51) at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196) at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:134) at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:104) at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:380) at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:235) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:669) at org.eclipse.equinox.launcher.Main.basicRun(Main.java:608) at org.eclipse.equinox.launcher.Main.run(Main.java:1515) !ENTRY org.apache.directory.studio.common.core 4 4 2016-12-28 08:36:10.689 !MESSAGE Error while executing LDIF [LDAP: error code 21 - NDS error: no additional information available (-306)] !SUBENTRY 1 org.apache.directory.studio.common.core 4 4 2016-12-28 08:36:10.689 !MESSAGE javax.naming.directory.InvalidAttributeValueException: [LDAP: error code 21 - NDS error: no additional information available (-306)] ; remaining name 'cn=b93748,ou=EMPLOYEES,ou=NA,ou=INTERNAL,o=SAC' at com.sun.jndi.ldap.LdapCtx.mapErrorCode(LdapCtx.java:3148) at com.sun.jndi.ldap.LdapCtx.processReturnCode(LdapCtx.java:3081) at com.sun.jndi.ldap.LdapCtx.processReturnCode(LdapCtx.java:2888) at com.sun.jndi.ldap.LdapCtx.c_modifyAttributes(LdapCtx.java:1475) at com.sun.jndi.toolkit.ctx.ComponentDirContext.p_modifyAttributes(ComponentDirContext.java:277) at com.sun.jndi.toolkit.ctx.PartialCompositeDirContext.modifyAttributes(PartialCompositeDirContext.java:192) at org.apache.directory.studio.connection.core.io.jndi.JNDIConnectionWrapper$2.run(JNDIConnectionWrapper.java:455) at org.apache.directory.studio.connection.core.io.jndi.JNDIConnectionWrapper.runAndMonitor(JNDIConnectionWrapper.java:1304) at org.apache.directory.studio.connection.core.io.jndi.JNDIConnectionWrapper.checkConnectionAndRunAndMonitor(JNDIConnectionWrapper.java:1237) at org.apache.directory.studio.connection.core.io.jndi.JNDIConnectionWrapper.modifyEntry(JNDIConnectionWrapper.java:510) at org.apache.directory.studio.ldapbrowser.core.jobs.ImportLdifRunnable.importLdifRecord(ImportLdifRunnable.java:515) at org.apache.directory.studio.ldapbrowser.core.jobs.ImportLdifRunnable.importLdif(ImportLdifRunnable.java:272) at org.apache.directory.studio.ldapbrowser.core.jobs.ExecuteLdifRunnable.executeLdif(ExecuteLdifRunnable.java:157) at org.apache.directory.studio.ldapbrowser.core.jobs.ExecuteLdifRunnable.run(ExecuteLdifRunnable.java:123) at org.apache.directory.studio.ldapbrowser.core.jobs.UpdateEntryRunnable.run(UpdateEntryRunnable.java:59) at org.apache.directory.studio.connection.ui.RunnableContextRunner$1.run(RunnableContextRunner.java:116) at org.eclipse.jface.operation.ModalContext$ModalContextThread.run(ModalContext.java:119) !STACK 0 javax.naming.directory.InvalidAttributeValueException: [LDAP: error code 21 - NDS error: no additional information available (-306)] ; remaining name 'cn=b93748,ou=EMPLOYEES,ou=NA,ou=INTERNAL,o=SAC' at com.sun.jndi.ldap.LdapCtx.mapErrorCode(LdapCtx.java:3148) at com.sun.jndi.ldap.LdapCtx.processReturnCode(LdapCtx.java:3081) at com.sun.jndi.ldap.LdapCtx.processReturnCode(LdapCtx.java:2888) at com.sun.jndi.ldap.LdapCtx.c_modifyAttributes(LdapCtx.java:1475) at com.sun.jndi.toolkit.ctx.ComponentDirContext.p_modifyAttributes(ComponentDirContext.java:277) at com.sun.jndi.toolkit.ctx.PartialCompositeDirContext.modifyAttributes(PartialCompositeDirContext.java:192) at org.apache.directory.studio.connection.core.io.jndi.JNDIConnectionWrapper$2.run(JNDIConnectionWrapper.java:455) at org.apache.directory.studio.connection.core.io.jndi.JNDIConnectionWrapper.runAndMonitor(JNDIConnectionWrapper.java:1304) at org.apache.directory.studio.connection.core.io.jndi.JNDIConnectionWrapper.checkConnectionAndRunAndMonitor(JNDIConnectionWrapper.java:1237) at org.apache.directory.studio.connection.core.io.jndi.JNDIConnectionWrapper.modifyEntry(JNDIConnectionWrapper.java:510) at org.apache.directory.studio.ldapbrowser.core.jobs.ImportLdifRunnable.importLdifRecord(ImportLdifRunnable.java:515) at org.apache.directory.studio.ldapbrowser.core.jobs.ImportLdifRunnable.importLdif(ImportLdifRunnable.java:272) at org.apache.directory.studio.ldapbrowser.core.jobs.ExecuteLdifRunnable.executeLdif(ExecuteLdifRunnable.java:157) at org.apache.directory.studio.ldapbrowser.core.jobs.ExecuteLdifRunnable.run(ExecuteLdifRunnable.java:123) at org.apache.directory.studio.ldapbrowser.core.jobs.UpdateEntryRunnable.run(UpdateEntryRunnable.java:59) at org.apache.directory.studio.connection.ui.RunnableContextRunner$1.run(RunnableContextRunner.java:116) at org.eclipse.jface.operation.ModalContext$ModalContextThread.run(ModalContext.java:119) !ENTRY org.eclipse.ui 4 4 2016-12-28 08:36:37.959 !MESSAGE Conflicting handlers for org.eclipse.ui.edit.text.contentAssist.proposals: {org.apache.directory.studio.ldapbrowser.common.widgets.DialogContentAssistant$2@5f0b2fe1} vs {org.apache.directory.studio.ldapbrowser.common.widgets.DialogContentAssistant$2@4b9b57d9} !ENTRY org.eclipse.ui 4 4 2016-12-28 08:36:37.959 !MESSAGE Conflicting handlers for org.eclipse.ui.edit.text.contentAssist.proposals: {org.apache.directory.studio.ldapbrowser.common.widgets.DialogContentAssistant$2@5f0b2fe1} vs {org.eclipse.ui.fieldassist.ContentAssistCommandAdapter$1@75dc1d5a} !ENTRY org.eclipse.ui 4 0 2016-12-28 08:36:46.309 !MESSAGE Unhandled event loop exception !STACK 0 org.eclipse.swt.SWTException: Failed to execute runnable (org.eclipse.core.runtime.AssertionFailedException: assertion failed: ) at org.eclipse.swt.SWT.error(SWT.java:4491) at org.eclipse.swt.SWT.error(SWT.java:4406) at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:138) at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:4024) at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3700) at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$4.run(PartRenderingEngine.java:1127) at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:337) at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:1018) at org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:156) at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:694) at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:337) at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:606) at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:150) at org.apache.directory.studio.Application.start(Application.java:51) at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196) at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:134) at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:104) at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:380) at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:235) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:669) at org.eclipse.equinox.launcher.Main.basicRun(Main.java:608) at org.eclipse.equinox.launcher.Main.run(Main.java:1515) Caused by: org.eclipse.core.runtime.AssertionFailedException: assertion failed: at org.eclipse.core.runtime.Assert.isTrue(Assert.java:110) at org.eclipse.core.runtime.Assert.isTrue(Assert.java:96) at org.eclipse.jface.viewers.TextCellEditor.doSetValue(TextCellEditor.java:231) at org.apache.directory.studio.valueeditors.AbstractInPlaceStringValueEditor.doSetValue(AbstractInPlaceStringValueEditor.java:230) at org.eclipse.jface.viewers.CellEditor.setValue(CellEditor.java:861) at org.eclipse.jface.viewers.EditingSupport.initializeCellEditorValue(EditingSupport.java:100) at org.eclipse.jface.viewers.ColumnViewerEditor.activateCellEditor(ColumnViewerEditor.java:199) at org.eclipse.jface.viewers.ColumnViewerEditor.handleEditorActivationEvent(ColumnViewerEditor.java:452) at org.eclipse.jface.viewers.ColumnViewer.triggerEditorActivationEvent(ColumnViewer.java:676) at org.eclipse.jface.viewers.ColumnViewer.editElement(ColumnViewer.java:422) at org.eclipse.jface.viewers.TreeViewer.editElement(TreeViewer.java:1118) at org.apache.directory.studio.ldapbrowser.common.widgets.entryeditor.AbstractOpenEditorAction.activateEditor(AbstractOpenEditorAction.java:140) at org.apache.directory.studio.ldapbrowser.common.widgets.entryeditor.AbstractOpenEditorAction.run(AbstractOpenEditorAction.java:111) at org.apache.directory.studio.ldapbrowser.common.widgets.entryeditor.OpenBestEditorAction.run(OpenBestEditorAction.java:212) at org.apache.directory.studio.ldapbrowser.common.actions.proxy.BrowserActionProxy.run(BrowserActionProxy.java:260) at org.apache.directory.studio.ldapbrowser.common.widgets.entryeditor.OpenDefaultEditorAction.run(OpenDefaultEditorAction.java:125) at org.apache.directory.studio.ldapbrowser.common.widgets.entryeditor.EntryEditorWidgetUniversalListener.entryUpdated(EntryEditorWidgetUniversalListener.java:264) at org.apache.directory.studio.ldapbrowser.ui.editors.entry.EntryEditorUniversalListener.entryUpdated(EntryEditorUniversalListener.java:186) at org.apache.directory.studio.ldapbrowser.core.events.EventRegistry$4$1.run(EventRegistry.java:237) at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:35) at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:135) ... 23 more
          Hide
          e8link Eric Lawson added a comment -

          hs_err log file attached

          Show
          e8link Eric Lawson added a comment - hs_err log file attached
          Hide
          elecharny Emmanuel Lecharny added a comment - - edited

          Ok, I have taken another approach to this problem. The thing is that the wizard dialog will never store anything in the value, it will be up to the associated editor to deal with the error message, if the value is incorrect (here, null for a boolean value). We can't set something different than null, because we don't know what would be the default value, and null is a valid value for many attributeTypes.

          If I change the InPlaceBooleanValueEditor class, adding a doSetValue method that sets the value to "TRUE" by default, the browser does not crash anymore, but the text is seen as red (ie, an error). It does not freeze anymore when you double click on the value, but you can't save it immediately - ie, if you don't double-click on the value -, because the value is still seen as empty (actually the red "TRUE" is just an artefact in the TreeViwer, it's not yet a value associated to the Attribute...).

          There is something missing that would not make the value seen as an error, but OTOH, it might be good enough : as soon as you double-click the value, it's validated.

          So it's - again - an half backed solution, but a better one.

          Stefan, any better idea ?

          Show
          elecharny Emmanuel Lecharny added a comment - - edited Ok, I have taken another approach to this problem. The thing is that the wizard dialog will never store anything in the value, it will be up to the associated editor to deal with the error message, if the value is incorrect (here, null for a boolean value). We can't set something different than null, because we don't know what would be the default value, and null is a valid value for many attributeTypes. If I change the InPlaceBooleanValueEditor class, adding a doSetValue method that sets the value to "TRUE" by default, the browser does not crash anymore, but the text is seen as red (ie, an error). It does not freeze anymore when you double click on the value, but you can't save it immediately - ie, if you don't double-click on the value -, because the value is still seen as empty (actually the red "TRUE" is just an artefact in the TreeViwer , it's not yet a value associated to the Attribute...). There is something missing that would not make the value seen as an error, but OTOH, it might be good enough : as soon as you double-click the value, it's validated. So it's - again - an half backed solution, but a better one. Stefan, any better idea ?
          Hide
          elecharny Emmanuel Lecharny added a comment -

          Side note : there is another problem (and I will open a new ticket for that). If you want to create an attribute with a null value, and this is legit, for instance for any attribute which syntax is IA5String for instance, you get a NPE :

          Caused by: java.lang.RuntimeException: Empty value in attribute mail
          	at org.apache.directory.studio.entryeditors.EntryEditorManager.saveSharedWorkingCopy(EntryEditorManager.java:991)
          	at org.apache.directory.studio.entryeditors.EntryEditorInput.saveSharedWorkingCopy(EntryEditorInput.java:283)
          ...
          

          The two issues are related, as we always set a null value in any added attribute, and we always expect the user to feed the value later on, marking it using the red color.

          At this point, I'm wondering if adding a value editor call at the end of the attribute addition widget wouldn't be a better idea...

          Show
          elecharny Emmanuel Lecharny added a comment - Side note : there is another problem (and I will open a new ticket for that). If you want to create an attribute with a null value, and this is legit, for instance for any attribute which syntax is IA5String for instance, you get a NPE : Caused by: java.lang.RuntimeException: Empty value in attribute mail at org.apache.directory.studio.entryeditors.EntryEditorManager.saveSharedWorkingCopy(EntryEditorManager.java:991) at org.apache.directory.studio.entryeditors.EntryEditorInput.saveSharedWorkingCopy(EntryEditorInput.java:283) ... The two issues are related, as we always set a null value in any added attribute, and we always expect the user to feed the value later on, marking it using the red color. At this point, I'm wondering if adding a value editor call at the end of the attribute addition widget wouldn't be a better idea...
          Hide
          seelmann Stefan Seelmann added a comment -

          Seems to work on Mac now, probably fixed by Emmanuel in commits 1786559, 1786834, 1786868.

          Show
          seelmann Stefan Seelmann added a comment - Seems to work on Mac now, probably fixed by Emmanuel in commits 1786559, 1786834, 1786868.

            People

            • Assignee:
              elecharny Emmanuel Lecharny
              Reporter:
              e8link Eric Lawson
            • Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved:

                Development