Details
Description
When I try to install IzPack (4.3.0) the installer hangs after I clicked the "next" button, and the ShortcutPanel is supposed to pop up.
The UI completely freezes. (One could handle the event in a separate thread.)
I checked the stack trace of the hanging IzPack.
Here it is (a snippet):
java.lang.Thread.State: WAITING (on object monitor)
at java.lang.Object.wait(Native Method)
- waiting on <0x00007f4f972c5f68> (a java.lang.UNIXProcess)
at java.lang.Object.wait(Object.java:485)
at java.lang.UNIXProcess.waitFor(UNIXProcess.java:165) - locked <0x00007f4f972c5f68> (a java.lang.UNIXProcess)
at com.izforge.izpack.util.FileExecutor.executeCommand(Unknown Source)
at com.izforge.izpack.util.FileExecutor.getExecOutput(Unknown Source)
at com.izforge.izpack.util.os.unix.UnixUser.getXdgDesktopfolder(Unknown Source)
at com.izforge.izpack.util.os.unix.UnixUsers._getUsersWithValidShellsExistingHomesAndDesktops(Unknown Source)
at com.izforge.izpack.util.os.unix.UnixUsers.getUsersWithValidShellsExistingHomesAndDesktops(Unknown Source)
at com.izforge.izpack.util.os.Unix_Shortcut.<clinit>(Unknown Source)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:169)
So, it seems that the process does not return.
I dived into the code of UnixUser.getXdgDesktopfolder().
When I rename the file .config/user-dirs.dirs the installer works correctly, i.e., the ShortcutPanel is shown.
The script with the pseudo unique name is correctly written (and returns the correct path when called externally). But the call to
String xdgDesktopfolder = FileExecutor.getExecOutput( new String[] { UnixHelper.getSuCommand(), itsName, "-c",
XDGDesktopFolderNameScriptFilename }, true ).trim();
causes my system to ask for the password, and so we hang at this point.
Could anyone look into this please!
Cheers
Sascha
Issue Links
- relates to
-
IZPACK-501
On unix corporate install (with 30000 users), izpack hangs forever
-
Well, it works when one starts the installer as root user.
But I want to install programs packed with IzPack as regular user.