Bug #5457
closed
Mac OS X: Kepler.app should display module error messages in a window
Added by Christopher Brooks over 13 years ago.
Updated about 12 years ago.
Description
When I double click on the Kepler.app icon, Kepler appears
to quickly start up and then exit.
Looking at the Console app, I see:
8/14/11 9:19:08.748 AM [0x0-0xe60e6].org.kepler.build.runner.Kepler: JVM Memory = 5m 512m
8/14/11 9:19:08.749 AM [0x0-0xe60e6].org.kepler.build.runner.Kepler: Error: The following modules are missing:
8/14/11 9:19:08.749 AM [0x0-0xe60e6].org.kepler.build.runner.Kepler: kepler-2.2.0
8/14/11 9:19:23.597 AM [0x0-0xe90e9].org.kepler.build.runner.Kepler: JVM Memory = 5m 512m
8/14/11 9:19:23.598 AM [0x0-0xe90e9].org.kepler.build.runner.Kepler: Error: The following modules are missing:
8/14/11 9:19:23.598 AM [0x0-0xe90e9].org.kepler.build.runner.Kepler: kepler-2.2.0
I renamed ~/.kepler to ~/.kepler.bak and the same thing occurred.
Renaming ~/KeplerData to ~/KeplerData.bak worked around the problem.
There are two bugs here:
1) When I click on Kepler.app and get an error, I should see a console
window.
2) Why does the contents of my KeplerData directory matter?
Block bug#5459
The bug here is that I should not have to look into the console to determine
why Kepler failed to start
I'm able to replicate, though I'm able to get into a state where I can't start 2.3 or its associated standalone module manager even if I remove KeplerData.
I suspect there's (a) problem(s) with how I built the installers that's affecting all 3 OSes. I'll look into it early next week.
I believe I've created a solution to this bug locally, but the solution is not backwards compatible in so far as 2.2's kepler.sh, Kepler.app, and kepler.exe will fail to start once 2.3 has been installed and started once. We could recommend people uninstall 2.2 so they're not tempted to try this. Switching back and forth between 2.2 and 2.3 using 2.3's Module Manager will work. Let me know if this doesn't sound acceptable to you. Clearly it's not ideal. The bug here is to do with keeping modules and files used by the build system to start kepler in two places, the Kepler application folder of course, and KeplerData/kepler.modules/. The issue is that the files in KeplerData/kepler.modules are not overwritten during a new install, or when switching between versions, and so start up can fail when incompatible KeplerData/kepler.modules/ files exist.
Another solution is to simply not include use.keplerdata in the installers, but this takes away our ability to let users without write permission to the application area download and use different modules.
Personally I don't think we should be storing the application in 2 places, it complicates things and uses extra space. I believe the original intent of using KeplerData/kepler.modules for module downloads was to allow users to download different modules and change suites when they don't have write access to the application area. However I think we should probably just behave like other apps. If a user wants to download add-ons, they should have to get admin access. Or the app should just be entirely in their own space from install. But this may have to wait for 2.4.
There are two bugs here. bug#5458 "Moving between 2.2 and 2.3 and back requires deleting ~/KeplerData" is specific to the KeplerData problem.
This bug is more general, the problem is that Kepler silently exits and
the user is provided no information when 5458 occurs.
I'm moving your comments over to 5458.
One idea is to launch the standalone Module Manager GUI if Kepler fails to start, ideally displaying the error message inside. Not sure if I have time to implement this for 2.3.0.
By r28728 this is included in 2.3 and trunk.
(In reply to comment #6)
One idea is to launch the standalone Module Manager GUI if Kepler fails to
start, ideally displaying the error message inside. Not sure if I have time to
implement this for 2.3.0.
I've made it so if 2.3 fails due to missing modules, the MM GUI is attempted to be launched. This works for the scenario where you start 2.3, then you start 2.2 from the 2.2 icon, and then start 2.3 from the 2.3 icon. 2.3 will launch the MM GUI which now includes a message explaining why it may be there (failed startup).
This scenario shouldn't even be common, as the current plan is to recommend to users they uninstall older versions of kepler before installing 2.3, and from 2.3 it hopefully won't happen, as I've changed it so we no longer install each new version into a separate version'd dir, but instead overwriting the old, like how many other applications work.
Popping up a window display other startup errors will take more a fair bit more work, and a new gui. If startup errors continue to be common, I'd say we should pursue this after cleaning up our convoluted startup process. Retargeting to 2.4.0.
Christopher says make it depend on Ptolemy. There is a message handler and it could be used to go through the code and use the message handler. The problem is that we don't have listeners. If you get an exception printed out here using the message handler, it should be fixed.
In 10.8 the Console app is a little different, and I don't see any messages from the Kepler app in it. Hopefully there's a way to view them, otherwise even more motivation to fix this bug.
I checked in a fix. Reassigning to Christopher to test.
This is fixed.
How I checked is by creating an installer:
ant make-mac-installer -Dversion=2.4.0001
Then installing and being sure that clicking on the Kepler icon worked.
I then moved /Applications/Kepler-2.4.001/Kepler.app/Contents/Resources/Java/kepler to kepler.bak
Clicking on the Kepler icon brought up a window.
Original Bugzilla ID was 5457
Also available in: Atom
PDF