Kristian Glass - Do I Smell Burning?

Mostly technical things

JIRA

I’ve finally bought myself a copy of the rather fabulous Atlassian product, JIRA, with which I plan to organise all my side-projects. Their “Get Started for $10” is, as well as a fine piece of salesmanship, incredibly beneficial to me.

I’m still sorting out a VM that can cope with running Java - my current provider offers excellent quality cheap lightweight slices, but I haven’t yet played with combining them, and a plain Tomcat with no actual apps (beyond the manager) proved too weighty for a single slice. So my meaty-but-bulky server that runs in the house appeared an excellent staging ground.

All my servers run Debian Lenny, normally with only main and contrib areas enabled, so a little bit of faff was required to actually get a Sun JRE. A little while later, and I was ready to go, so I ran ./bin/startup.sh, only to be faced with…

Detecting JVM PermGen support... PermGen switch is NOT supported and will NOT be set automatically.

The first time, I didn’t notice this, and went to fill in the JIRA install page, during which it (quite reasonably) fell over as it ran out of PermGen. A quick look in startup.sh showed it calling setenv.sh which called permgen.sh, which contained this little snippet:

# This will try to detect whether the PermGen command line arguments can be used.

On an IBM JVM, the default permgen arguments are not valid</code>

Well, I definitely wasn’t running an IBM JVM! However, a quick sanity check of my environment lead me to observe that I had no JAVA_HOME set. Revisiting permgen.sh, I noticed that if there was no JAVA_HOME, the detection script would leave JAVA_PERMGEN_SUPPORTED with its default value of false! A quick export later, and:

Detecting JVM PermGen support... PermGen switch is supported. Setting to 256m

Lo and behold, it turns out things operate a lot better when you have a working environment! I’m unsure whether to go down the bug-filing route though - expecting the user to have a not-broken environment seems like a pretty reasonable premise, though in this case, it would probably be something fairly easy to handle better.

Regardless, I’ve set my environment up properly now, and so have a working JIRA instance, and a fun time ahead of me setting it all up, so here I go!