Projects tigase _server server-core Issues #589
Installers skip step 21 (#589)
Daniel Wisnewski opened 10 years ago
Due Date
2015-12-30

The izPak installers will skip step 21 (database setup) screen when 'other database...' it selected. .exe file will give a blank page on step 21, and will show error No Database. .jar installer will show Database connection OK and then be unable to edit database.

May be related to #3574

iZpak Error.jpg Screenshot 2015-12-08 16.36.15.png Screenshot_2015-12-10_12_34_43.png

  • Daniel Wisnewski commented 10 years ago

    Would it be best to have a notification added that other DB will require manual configuration?

  • Wojciech Kapcia (Tigase) commented 9 years ago

    I cannot reproduce it - for me Panel21 shows correctly configuration. Exe and Jar are both IzPack and are exactly the same.

  • Daniel Wisnewski commented 9 years ago

    If advanced configuration settings is checked in step 13, step 21 has the blank page shown above, if it is not, step 21 shows as normal. Both windows and linux environments behave the same. Of course DB setup page shows errors since no DB is specified. I think we should direct users to the manual with a link for 'other DB setup' in that setup step.

  • Wojciech Kapcia (Tigase) commented 9 years ago

    Daniel Wisnewski wrote:

    If advanced configuration settings is checked in step 13, step 21 has the blank page shown above, if it is not, step 21 shows as normal.

    I've tried to reproduce it and it worked: attachment:Screenshot_2015-12-10_12_34_43.png

    Both windows and linux environments behave the same. Of course DB setup page shows errors since no DB is specified. I think we should direct users to the manual with a link for 'other DB setup' in that setup step.

    This shouldn't really happen like that because in case of selecting Other a dummy db is used:

    validateDBConnection (root-db-uri): jdbc:derby:null;create=true
    selectDatabase (db_uri): jdbc:derby:null;create=true
    selectDatabase (jdbc.drivers): org.apache.derby.jdbc.EmbeddedDriver
    selectDatabase (res_prefix): derby
    selectDatabase (schema_ver_query): values TigGetDBProperty('schema-version')
    selectDatabase (driver): org.apache.derby.jdbc.EmbeddedDriver@24745359
    selectDatabase (driver.acceptsURL): true
    DriverManager (drivers): com.mysql.jdbc.Driver@3761c3a
    DriverManager (drivers): org.apache.derby.jdbc.AutoloadedDriver@a08692c
    DriverManager (drivers): org.apache.derby.jdbc.EmbeddedDriver@24745359
    DriverManager (drivers end):
    validateDBExists (--user-db-uri): jdbc:derby:null
    validateDBSchema (--user-db-uri): jdbc:derby:null
    Schema exists, users: 2
    addXmppAdminAccount (--auth-db-uri): null
    addXmppAdminAccount (root-tigase-db-uri): jdbc:derby:null;create=true
    RepositoryFactory.getAuthRepository(null, jdbc:derby:null;create=true,  + null)
    

    Could you try running installer with -DTRACE=TRUE and examine the variables / console log?

    java -jar -DTRACE=TRUE tigase-issue #7.1.0-SNAPSHOT-b4109.jar
    
  • Daniel Wisnewski commented 9 years ago

    Looks like the blank page is caused by an NPE when running getUserDB. Error shows in exe and jar installer in windows environments. I cannot seem to reproduce error in Linux with newer versions.

    === Processing varName: varValue :: configType : --gen-config-def
    Set: config-type = --gen-config-def
    === Processing varName: varValue :: virtualDomains : SERVER
    Set: --virt-hosts = SERVER
    === Processing varName: varValue :: admins : admin@SERVER
    Set: --admins = admin@SERVER
    === Processing varName: varValue :: dbType : Other
    @@ getUserDB | dbVar: Other
    @@ getUserDB | result: null
    @@ getUserDB | dbVar: Other
    @@ getUserDB | result: null
    Set: --user-db = derby
    === Processing varName: varValue :: dbAuthHandle : null
    === Processing varName: varValue :: mucComponent : on
     @@ Set: acsMUC acsMUCComponent / acsMUCValue: off
    Set: --comp-name-1 = muc % to:--comp-class-1=tigase.muc.MUCComponent
    === Processing varName: varValue :: PubSubComponent : on
     @@ Set: acsMUC acsPubSubComponent / acsMUCValue: off
    Set: --comp-name-2 = pubsub % to:--comp-class-2=tigase.pubsub.PubSubComponent
    === Processing varName: varValue :: socks5Component : on
    Set: --comp-name-3 = proxy % to:--comp-class-3=tigase.socks5.Socks5ProxyComponent
    === Processing varName: varValue :: stunComponent : off
    Set: --comp-name-3 = stun % to:--comp-class-3=tigase.stun.StunComponent
    === Processing varName: varValue :: httpApiComponent : off
    Set: --comp-name-3 = rest % to:--comp-class-3=tigase.http.HttpMessageReceiver
    === Processing varName: varValue :: messageArchiveComponent : on
    Set: --comp-name-4 = message-archive % to:--comp-class-4=tigase.http.HttpMessageReceiver
    === Processing varName: varValue :: clusterMode : true
    Set: --cluster-mode = true
    === Processing varName: varValue :: debug : null
    Set: --debug = server
    === Processing varName: varValue :: plugins : null
    Set: --sm-plugins = +message-archive-xep-0136,+jabber:iq:auth,+urn:ietf:params:xml:ns:xmpp-sasl,+urn:ietf:params:xml:ns:xmpp-bind,+urn:ietf:params:xml:ns:xmpp-session,+jabber:iq:register,+jabber:iq:roster,+presence,+jabber:iq:privacy,+jabber:iq:version,+http://jabber.org/protocol/stats,+starttls,+msgoffline,+vcard-temp,+http://jabber.org/protocol/commands,+jabber:iq:private,+urn:xmpp:ping,+basic-filter,+domain-filter,+pep,-zlib
    === Processing varName: varValue :: userDBUri : null
    @@ getUserDB | dbVar: Other
    @@ getUserDB | result: null
    getDBUri | database: derby
    java.lang.NullPointerException
            at com.izforge.izpack.panels.TigaseConfigSaveHelper.getDBUri(Unknown Source)
            at com.izforge.izpack.panels.TigaseConfigSaveHelper.showConfig(Unknown Source)
            at com.izforge.izpack.panels.TigaseConfigSavePanel.panelActivate(Unknown Source)
            at com.izforge.izpack.installer.InstallerFrame.switchPanel(Unknown Source)
            at com.izforge.izpack.installer.InstallerFrame.navigateNext(Unknown Source)
            at com.izforge.izpack.installer.InstallerFrame.navigateNext(Unknown Source)
            at com.izforge.izpack.installer.InstallerFrame$NavigationHandler.actionPerformed(Unknown Source)
            at javax.swing.AbstractButton.fireActionPerformed(Unknown Source)
            at javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source)
            at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source)
            at javax.swing.DefaultButtonModel.setPressed(Unknown Source)
            at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(Unknown Source)
            at java.awt.Component.processMouseEvent(Unknown Source)
            at javax.swing.JComponent.processMouseEvent(Unknown Source)
            at java.awt.Component.processEvent(Unknown Source)
            at java.awt.Container.processEvent(Unknown Source)
            at java.awt.Component.dispatchEventImpl(Unknown Source)
            at java.awt.Container.dispatchEventImpl(Unknown Source)
            at java.awt.Component.dispatchEvent(Unknown Source)
            at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)
            at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
            at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)
            at java.awt.Container.dispatchEventImpl(Unknown Source)
            at java.awt.Window.dispatchEventImpl(Unknown Source)
            at java.awt.Component.dispatchEvent(Unknown Source)
            at java.awt.EventQueue.dispatchEventImpl(Unknown Source)
            at java.awt.EventQueue.access$500(Unknown Source)
            at java.awt.EventQueue$3.run(Unknown Source)
            at java.awt.EventQueue$3.run(Unknown Source)
            at java.security.AccessController.doPrivileged(Native Method)
            at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
            at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
            at java.awt.EventQueue$4.run(Unknown Source)
            at java.awt.EventQueue$4.run(Unknown Source)
            at java.security.AccessController.doPrivileged(Native Method)
            at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
            at java.awt.EventQueue.dispatchEvent(Unknown Source)
            at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
            at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
            at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
            at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
            at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
            at java.awt.EventDispatchThread.run(Unknown Source)
    
  • Wojciech Kapcia (Tigase) commented 9 years ago

    This is a bit difficult to track as there are no line numbers and the sources are actually in the patch file: @tigase-server/src/main/izpack/changes.patch@. I've made one change (there is one operation that should be applied under windows only, which would fit into above description) which should fix the problem.

    However - given that we are phasing out IzPack installer (in favour to web based one) and "Other" option is not that essential (nor used, I would say - most people probably will go with either Derby or MySQL for a quick test) I don't think that devoting time to polishing such features makes sense -- %kobit , what do you think?

  • Artur Hefczyc commented 9 years ago

    I agree with Wojciech. Our focus and effort should be put on the web installer instead.

issue 1 of 1
Type
Bug
Priority
Normal
Assignee
RedmineID
3640
Version
tigase-server-7.1.0
Spent time
0
Issue Votes (0)
Watchers (0)
Reference
tigase/_server/server-core#589
Please wait...
Page is in error, reload to recover