GUI Stack Trace
Sunday, 7 June 2020 · 6 messages · last reply 8 Jun 2020
BP
Ben Pracht7 Jun 2020 08:09 #
Hi Folks,
I got this error trying to specify a directory location when creating a database using the GUI by dialog. Creating the database via command works. I feel like this is somehow not the fault of BaseX because I don't see this on my other Linux machine. Nonetheless, I'd like recommendations on how the Linux side of the basex community works.
My setup:
cat /etc/*release
edora release 30 (Thirty)
NAME=Fedora
VERSION="30 (Workstation Edition)"
ID=fedora
VERSION_ID=30
VERSION_CODENAME=""
PLATFORM_ID="platform:f30"
PRETTY_NAME="Fedora 30 (Workstation Edition)"
ANSI_COLOR="0;34"
LOGO=fedora-logo-icon
CPE_NAME="cpe:/o:fedoraproject:fedora:30"
HOME_URL="https://fedoraproject.org/"
DOCUMENTATION_URL="
https://docs.fedoraproject.org/en-US/fedora/f30/system-administrators-guide/ "
SUPPORT_URL="https://fedoraproject.org/wiki/Communicating_and_getting_help" BUG_REPORT_URL="https://bugzilla.redhat.com/"
REDHAT_BUGZILLA_PRODUCT="Fedora"
REDHAT_BUGZILLA_PRODUCT_VERSION=30
REDHAT_SUPPORT_PRODUCT="Fedora"
REDHAT_SUPPORT_PRODUCT_VERSION=30
PRIVACY_POLICY_URL="https://fedoraproject.org/wiki/Legal:PrivacyPolicy" VARIANT="Workstation Edition"
VARIANT_ID=workstation
Fedora release 30 (Thirty)
Fedora release 30 (Thirty)
export |grep DESKTOP
declare -x DESKTOP_SESSION="/usr/share/xsessions/cinnamon2d"
declare -x GNOME_DESKTOP_SESSION_ID="this-is-deprecated"
declare -x IMSETTINGS_INTEGRATE_DESKTOP="yes"
declare -x XDG_CURRENT_DESKTOP="X-Cinnamon"
declare -x XDG_SESSION_DESKTOP=""bpracht2@pracht-office-closet basex-rent-world]$ java -cp
/home/bpracht/rent-world/basex-rent-world/BaseX.jar:/home/bpracht/rent-world/basex-rent-world/lib/custom/*:/home/bpracht/rent-world/basex-rent-world/lib/*: -Xms2g -Xmx4g org.basex.BaseXGUI
Exception in thread "AWT-EventQueue-1" java.lang.NullPointerException at javax.swing.JLabel.setIcon(JLabel.java:406)
at
org.basex.gui.view.project.ProjectCellRenderer.getTreeCellRendererComponent(ProjectCellRenderer.java:29) at
javax.swing.plaf.basic.BasicTreeUI$NodeDimensionsHandler.getNodeDimensions(BasicTreeUI.java:2807) at
javax.swing.tree.AbstractLayoutCache.getNodeDimensions(AbstractLayoutCache.java:492) at
javax.swing.tree.FixedHeightLayoutCache.getBounds(FixedHeightLayoutCache.java:553) at
javax.swing.tree.FixedHeightLayoutCache.getBounds(FixedHeightLayoutCache.java:199) at
javax.swing.tree.AbstractLayoutCache.getPreferredHeight(AbstractLayoutCache.java:190) at
javax.swing.plaf.basic.BasicTreeUI.updateCachedPreferredSize(BasicTreeUI.java:1902) at
javax.swing.plaf.basic.BasicTreeUI.getPreferredSize(BasicTreeUI.java:2003) at
javax.swing.plaf.basic.BasicTreeUI.getPreferredSize(BasicTreeUI.java:1991) at javax.swing.JComponent.getPreferredSize(JComponent.java:1662) at
javax.swing.ScrollPaneLayout.layoutContainer(ScrollPaneLayout.java:791) at java.awt.Container.layout(Container.java:1513)
at java.awt.Container.doLayout(Container.java:1502)
at java.awt.Container.validateTree(Container.java:1698) at java.awt.Container.validate(Container.java:1633)
at javax.swing.RepaintManager$3.run(RepaintManager.java:711) at javax.swing.RepaintManager$3.run(RepaintManager.java:709) at java.security.AccessController.doPrivileged(Native Method) at
java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:74) at
javax.swing.RepaintManager.validateInvalidComponents(RepaintManager.java:708) at
javax.swing.RepaintManager$ProcessingRunnable.run(RepaintManager.java:1731) at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:311) at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:758) at java.awt.EventQueue.access$500(EventQueue.java:97) at java.awt.EventQueue$3.run(EventQueue.java:709)
at java.awt.EventQueue$3.run(EventQueue.java:703)
Best Regards,
Ben Pracht
ben.pracht at gmail.com
CG
Christian Grün7 Jun 2020 08:34 #
Yes, this problem seems to be caused by the combination of your Linux environment and the Java version (the stack trace only contains paths to standard Java classes). Which JDK do you use?
Quoted text · Ben Pracht · 97 lines
Ben Pracht <ben.pracht at gmail.com> schrieb am So., 7. Juni 2020, 06:09: > Hi Folks, > > I got this error trying to specify a directory location when creating a > database using the GUI by dialog. Creating the database via command > works. I feel like this is somehow not the fault of BaseX because I don't > see this on my other Linux machine. Nonetheless, I'd like recommendations > on how the Linux side of the basex community works. > > My setup: > cat /etc/*release > edora release 30 (Thirty) > NAME=Fedora > VERSION="30 (Workstation Edition)" > ID=fedora > VERSION_ID=30 > VERSION_CODENAME="" > PLATFORM_ID="platform:f30" > PRETTY_NAME="Fedora 30 (Workstation Edition)" > ANSI_COLOR="0;34" > LOGO=fedora-logo-icon > CPE_NAME="cpe:/o:fedoraproject:fedora:30" > HOME_URL="https://fedoraproject.org/" > DOCUMENTATION_URL=" > https://docs.fedoraproject.org/en-US/fedora/f30/system-administrators-guide/ > " > SUPPORT_URL="https://fedoraproject.org/wiki/Communicating_and_getting_help > " > BUG_REPORT_URL="https://bugzilla.redhat.com/" > REDHAT_BUGZILLA_PRODUCT="Fedora" > REDHAT_BUGZILLA_PRODUCT_VERSION=30 > REDHAT_SUPPORT_PRODUCT="Fedora" > REDHAT_SUPPORT_PRODUCT_VERSION=30 > PRIVACY_POLICY_URL="https://fedoraproject.org/wiki/Legal:PrivacyPolicy" > VARIANT="Workstation Edition" > VARIANT_ID=workstation > Fedora release 30 (Thirty) > Fedora release 30 (Thirty) > > export |grep DESKTOP > declare -x DESKTOP_SESSION="/usr/share/xsessions/cinnamon2d" > declare -x GNOME_DESKTOP_SESSION_ID="this-is-deprecated" > declare -x IMSETTINGS_INTEGRATE_DESKTOP="yes" > declare -x XDG_CURRENT_DESKTOP="X-Cinnamon" > declare -x XDG_SESSION_DESKTOP="" > > > bpracht2@pracht-office-closet basex-rent-world]$ java -cp > /home/bpracht/rent-world/basex-rent-world/BaseX.jar:/home/bpracht/rent-world/basex-rent-world/lib/custom/*:/home/bpracht/rent-world/basex-rent-world/lib/*: > -Xms2g -Xmx4g org.basex.BaseXGUI > > Exception in thread "AWT-EventQueue-1" java.lang.NullPointerException > at javax.swing.JLabel.setIcon(JLabel.java:406) > at > org.basex.gui.view.project.ProjectCellRenderer.getTreeCellRendererComponent(ProjectCellRenderer.java:29) > at > javax.swing.plaf.basic.BasicTreeUI$NodeDimensionsHandler.getNodeDimensions(BasicTreeUI.java:2807) > at > javax.swing.tree.AbstractLayoutCache.getNodeDimensions(AbstractLayoutCache.java:492) > at > javax.swing.tree.FixedHeightLayoutCache.getBounds(FixedHeightLayoutCache.java:553) > at > javax.swing.tree.FixedHeightLayoutCache.getBounds(FixedHeightLayoutCache.java:199) > at > javax.swing.tree.AbstractLayoutCache.getPreferredHeight(AbstractLayoutCache.java:190) > at > javax.swing.plaf.basic.BasicTreeUI.updateCachedPreferredSize(BasicTreeUI.java:1902) > at > javax.swing.plaf.basic.BasicTreeUI.getPreferredSize(BasicTreeUI.java:2003) > at > javax.swing.plaf.basic.BasicTreeUI.getPreferredSize(BasicTreeUI.java:1991) > at javax.swing.JComponent.getPreferredSize(JComponent.java:1662) > at > javax.swing.ScrollPaneLayout.layoutContainer(ScrollPaneLayout.java:791) > at java.awt.Container.layout(Container.java:1513) > at java.awt.Container.doLayout(Container.java:1502) > at java.awt.Container.validateTree(Container.java:1698) > at java.awt.Container.validate(Container.java:1633) > at javax.swing.RepaintManager$3.run(RepaintManager.java:711) > at javax.swing.RepaintManager$3.run(RepaintManager.java:709) > at java.security.AccessController.doPrivileged(Native Method) > at > java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:74) > at > javax.swing.RepaintManager.validateInvalidComponents(RepaintManager.java:708) > at > javax.swing.RepaintManager$ProcessingRunnable.run(RepaintManager.java:1731) > at > java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:311) > at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:758) > at java.awt.EventQueue.access$500(EventQueue.java:97) > at java.awt.EventQueue$3.run(EventQueue.java:709) > at java.awt.EventQueue$3.run(EventQueue.java:703) > Best Regards, > Ben Pracht > ben.pracht at gmail.com >
RD
Reece Dunn7 Jun 2020 09:54 #
Hi Christian,
The following is the relevant part of the stack trace:
Quoted text · Christian Grün · 1 line
>
org.basex.gui.view.project.ProjectCellRenderer.getTreeCellRendererComponent(ProjectCellRenderer.java:29)
It is difficult to spot among the rest of the Java function calls.
Kind regards,
Reece
Quoted text · Christian Grün · 108 lines
On Sun, 7 Jun 2020 at 07:34, Christian Grün <christian.gruen at gmail.com> wrote: > Yes, this problem seems to be caused by the combination of your Linux > environment and the Java version (the stack trace only contains paths to > standard Java classes). Which JDK do you use? > > > > > Ben Pracht <ben.pracht at gmail.com> schrieb am So., 7. Juni 2020, 06:09: > >> Hi Folks, >> >> I got this error trying to specify a directory location when creating a >> database using the GUI by dialog. Creating the database via command >> works. I feel like this is somehow not the fault of BaseX because I don't >> see this on my other Linux machine. Nonetheless, I'd like recommendations >> on how the Linux side of the basex community works. >> >> My setup: >> cat /etc/*release >> edora release 30 (Thirty) >> NAME=Fedora >> VERSION="30 (Workstation Edition)" >> ID=fedora >> VERSION_ID=30 >> VERSION_CODENAME="" >> PLATFORM_ID="platform:f30" >> PRETTY_NAME="Fedora 30 (Workstation Edition)" >> ANSI_COLOR="0;34" >> LOGO=fedora-logo-icon >> CPE_NAME="cpe:/o:fedoraproject:fedora:30" >> HOME_URL="https://fedoraproject.org/" >> DOCUMENTATION_URL=" >> https://docs.fedoraproject.org/en-US/fedora/f30/system-administrators-guide/ >> " >> SUPPORT_URL=" >> https://fedoraproject.org/wiki/Communicating_and_getting_help" >> BUG_REPORT_URL="https://bugzilla.redhat.com/" >> REDHAT_BUGZILLA_PRODUCT="Fedora" >> REDHAT_BUGZILLA_PRODUCT_VERSION=30 >> REDHAT_SUPPORT_PRODUCT="Fedora" >> REDHAT_SUPPORT_PRODUCT_VERSION=30 >> PRIVACY_POLICY_URL="https://fedoraproject.org/wiki/Legal:PrivacyPolicy" >> VARIANT="Workstation Edition" >> VARIANT_ID=workstation >> Fedora release 30 (Thirty) >> Fedora release 30 (Thirty) >> >> export |grep DESKTOP >> declare -x DESKTOP_SESSION="/usr/share/xsessions/cinnamon2d" >> declare -x GNOME_DESKTOP_SESSION_ID="this-is-deprecated" >> declare -x IMSETTINGS_INTEGRATE_DESKTOP="yes" >> declare -x XDG_CURRENT_DESKTOP="X-Cinnamon" >> declare -x XDG_SESSION_DESKTOP="" >> >> >> bpracht2@pracht-office-closet basex-rent-world]$ java -cp >> /home/bpracht/rent-world/basex-rent-world/BaseX.jar:/home/bpracht/rent-world/basex-rent-world/lib/custom/*:/home/bpracht/rent-world/basex-rent-world/lib/*: >> -Xms2g -Xmx4g org.basex.BaseXGUI >> >> Exception in thread "AWT-EventQueue-1" java.lang.NullPointerException >> at javax.swing.JLabel.setIcon(JLabel.java:406) >> at >> org.basex.gui.view.project.ProjectCellRenderer.getTreeCellRendererComponent(ProjectCellRenderer.java:29) >> at >> javax.swing.plaf.basic.BasicTreeUI$NodeDimensionsHandler.getNodeDimensions(BasicTreeUI.java:2807) >> at >> javax.swing.tree.AbstractLayoutCache.getNodeDimensions(AbstractLayoutCache.java:492) >> at >> javax.swing.tree.FixedHeightLayoutCache.getBounds(FixedHeightLayoutCache.java:553) >> at >> javax.swing.tree.FixedHeightLayoutCache.getBounds(FixedHeightLayoutCache.java:199) >> at >> javax.swing.tree.AbstractLayoutCache.getPreferredHeight(AbstractLayoutCache.java:190) >> at >> javax.swing.plaf.basic.BasicTreeUI.updateCachedPreferredSize(BasicTreeUI.java:1902) >> at >> javax.swing.plaf.basic.BasicTreeUI.getPreferredSize(BasicTreeUI.java:2003) >> at >> javax.swing.plaf.basic.BasicTreeUI.getPreferredSize(BasicTreeUI.java:1991) >> at javax.swing.JComponent.getPreferredSize(JComponent.java:1662) >> at >> javax.swing.ScrollPaneLayout.layoutContainer(ScrollPaneLayout.java:791) >> at java.awt.Container.layout(Container.java:1513) >> at java.awt.Container.doLayout(Container.java:1502) >> at java.awt.Container.validateTree(Container.java:1698) >> at java.awt.Container.validate(Container.java:1633) >> at javax.swing.RepaintManager$3.run(RepaintManager.java:711) >> at javax.swing.RepaintManager$3.run(RepaintManager.java:709) >> at java.security.AccessController.doPrivileged(Native Method) >> at >> java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:74) >> at >> javax.swing.RepaintManager.validateInvalidComponents(RepaintManager.java:708) >> at >> javax.swing.RepaintManager$ProcessingRunnable.run(RepaintManager.java:1731) >> at >> java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:311) >> at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:758) >> at java.awt.EventQueue.access$500(EventQueue.java:97) >> at java.awt.EventQueue$3.run(EventQueue.java:709) >> at java.awt.EventQueue$3.run(EventQueue.java:703) >> Best Regards, >> Ben Pracht >> ben.pracht at gmail.com >> >
CG
Christian Grün7 Jun 2020 10:50 #
Thanks, Reece, for the hint, I overlooked this one.
The used Java version might be even more interesting now, as we need to find out in which case JLabel.setIcon triggers a nullpointer exception.
Quoted text · Reece Dunn · 122 lines
Reece Dunn <msclrhd at googlemail.com> schrieb am So., 7. Juni 2020, 09:54: > Hi Christian, > > The following is the relevant part of the stack trace: > > > > org.basex.gui.view.project.ProjectCellRenderer.getTreeCellRendererComponent(ProjectCellRenderer.java:29) > > It is difficult to spot among the rest of the Java function calls. > > Kind regards, > Reece > > On Sun, 7 Jun 2020 at 07:34, Christian Grün <christian.gruen at gmail.com> > wrote: > >> Yes, this problem seems to be caused by the combination of your Linux >> environment and the Java version (the stack trace only contains paths to >> standard Java classes). Which JDK do you use? >> >> >> >> >> Ben Pracht <ben.pracht at gmail.com> schrieb am So., 7. Juni 2020, 06:09: >> >>> Hi Folks, >>> >>> I got this error trying to specify a directory location when creating a >>> database using the GUI by dialog. Creating the database via command >>> works. I feel like this is somehow not the fault of BaseX because I don't >>> see this on my other Linux machine. Nonetheless, I'd like recommendations >>> on how the Linux side of the basex community works. >>> >>> My setup: >>> cat /etc/*release >>> edora release 30 (Thirty) >>> NAME=Fedora >>> VERSION="30 (Workstation Edition)" >>> ID=fedora >>> VERSION_ID=30 >>> VERSION_CODENAME="" >>> PLATFORM_ID="platform:f30" >>> PRETTY_NAME="Fedora 30 (Workstation Edition)" >>> ANSI_COLOR="0;34" >>> LOGO=fedora-logo-icon >>> CPE_NAME="cpe:/o:fedoraproject:fedora:30" >>> HOME_URL="https://fedoraproject.org/" >>> DOCUMENTATION_URL=" >>> https://docs.fedoraproject.org/en-US/fedora/f30/system-administrators-guide/ >>> " >>> SUPPORT_URL=" >>> https://fedoraproject.org/wiki/Communicating_and_getting_help" >>> BUG_REPORT_URL="https://bugzilla.redhat.com/" >>> REDHAT_BUGZILLA_PRODUCT="Fedora" >>> REDHAT_BUGZILLA_PRODUCT_VERSION=30 >>> REDHAT_SUPPORT_PRODUCT="Fedora" >>> REDHAT_SUPPORT_PRODUCT_VERSION=30 >>> PRIVACY_POLICY_URL="https://fedoraproject.org/wiki/Legal:PrivacyPolicy" >>> VARIANT="Workstation Edition" >>> VARIANT_ID=workstation >>> Fedora release 30 (Thirty) >>> Fedora release 30 (Thirty) >>> >>> export |grep DESKTOP >>> declare -x DESKTOP_SESSION="/usr/share/xsessions/cinnamon2d" >>> declare -x GNOME_DESKTOP_SESSION_ID="this-is-deprecated" >>> declare -x IMSETTINGS_INTEGRATE_DESKTOP="yes" >>> declare -x XDG_CURRENT_DESKTOP="X-Cinnamon" >>> declare -x XDG_SESSION_DESKTOP="" >>> >>> >>> bpracht2@pracht-office-closet basex-rent-world]$ java -cp >>> /home/bpracht/rent-world/basex-rent-world/BaseX.jar:/home/bpracht/rent-world/basex-rent-world/lib/custom/*:/home/bpracht/rent-world/basex-rent-world/lib/*: >>> -Xms2g -Xmx4g org.basex.BaseXGUI >>> >>> Exception in thread "AWT-EventQueue-1" java.lang.NullPointerException >>> at javax.swing.JLabel.setIcon(JLabel.java:406) >>> at >>> org.basex.gui.view.project.ProjectCellRenderer.getTreeCellRendererComponent(ProjectCellRenderer.java:29) >>> at >>> javax.swing.plaf.basic.BasicTreeUI$NodeDimensionsHandler.getNodeDimensions(BasicTreeUI.java:2807) >>> at >>> javax.swing.tree.AbstractLayoutCache.getNodeDimensions(AbstractLayoutCache.java:492) >>> at >>> javax.swing.tree.FixedHeightLayoutCache.getBounds(FixedHeightLayoutCache.java:553) >>> at >>> javax.swing.tree.FixedHeightLayoutCache.getBounds(FixedHeightLayoutCache.java:199) >>> at >>> javax.swing.tree.AbstractLayoutCache.getPreferredHeight(AbstractLayoutCache.java:190) >>> at >>> javax.swing.plaf.basic.BasicTreeUI.updateCachedPreferredSize(BasicTreeUI.java:1902) >>> at >>> javax.swing.plaf.basic.BasicTreeUI.getPreferredSize(BasicTreeUI.java:2003) >>> at >>> javax.swing.plaf.basic.BasicTreeUI.getPreferredSize(BasicTreeUI.java:1991) >>> at javax.swing.JComponent.getPreferredSize(JComponent.java:1662) >>> at >>> javax.swing.ScrollPaneLayout.layoutContainer(ScrollPaneLayout.java:791) >>> at java.awt.Container.layout(Container.java:1513) >>> at java.awt.Container.doLayout(Container.java:1502) >>> at java.awt.Container.validateTree(Container.java:1698) >>> at java.awt.Container.validate(Container.java:1633) >>> at javax.swing.RepaintManager$3.run(RepaintManager.java:711) >>> at javax.swing.RepaintManager$3.run(RepaintManager.java:709) >>> at java.security.AccessController.doPrivileged(Native Method) >>> at >>> java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:74) >>> at >>> javax.swing.RepaintManager.validateInvalidComponents(RepaintManager.java:708) >>> at >>> javax.swing.RepaintManager$ProcessingRunnable.run(RepaintManager.java:1731) >>> at >>> java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:311) >>> at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:758) >>> at java.awt.EventQueue.access$500(EventQueue.java:97) >>> at java.awt.EventQueue$3.run(EventQueue.java:709) >>> at java.awt.EventQueue$3.run(EventQueue.java:703) >>> Best Regards, >>> Ben Pracht >>> ben.pracht at gmail.com >>> >>
BP
Ben Pracht8 Jun 2020 05:45 #
I got past this by switching to 1.11, but I was using
java-1.8.0-openjdk-1.8.0.222.b10-0.fc30.x86_64
Not sure if the Oracle version works better.
I realize this is not a Linux specific group, but I've noticed that the BaseX people tend to be both knowledgeable and approachable beyond what I can get on StackOverflow. That said, Linux seems to have lots of problems with Java IMHO regarding rendering. For instance, people seem to love that dark theme, but they're not consistent. It's very common to have icons that have solid black foreground with a dark gray background, regardless of what Linux theme you ask the system to pick. I'm using Cinnamon, but I'm not sure if that means I'm also using some flavor of Gnome as well. Eclipse has this issue much worse than the BaseX GUI. If I could only find the right combination of desktop + Windowing such that I can get the same Start menu, a desktop with icons, support for normal Linux programs like Firefox and LibreOffice, networking apps and most importantly, the ability to have absolutely *no dark theme*, I would be much happier. I tried Trinity Desktop Environment, but they apparently stopped maintenance on it, and little things like the networking app don't work (important on a laptop), but it looked much more like the Windows which worked better for me. In my experience, if it doesn't work out of the box, changing the theme doesn't fully work. If you read this, thank you for listening; I hope someone has a recommendation.
Separately, I recently started a web site, but am shocked at how easy it is to get something to work on BaseX. Adding a restful service was as simple as creating an XQuery module. Amazingly, the system actually found the service without a hassle. I made absolutely no configuration files to get this to work. Even if I wanted to attach security to the service, that seems to be as easy as adding an extra decorator to the service. I'm sure there's things I'm missing, but again, whoever put this software together did a phenomenal job towards making this easy to use.
Kind Regards,
Ben
Best Regards,
Ben Pracht
919.809.2439
ben.pracht at gmail.com
Quoted text · Christian Grün · 133 lines
On Sun, Jun 7, 2020 at 4:50 AM Christian Grün <christian.gruen at gmail.com> wrote: > Thanks, Reece, for the hint, I overlooked this one. > > The used Java version might be even more interesting now, as we need to > find out in which case JLabel.setIcon triggers a nullpointer exception. > > > > > Reece Dunn <msclrhd at googlemail.com> schrieb am So., 7. Juni 2020, 09:54: > >> Hi Christian, >> >> The following is the relevant part of the stack trace: >> >> > >> org.basex.gui.view.project.ProjectCellRenderer.getTreeCellRendererComponent(ProjectCellRenderer.java:29) >> >> It is difficult to spot among the rest of the Java function calls. >> >> Kind regards, >> Reece >> >> On Sun, 7 Jun 2020 at 07:34, Christian Grün <christian.gruen at gmail.com> >> wrote: >> >>> Yes, this problem seems to be caused by the combination of your Linux >>> environment and the Java version (the stack trace only contains paths to >>> standard Java classes). Which JDK do you use? >>> >>> >>> >>> >>> Ben Pracht <ben.pracht at gmail.com> schrieb am So., 7. Juni 2020, 06:09: >>> >>>> Hi Folks, >>>> >>>> I got this error trying to specify a directory location when creating a >>>> database using the GUI by dialog. Creating the database via command >>>> works. I feel like this is somehow not the fault of BaseX because I don't >>>> see this on my other Linux machine. Nonetheless, I'd like recommendations >>>> on how the Linux side of the basex community works. >>>> >>>> My setup: >>>> cat /etc/*release >>>> edora release 30 (Thirty) >>>> NAME=Fedora >>>> VERSION="30 (Workstation Edition)" >>>> ID=fedora >>>> VERSION_ID=30 >>>> VERSION_CODENAME="" >>>> PLATFORM_ID="platform:f30" >>>> PRETTY_NAME="Fedora 30 (Workstation Edition)" >>>> ANSI_COLOR="0;34" >>>> LOGO=fedora-logo-icon >>>> CPE_NAME="cpe:/o:fedoraproject:fedora:30" >>>> HOME_URL="https://fedoraproject.org/" >>>> DOCUMENTATION_URL=" >>>> https://docs.fedoraproject.org/en-US/fedora/f30/system-administrators-guide/ >>>> " >>>> SUPPORT_URL=" >>>> https://fedoraproject.org/wiki/Communicating_and_getting_help" >>>> BUG_REPORT_URL="https://bugzilla.redhat.com/" >>>> REDHAT_BUGZILLA_PRODUCT="Fedora" >>>> REDHAT_BUGZILLA_PRODUCT_VERSION=30 >>>> REDHAT_SUPPORT_PRODUCT="Fedora" >>>> REDHAT_SUPPORT_PRODUCT_VERSION=30 >>>> PRIVACY_POLICY_URL="https://fedoraproject.org/wiki/Legal:PrivacyPolicy" >>>> VARIANT="Workstation Edition" >>>> VARIANT_ID=workstation >>>> Fedora release 30 (Thirty) >>>> Fedora release 30 (Thirty) >>>> >>>> export |grep DESKTOP >>>> declare -x DESKTOP_SESSION="/usr/share/xsessions/cinnamon2d" >>>> declare -x GNOME_DESKTOP_SESSION_ID="this-is-deprecated" >>>> declare -x IMSETTINGS_INTEGRATE_DESKTOP="yes" >>>> declare -x XDG_CURRENT_DESKTOP="X-Cinnamon" >>>> declare -x XDG_SESSION_DESKTOP="" >>>> >>>> >>>> bpracht2@pracht-office-closet basex-rent-world]$ java -cp >>>> /home/bpracht/rent-world/basex-rent-world/BaseX.jar:/home/bpracht/rent-world/basex-rent-world/lib/custom/*:/home/bpracht/rent-world/basex-rent-world/lib/*: >>>> -Xms2g -Xmx4g org.basex.BaseXGUI >>>> >>>> Exception in thread "AWT-EventQueue-1" java.lang.NullPointerException >>>> at javax.swing.JLabel.setIcon(JLabel.java:406) >>>> at >>>> org.basex.gui.view.project.ProjectCellRenderer.getTreeCellRendererComponent(ProjectCellRenderer.java:29) >>>> at >>>> javax.swing.plaf.basic.BasicTreeUI$NodeDimensionsHandler.getNodeDimensions(BasicTreeUI.java:2807) >>>> at >>>> javax.swing.tree.AbstractLayoutCache.getNodeDimensions(AbstractLayoutCache.java:492) >>>> at >>>> javax.swing.tree.FixedHeightLayoutCache.getBounds(FixedHeightLayoutCache.java:553) >>>> at >>>> javax.swing.tree.FixedHeightLayoutCache.getBounds(FixedHeightLayoutCache.java:199) >>>> at >>>> javax.swing.tree.AbstractLayoutCache.getPreferredHeight(AbstractLayoutCache.java:190) >>>> at >>>> javax.swing.plaf.basic.BasicTreeUI.updateCachedPreferredSize(BasicTreeUI.java:1902) >>>> at >>>> javax.swing.plaf.basic.BasicTreeUI.getPreferredSize(BasicTreeUI.java:2003) >>>> at >>>> javax.swing.plaf.basic.BasicTreeUI.getPreferredSize(BasicTreeUI.java:1991) >>>> at javax.swing.JComponent.getPreferredSize(JComponent.java:1662) >>>> at >>>> javax.swing.ScrollPaneLayout.layoutContainer(ScrollPaneLayout.java:791) >>>> at java.awt.Container.layout(Container.java:1513) >>>> at java.awt.Container.doLayout(Container.java:1502) >>>> at java.awt.Container.validateTree(Container.java:1698) >>>> at java.awt.Container.validate(Container.java:1633) >>>> at javax.swing.RepaintManager$3.run(RepaintManager.java:711) >>>> at javax.swing.RepaintManager$3.run(RepaintManager.java:709) >>>> at java.security.AccessController.doPrivileged(Native Method) >>>> at >>>> java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:74) >>>> at >>>> javax.swing.RepaintManager.validateInvalidComponents(RepaintManager.java:708) >>>> at >>>> javax.swing.RepaintManager$ProcessingRunnable.run(RepaintManager.java:1731) >>>> at >>>> java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:311) >>>> at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:758) >>>> at java.awt.EventQueue.access$500(EventQueue.java:97) >>>> at java.awt.EventQueue$3.run(EventQueue.java:709) >>>> at java.awt.EventQueue$3.run(EventQueue.java:703) >>>> Best Regards, >>>> Ben Pracht >>>> ben.pracht at gmail.com >>>> >>>
CG
Christian Grün8 Jun 2020 12:00 #
Hi Ben,
Quoted text · Ben Pracht · 1 line
> I got past this by switching to 1.11
Good to hear that it has been fixed in Java itself.
Quoted text · Ben Pracht · 1 line
> Linux seems to have lots of problems with Java IMHO regarding rendering.
That’s true. Many Linux environments seem to ignore (or contradict) the Java Swing conventions. In the BaseX code, we tried to find compromise that does justice to both the Java rules and OS settings; see e.g. [1]. If you want to have a fixed Look and Feel, you can choose one in the GUI preferences, and you can add the JTattoo library to your classpath [2].
Hope this helps,
Christian
PS: Thanks for the kudos.
[1] https://github.com/BaseXdb/basex/issues/1746
[2] https://docs.basex.org/wiki/Graphical_User_Interface#Look_and_Feel
For instance, people seem to love that dark theme, but they're not consistent. It's very common to have icons that have solid black foreground with a dark gray background, regardless of what Linux theme you ask the system to pick. I'm using Cinnamon, but I'm not sure if that means I'm also using some flavor of Gnome as well. Eclipse has this issue much worse than the BaseX GUI. If I could only find the right combination of desktop + Windowing such that I can get the same Start menu, a desktop with icons, support for normal Linux programs like Firefox and LibreOffice, networking apps and most importantly, the ability to have absolutely *no dark theme*, I would be much happier. I tried Trinity Desktop Environment, but they apparently stopped maintenance on it, and little things like the networking app don't work (important on a laptop), but it looked much more like the Windows which worked better for me. In my experience, if it doesn't work out of the box, changing the theme doesn't fully work. If you read this, thank you for listening; I hope someone has a
recommendation.
Quoted text · Ben Pracht · 5 lines
> > Separately, I recently started a web site, but am shocked at how easy it is to get something to work on BaseX. Adding a restful service was as simple as creating an XQuery module. Amazingly, the system actually found the service without a hassle. I made absolutely no configuration files to get this to work. Even if I wanted to attach security to the service, that seems to be as easy as adding an extra decorator to the service. I'm sure there's things I'm missing, but again, whoever put this software together did a phenomenal job towards making this easy to use. > > Kind Regards, > Ben
Written for BaseX 9.3. BaseX may have changed since: please check the current documentation.
⚡Generated with XQuery