Pentaho

 View Only

 PDI will not start under MacOS Catalina 10.15

  • Pentaho
  • Kettle
  • Pentaho
  • Pentaho Data Integration PDI
Matt Velez's profile image
Matt Velez posted 07-23-2020 13:13

I'm having the same issue as this user.

 

I've tried the following Pentaho versions:

9.0

8.3

8.1

 

...with the following JDK versions:

14

11

8

 

All fail with the same NullPointerException. The result is the same whether I use spoon.sh or the .app file. The PENTAHO_JAVA_HOME and PENTAHO_JAVA environment variables are being used and pointing to the correct place. I've attached the full log of a run, I believe this was PDI 9.0 with JDK 11.


#Kettle
#PentahoDataIntegrationPDI
#Pentaho
Sergio Ribeiro's profile image
Sergio Ribeiro

Hello @Matt Velez​,

 

First of all, use JDK version 8 as it's the one supported by Pentaho: https://help.pentaho.com/Documentation/9.0/Setup/Components_Reference#Java_virtual_machine

 

Check the SWT version that your system has: you may need to update it.

 

Try this and, then, say if it worked.

 

Regards,

 

Sérgio Ribeiro

Porto - Portugal

 

 

Marko Mitic's profile image
Marko Mitic

Hi Sergio,

 

Could you explain in details how to update SWT on PDI 9 ?

 

Thanks in Advance,

Marko

Sergio Ribeiro's profile image
Sergio Ribeiro

Hi @Marko Mitic​,

 

I'm not a mac person, but I did some Google searching and reached this page:

https://medium.com/@causticrez/pentaho-data-integration-9-0-swt-error-splash-window-ca71841184a6

 

Hope it helps.

 

Regards,

 

Sérgio Ribeiro

Porto - Portugal

 

Matt Velez's profile image
Matt Velez

@Sergio Ribeiro​ Updating SWT worked! Thanks for the help. Here's how I did it:

 

  1. Go here: https://download.eclipse.org/eclipse/downloads/index.html#Latest_Release
  2. Click the latest version number (it was 4.16 for me)
  3. Click 'SWT Binary and Source' on the left sidebar.
  4. Download and unzip the Mac version.
  5. Move the swt.jar file in the archive to the data-integration/libswt/osx64 folder.
  6. Run PDI.
Sergio Ribeiro's profile image
Sergio Ribeiro

Hello @Matt Velez​,

 

That's great!

 

As I replied in the other post (with the same question), my answer with a link to a blog explaining how to do it is pending review 😊

 

Thank you for the feedback and for explaining how you did it.

 

Regards,

 

Sérgio Ribeiro

Porto - Portugal

 

Ian Fore's profile image
Ian Fore

I started getting the same error recently after having run PDI successfully. The fix worked for me. It would be good to have Data\ Integration.app fixed with the right set.jar.

Roberto Monges's profile image
Roberto Monges

Hello @Matt Velez​ ,

I spend 3 days trying to make Pentaho works and it crashed everytime.

Now It works perfect.

Thanks a lot!

Lifan Huang's profile image
Lifan Huang

Hi @Matt Velez​ ,

I solved the same problem with your answer. Appreciate it!

However, when I tried to add a database connection, the client crashed with 'org.pentaho.ui.xul.XulException: java.lang.reflect.InvocationTargetException'.

Kettle db connect error

I ran it through spoon.sh in terminal and got full stack trace:

2020/08/10 10:04:55 - Spoon - ERROR (version 9.0.0.0-423, build 9.0.0.0-423 from 2020-01-31 04.53.04 by buildguy) : An unexpected error occurred in Spoon:2020/08/10 10:04:55 - Spoon - Failed to execute runnable (java.lang.NullPointerException)2020/08/10 10:04:55 - Spoon - ERROR (version 9.0.0.0-423, build 9.0.0.0-423 from 2020-01-31 04.53.04 by buildguy) : org.eclipse.swt.SWTException: Failed to execute runnable (java.lang.NullPointerException)2020/08/10 10:04:55 - Spoon - at org.eclipse.swt.SWT.error(SWT.java:4723)2020/08/10 10:04:55 - Spoon - at org.eclipse.swt.SWT.error(SWT.java:4638)2020/08/10 10:04:55 - Spoon - at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:188)2020/08/10 10:04:55 - Spoon - at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:4126)2020/08/10 10:04:55 - Spoon - at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3793)2020/08/10 10:04:55 - Spoon - at org.pentaho.di.ui.repo.dialog.RepositoryDialog.open(RepositoryDialog.java:100)2020/08/10 10:04:55 - Spoon - at org.pentaho.di.ui.repo.dialog.RepositoryDialog.open(RepositoryDialog.java:81)2020/08/10 10:04:55 - Spoon - at org.pentaho.di.ui.repo.dialog.RepositoryDialog.open(RepositoryDialog.java:77)2020/08/10 10:04:55 - Spoon - at org.pentaho.di.ui.repo.dialog.RepositoryDialog.openCreation(RepositoryDialog.java:114)2020/08/10 10:04:55 - Spoon - at org.pentaho.di.ui.repo.menu.RepositoryConnectMenu$1.widgetSelected(RepositoryConnectMenu.java:122)2020/08/10 10:04:55 - Spoon - at org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:252)2020/08/10 10:04:55 - Spoon - at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:89)2020/08/10 10:04:55 - Spoon - at org.eclipse.swt.widgets.Display.sendEvent(Display.java:4387)2020/08/10 10:04:55 - Spoon - at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1512)2020/08/10 10:04:55 - Spoon - at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1535)2020/08/10 10:04:55 - Spoon - at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1520)2020/08/10 10:04:55 - Spoon - at org.eclipse.swt.widgets.Widget.notifyListeners(Widget.java:1324)2020/08/10 10:04:55 - Spoon - at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:4174)2020/08/10 10:04:55 - Spoon - at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3791)2020/08/10 10:04:55 - Spoon - at org.pentaho.di.ui.spoon.Spoon.readAndDispatch(Spoon.java:1385)2020/08/10 10:04:55 - Spoon - at org.pentaho.di.ui.spoon.Spoon.waitForDispose(Spoon.java:7968)2020/08/10 10:04:55 - Spoon - at org.pentaho.di.ui.spoon.Spoon.start(Spoon.java:9350)2020/08/10 10:04:55 - Spoon - at org.pentaho.di.ui.spoon.Spoon.main(Spoon.java:711)2020/08/10 10:04:55 - Spoon - at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)2020/08/10 10:04:55 - Spoon - at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)2020/08/10 10:04:55 - Spoon - at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)2020/08/10 10:04:55 - Spoon - at java.lang.reflect.Method.invoke(Method.java:498)2020/08/10 10:04:55 - Spoon - at org.pentaho.commons.launcher.Launcher.main(Launcher.java:92)2020/08/10 10:04:55 - Spoon - Caused by: java.lang.NullPointerException2020/08/10 10:04:55 - Spoon - at org.pentaho.di.ui.repo.controller.RepositoryConnectController.isDatabaseWithNameExist(RepositoryConnectController.java:637)2020/08/10 10:04:55 - Spoon - at org.pentaho.di.ui.repo.controller.RepositoryConnectController.lambda$createConnection$1(RepositoryConnectController.java:139)2020/08/10 10:04:55 - Spoon - at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:40)2020/08/10 10:04:55 - Spoon - at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:185)2020/08/10 10:04:55 - Spoon - ... 25 moreorg.eclipse.swt.SWTException: Failed to execute runnable (java.lang.NullPointerException)at org.eclipse.swt.SWT.error(SWT.java:4723)at org.eclipse.swt.SWT.error(SWT.java:4638)at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:188)at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:4126)at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3793)at org.pentaho.di.ui.repo.dialog.RepositoryDialog.open(RepositoryDialog.java:100)at org.pentaho.di.ui.repo.dialog.RepositoryDialog.open(RepositoryDialog.java:81)at org.pentaho.di.ui.repo.dialog.RepositoryDialog.open(RepositoryDialog.java:77)at org.pentaho.di.ui.repo.dialog.RepositoryDialog.openCreation(RepositoryDialog.java:114)at org.pentaho.di.ui.repo.menu.RepositoryConnectMenu$1.widgetSelected(RepositoryConnectMenu.java:122)at org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:252)at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:89)at org.eclipse.swt.widgets.Display.sendEvent(Display.java:4387)at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1512)at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1535)at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1520)at org.eclipse.swt.widgets.Widget.notifyListeners(Widget.java:1324)at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:4174)at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3791)at org.pentaho.di.ui.spoon.Spoon.readAndDispatch(Spoon.java:1385)at org.pentaho.di.ui.spoon.Spoon.waitForDispose(Spoon.java:7968)at org.pentaho.di.ui.spoon.Spoon.start(Spoon.java:9350)at org.pentaho.di.ui.spoon.Spoon.main(Spoon.java:711)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.pentaho.commons.launcher.Launcher.main(Launcher.java:92)Caused by: java.lang.NullPointerExceptionat org.pentaho.di.ui.repo.controller.RepositoryConnectController.isDatabaseWithNameExist(RepositoryConnectController.java:637)at org.pentaho.di.ui.repo.controller.RepositoryConnectController.lambda$createConnection$1(RepositoryConnectController.java:139)at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:40)at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:185)... 25 more

Did you guys ever meet this problem?

I'm on MacOS 10.15.6 and AdoptOpenJDK 1.8.0_252

Alexei Ivanov's profile image
Alexei Ivanov

Incredible!

Thank you very much!

 

johan Janse van Rensburg's profile image
johan Janse van Rensburg

I get the exact same issue on my Mac

Mauro Conte's profile image
Mauro Conte

Today I have a very painful and frustrating day trying to understand why the installation of data-integration on macOS bigsur gave me an infinite sequence of problem.

 

These are the steps that brought me to the end without errors.

  • remove every version of java and data integration spread on my pc
  • install eclipse with brew
brew install --cask eclipse-javaopenjdk version "1.8.0_242"OpenJDK Runtime Environment (Zulu 8.44.0.9-CA-macosx) (build 1.8.0_242-b20)OpenJDK 64-Bit Server VM (Zulu 8.44.0.9-CA-macosx) (build 25.242-b20, mixed mode)
  • install data-integration with brew
brew install --cask data-integration
  • download mysql-connector-java-8.0.23.jar and place in the installation folder /usr/local/Caskroom/data-integration/9.1.0.0-324/data-integration, I did not know where to place the file exactly. I randomly put in the following folders
    • /usr/local/Caskroom/data-integration/9.1.0.0-324/data-integration/
    • /usr/local/Caskroom/data-integration/9.1.0.0-324/data-integration/lib/
    • /usr/local/Caskroom/data-integration/9.1.0.0-324/data-integration/Data Service JDBC Driver/

 

I hope to have forgot nothing. At this point I was able to run the application and it start without crashing. Still one problem, when I try to save a new database connection. I can test the connection and explore the db with no problem, but when click on ok a pop-up with java error appears and the app freezes.

 

I thought maybe the app wants to save the connection information in a directory where it doesn't have the rights. But I don't understand where it stores this information.

 

I don't know if it is a correct and healthy thing for my computer but i run the app with sudo

⚠️ sudo⚠️ /usr/local/Caskroom/data-integration/9.1.0.0-324/data-integration/spoon.sh

 

Hope this can help someone

Ricardo Consolo's profile image
Ricardo Consolo

Changing SWT to the updated version really solves the startup problem but causes errors as described on connecting to any database.

 

Theming is another problem if you use the dark option (renders the gui interface useless). An option to use light theme would be very appreciated.

 

Today I have to run PDI (spoon) under a Xubuntu virtualbox on my mac.