# Galleon 2.5.2 (Linux) Could not connect to server



## Syrinx2112 (Dec 29, 2007)

Hey All -

After some time using Google and these forums, I am still unable to fix this.

This is a first time install of Galleon 2.5.2 on Kubuntu 7.10. The TiVo is a Series 2, and both the DVR and computer run through a Linksys router.

The problem is, when I run: sudo ./gui sh
The splash screen comes up, and then the app, and in the middle - an error box that reads: Could not connect to server
And I get that when I click on most of the menu items.

However, on my NOW PLAYING screen (on the TiVo), it lists my computer's name. Obviously, there is nothing there.

From the tips and tricks I did fine, here's what I have done so far:

gui.sh: JAVA_HOME=/usr/lib/jvm/java-6-sun/jre/bin/java

Which I got from this:

```
[email protected]:/usr/share/galleon/bin$ sudo update-alternatives --config java

There are 4 alternatives which provide `java'.

  Selection    Alternative
-----------------------------------------------
          1    /usr/bin/gij-4.2
          2    /usr/bin/gij-4.1
*+        3    /usr/lib/jvm/java-6-sun/jre/bin/java
          4    /usr/lib/jvm/java-1.5.0-sun/jre/bin/java

Press enter to keep the default[*], or type selection number:
```


```
[email protected]:~$ set | grep PATH
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games
    if [ -z "${CDPATH:-}" ] || [[ "$cur" == ?(.)?(.)/* ]]; then
    for i in ${CDPATH//:/'      '};
    if [ "${INFOPATH: -1:1}" == ':' ]; then
        infopath=${INFOPATH}${infopath};
        if [ ${INFOPATH:+set} ]; then
            infopath=$INFOPATH;
    [ -z "$classpath" ] && classpath=$CLASSPATH;
        manpath=$MANPATH;
    PATH=$PATH:/sbin:/usr/sbin:/usr/local/sbin _command $1 $2 $3
[email protected]:~$ set | grep JAVA
[email protected]:~$
```
How come nothing gets outputted when I run the 'grep JAVA' command?

ipv6 is disabled.

Went into to the router and configured the ports as specified on the Galleon FAQ.

I have a feeling that this is a JAVA error, but I can't figure it out.

However, in the Galleon log, I see this:


```
Found TiVo: Name=SYRINX
Server=DVR-E220.local.
Address=192.168.1.100
Port=80
Platform=tcd/Series2
SoftwareVersion=9.1-01-2-130
Path=/index.html
LastChangedDate=Thu Jan 01 00:00:00 GMT 1970
NumShows=0
Capacity=40
```
(let me know if you need the rest of the log)

Any help is appreciated.


----------



## chip_r (Apr 27, 2006)

Have you started the server yet? ./run.sh


----------



## Syrinx2112 (Dec 29, 2007)

chip_r said:


> Have you started the server yet? ./run.sh


Yep, and I wish it was that easy. I still got the same error.


```
[email protected]:/usr/share/galleon/bin$ sudo ./galleon start
Starting Galleon TiVo Application Server...
[email protected]:/usr/share/galleon/bin$ sudo ./gui.sh
Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
        at org.lnicholls.galleon.gui.MainFrame$ServerDialog.<init>(MainFrame.java:781)
        at org.lnicholls.galleon.gui.MainFrame$ServerDialog.<init>(MainFrame.java:761)
        at org.lnicholls.galleon.gui.MainFrame$2.actionPerformed(MainFrame.java:140)
        at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1995)
        at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2318)
        at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:387)
        at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:242)
        at javax.swing.AbstractButton.doClick(AbstractButton.java:357)
        at javax.swing.plaf.basic.BasicMenuItemUI.doClick(BasicMenuItemUI.java:1216)
        at javax.swing.plaf.basic.BasicMenuItemUI$Handler.mouseReleased(BasicMenuItemUI.java:1257)
        at java.awt.AWTEventMulticaster.mouseReleased(AWTEventMulticaster.java:272)
        at java.awt.Component.processMouseEvent(Component.java:6038)
        at javax.swing.JComponent.processMouseEvent(JComponent.java:3265)
        at java.awt.Component.processEvent(Component.java:5803)
        at java.awt.Container.processEvent(Container.java:2058)
        at java.awt.Component.dispatchEventImpl(Component.java:4410)
        at java.awt.Container.dispatchEventImpl(Container.java:2116)
        at java.awt.Component.dispatchEvent(Component.java:4240)
        at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4322)
        at java.awt.LightweightDispatcher.processMouseEvent(Container.java:3986)
        at java.awt.LightweightDispatcher.dispatchEvent(Container.java:3916)
        at java.awt.Container.dispatchEventImpl(Container.java:2102)
        at java.awt.Window.dispatchEventImpl(Window.java:2429)
        at java.awt.Component.dispatchEvent(Component.java:4240)
        at java.awt.EventQueue.dispatchEvent(EventQueue.java:599)
        at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:273)
        at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:183)
        at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:173)
        at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:168)
        at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:160)
        at java.awt.EventDispatchThread.run(EventDispatchThread.java:121)
[email protected]:/usr/share/galleon/bin$
```
The Java outputs, is either from clicking on a button, or when I closed out the program.


----------



## chip_r (Apr 27, 2006)

The more recent versions of Galleon are a bit more difficult to troubleshoot because the startup scripts have been updated to be more friendly for some distros but not for all.


I'm running 2.5.2 myself but with startup scripts from an older version. It wasn't worth making the new scripts run with my Debian system.

If you're interested, I can walk you through a 2.4 install and once that's going, the scripts can be used for 2.5.2.


----------



## lrhorer (Aug 31, 2003)

Syrinx2112 said:


> The problem is, when I run: sudo ./gui sh


You don't need to use sudo to run the GUI. It's probably necessary to run the server as root, but I'm not certain. Since I'm running the server as a service it really doesn't matter, so I haven't looked into setting it up so it doesn't have to be run as root, but I virtually never run gui.sh as root. I'm not running Ubuntu (or Kubuntu), so I have occasionally done so when troubleshooting Galleon as root, but generally I just run it as an ordinary user.



Syrinx2112 said:


> The splash screen comes up, and then the app, and in the middle - an error box that reads: Could not connect to server
> And I get that when I click on most of the menu items.


have you tried waiting at least 1 minute after the Galleon server is loaded and then typing the following?

sudo ./galleon status

What does it return? Are there any errors in wrapper.log?


----------



## Syrinx2112 (Dec 29, 2007)

Sure thing! That would be great and so cool of you to offer the walkthrough.

I guess first thing is: Do I need to fully uninstall 2.5.2, or just download/extract 2.4 in it's own directory?


----------



## chip_r (Apr 27, 2006)

You don't need to uninstall. I'll post a short todo within about an hour.


----------



## Syrinx2112 (Dec 29, 2007)

lrhorer said:


> sudo ./galleon status
> What does it return? Are there any errors in wrapper.log?


SERVER - as Root; status
GUI - as user


```
[email protected]:/usr/share/galleon/bin$ sudo ./galleon start
[sudo] password for syrinx:
Starting Galleon TiVo Application Server...
[email protected]:/usr/share/galleon/bin$ sudo ./galleon status
Galleon TiVo Application Server is running (11076).
[email protected]:/usr/share/galleon/bin$ ./gui sh
bash: ./gui: No such file or directory
[email protected]:/usr/share/galleon/bin$ ./gui.sh
log4j:ERROR setFile(null,true) call failed.
java.io.FileNotFoundException: /var/log/galleon/log.txt (Permission denied)
        at java.io.FileOutputStream.openAppend(Native Method)
        at java.io.FileOutputStream.<init>(FileOutputStream.java:177)
        at java.io.FileOutputStream.<init>(FileOutputStream.java:102)
        at org.apache.log4j.FileAppender.setFile(FileAppender.java:289)
        at org.apache.log4j.RollingFileAppender.setFile(RollingFileAppender.java:167)
        at org.apache.log4j.FileAppender.activateOptions(FileAppender.java:163)
        at org.apache.log4j.config.PropertySetter.activate(PropertySetter.java:256)
        at org.apache.log4j.xml.DOMConfigurator.parseAppender(DOMConfigurator.java:220)
        at org.apache.log4j.xml.DOMConfigurator.findAppenderByName(DOMConfigurator.java:150)
        at org.apache.log4j.xml.DOMConfigurator.findAppenderByReference(DOMConfigurator.java:163)
        at org.apache.log4j.xml.DOMConfigurator.parseAppender(DOMConfigurator.java:211)
        at org.apache.log4j.xml.DOMConfigurator.findAppenderByName(DOMConfigurator.java:150)
        at org.apache.log4j.xml.DOMConfigurator.findAppenderByReference(DOMConfigurator.java:163)
        at org.apache.log4j.xml.DOMConfigurator.parseChildrenOfLoggerElement(DOMConfigurator.java:425)
        at org.apache.log4j.xml.DOMConfigurator.parseCategory(DOMConfigurator.java:345)
        at org.apache.log4j.xml.DOMConfigurator.parse(DOMConfigurator.java:827)
        at org.apache.log4j.xml.DOMConfigurator.doConfigure(DOMConfigurator.java:712)
        at org.apache.log4j.xml.DOMConfigurator.doConfigure(DOMConfigurator.java:618)
        at org.apache.log4j.helpers.OptionConverter.selectAndConfigure(OptionConverter.java:470)
        at org.apache.log4j.LogManager.<clinit>(LogManager.java:122)
        at org.apache.log4j.xml.XMLWatchdog.doOnChange(DOMConfigurator.java:861)
        at org.apache.log4j.helpers.FileWatchdog.checkAndConfigure(FileWatchdog.java:88)
        at org.apache.log4j.helpers.FileWatchdog.<init>(FileWatchdog.java:57)
        at org.apache.log4j.xml.XMLWatchdog.<init>(DOMConfigurator.java:853)
        at org.apache.log4j.xml.DOMConfigurator.configureAndWatch(DOMConfigurator.java:584)
        at org.lnicholls.galleon.server.Server.setupLog(Server.java:250)
        at org.lnicholls.galleon.gui.Galleon.createAndShowGUI(Galleon.java:122)
        at org.lnicholls.galleon.gui.Galleon.access$000(Galleon.java:75)
        at org.lnicholls.galleon.gui.Galleon$4.run(Galleon.java:262)
        at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:209)
        at java.awt.EventQueue.dispatchEvent(EventQueue.java:597)
        at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:273)
        at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:183)
        at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:173)
        at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:168)
        at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:160)
        at java.awt.EventDispatchThread.run(EventDispatchThread.java:121)
log4j:ERROR setFile(null,true) call failed.
java.io.FileNotFoundException: /var/log/galleon/gui.txt (Permission denied)
        at java.io.FileOutputStream.openAppend(Native Method)
        at java.io.FileOutputStream.<init>(FileOutputStream.java:177)
        at java.io.FileOutputStream.<init>(FileOutputStream.java:102)
        at org.apache.log4j.FileAppender.setFile(FileAppender.java:289)
        at org.apache.log4j.RollingFileAppender.setFile(RollingFileAppender.java:167)
        at org.apache.log4j.FileAppender.activateOptions(FileAppender.java:163)
        at org.apache.log4j.config.PropertySetter.activate(PropertySetter.java:256)
        at org.apache.log4j.xml.DOMConfigurator.parseAppender(DOMConfigurator.java:220)
        at org.apache.log4j.xml.DOMConfigurator.findAppenderByName(DOMConfigurator.java:150)
        at org.apache.log4j.xml.DOMConfigurator.findAppenderByReference(DOMConfigurator.java:163)
        at org.apache.log4j.xml.DOMConfigurator.parseAppender(DOMConfigurator.java:211)
        at org.apache.log4j.xml.DOMConfigurator.findAppenderByName(DOMConfigurator.java:150)
        at org.apache.log4j.xml.DOMConfigurator.findAppenderByReference(DOMConfigurator.java:163)
        at org.apache.log4j.xml.DOMConfigurator.parseChildrenOfLoggerElement(DOMConfigurator.java:425)
        at org.apache.log4j.xml.DOMConfigurator.parseCategory(DOMConfigurator.java:345)
        at org.apache.log4j.xml.DOMConfigurator.parse(DOMConfigurator.java:827)
        at org.apache.log4j.xml.DOMConfigurator.doConfigure(DOMConfigurator.java:712)
        at org.apache.log4j.xml.DOMConfigurator.doConfigure(DOMConfigurator.java:618)
        at org.apache.log4j.helpers.OptionConverter.selectAndConfigure(OptionConverter.java:470)
        at org.apache.log4j.LogManager.<clinit>(LogManager.java:122)
        at org.apache.log4j.xml.XMLWatchdog.doOnChange(DOMConfigurator.java:861)
        at org.apache.log4j.helpers.FileWatchdog.checkAndConfigure(FileWatchdog.java:88)
        at org.apache.log4j.helpers.FileWatchdog.<init>(FileWatchdog.java:57)
        at org.apache.log4j.xml.XMLWatchdog.<init>(DOMConfigurator.java:853)
        at org.apache.log4j.xml.DOMConfigurator.configureAndWatch(DOMConfigurator.java:584)
        at org.lnicholls.galleon.server.Server.setupLog(Server.java:250)
        at org.lnicholls.galleon.gui.Galleon.createAndShowGUI(Galleon.java:122)
        at org.lnicholls.galleon.gui.Galleon.access$000(Galleon.java:75)
        at org.lnicholls.galleon.gui.Galleon$4.run(Galleon.java:262)
        at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:209)
        at java.awt.EventQueue.dispatchEvent(EventQueue.java:597)
        at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:273)
        at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:183)
        at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:173)
        at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:168)
        at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:160)
        at java.awt.EventDispatchThread.run(EventDispatchThread.java:121)
log4j:ERROR setFile(null,true) call failed.
java.io.FileNotFoundException: /var/log/galleon/log.txt (Permission denied)
        at java.io.FileOutputStream.openAppend(Native Method)
        at java.io.FileOutputStream.<init>(FileOutputStream.java:177)
        at java.io.FileOutputStream.<init>(FileOutputStream.java:102)
        at org.apache.log4j.FileAppender.setFile(FileAppender.java:289)
        at org.apache.log4j.RollingFileAppender.setFile(RollingFileAppender.java:167)
        at org.apache.log4j.FileAppender.activateOptions(FileAppender.java:163)
        at org.apache.log4j.config.PropertySetter.activate(PropertySetter.java:256)
        at org.apache.log4j.xml.DOMConfigurator.parseAppender(DOMConfigurator.java:220)
        at org.apache.log4j.xml.DOMConfigurator.findAppenderByName(DOMConfigurator.java:150)
        at org.apache.log4j.xml.DOMConfigurator.findAppenderByReference(DOMConfigurator.java:163)
        at org.apache.log4j.xml.DOMConfigurator.parseAppender(DOMConfigurator.java:211)
        at org.apache.log4j.xml.DOMConfigurator.findAppenderByName(DOMConfigurator.java:150)
        at org.apache.log4j.xml.DOMConfigurator.findAppenderByReference(DOMConfigurator.java:163)
        at org.apache.log4j.xml.DOMConfigurator.parseChildrenOfLoggerElement(DOMConfigurator.java:425)
        at org.apache.log4j.xml.DOMConfigurator.parseCategory(DOMConfigurator.java:345)
        at org.apache.log4j.xml.DOMConfigurator.parse(DOMConfigurator.java:827)
        at org.apache.log4j.xml.DOMConfigurator.doConfigure(DOMConfigurator.java:712)
        at org.apache.log4j.xml.DOMConfigurator.doConfigure(DOMConfigurator.java:604)
        at org.apache.log4j.xml.XMLWatchdog.doOnChange(DOMConfigurator.java:861)
        at org.apache.log4j.helpers.FileWatchdog.checkAndConfigure(FileWatchdog.java:88)
        at org.apache.log4j.helpers.FileWatchdog.<init>(FileWatchdog.java:57)
        at org.apache.log4j.xml.XMLWatchdog.<init>(DOMConfigurator.java:853)
        at org.apache.log4j.xml.DOMConfigurator.configureAndWatch(DOMConfigurator.java:584)
        at org.lnicholls.galleon.server.Server.setupLog(Server.java:250)
        at org.lnicholls.galleon.gui.Galleon.createAndShowGUI(Galleon.java:122)
        at org.lnicholls.galleon.gui.Galleon.access$000(Galleon.java:75)
        at org.lnicholls.galleon.gui.Galleon$4.run(Galleon.java:262)
        at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:209)
        at java.awt.EventQueue.dispatchEvent(EventQueue.java:597)
        at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:273)
        at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:183)
        at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:173)
        at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:168)
        at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:160)
        at java.awt.EventDispatchThread.run(EventDispatchThread.java:121)
log4j:ERROR setFile(null,true) call failed.
java.io.FileNotFoundException: /var/log/galleon/gui.txt (Permission denied)
        at java.io.FileOutputStream.openAppend(Native Method)
        at java.io.FileOutputStream.<init>(FileOutputStream.java:177)
        at java.io.FileOutputStream.<init>(FileOutputStream.java:102)
        at org.apache.log4j.FileAppender.setFile(FileAppender.java:289)
        at org.apache.log4j.RollingFileAppender.setFile(RollingFileAppender.java:167)
        at org.apache.log4j.FileAppender.activateOptions(FileAppender.java:163)
        at org.apache.log4j.config.PropertySetter.activate(PropertySetter.java:256)
        at org.apache.log4j.xml.DOMConfigurator.parseAppender(DOMConfigurator.java:220)
        at org.apache.log4j.xml.DOMConfigurator.findAppenderByName(DOMConfigurator.java:150)
        at org.apache.log4j.xml.DOMConfigurator.findAppenderByReference(DOMConfigurator.java:163)
        at org.apache.log4j.xml.DOMConfigurator.parseAppender(DOMConfigurator.java:211)
        at org.apache.log4j.xml.DOMConfigurator.findAppenderByName(DOMConfigurator.java:150)
        at org.apache.log4j.xml.DOMConfigurator.findAppenderByReference(DOMConfigurator.java:163)
        at org.apache.log4j.xml.DOMConfigurator.parseChildrenOfLoggerElement(DOMConfigurator.java:425)
        at org.apache.log4j.xml.DOMConfigurator.parseCategory(DOMConfigurator.java:345)
        at org.apache.log4j.xml.DOMConfigurator.parse(DOMConfigurator.java:827)
        at org.apache.log4j.xml.DOMConfigurator.doConfigure(DOMConfigurator.java:712)
        at org.apache.log4j.xml.DOMConfigurator.doConfigure(DOMConfigurator.java:604)
        at org.apache.log4j.xml.XMLWatchdog.doOnChange(DOMConfigurator.java:861)
        at org.apache.log4j.helpers.FileWatchdog.checkAndConfigure(FileWatchdog.java:88)
        at org.apache.log4j.helpers.FileWatchdog.<init>(FileWatchdog.java:57)
        at org.apache.log4j.xml.XMLWatchdog.<init>(DOMConfigurator.java:853)
        at org.apache.log4j.xml.DOMConfigurator.configureAndWatch(DOMConfigurator.java:584)
        at org.lnicholls.galleon.server.Server.setupLog(Server.java:250)
        at org.lnicholls.galleon.gui.Galleon.createAndShowGUI(Galleon.java:122)
        at org.lnicholls.galleon.gui.Galleon.access$000(Galleon.java:75)
        at org.lnicholls.galleon.gui.Galleon$4.run(Galleon.java:262)
        at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:209)
        at java.awt.EventQueue.dispatchEvent(EventQueue.java:597)
        at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:273)
        at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:183)
        at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:173)
        at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:168)
        at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:160)
        at java.awt.EventDispatchThread.run(EventDispatchThread.java:121)
```
wrapper.log


```
STATUS | wrapper  | 2007/12/29 16:37:51 | --> Wrapper Started as Daemon
STATUS | wrapper  | 2007/12/29 16:37:52 | Launching a JVM...
INFO   | jvm 1    | 2007/12/29 16:37:52 | Wrapper (Version 3.2.3) http://wrapper.tanukisoftware.org
INFO   | jvm 1    | 2007/12/29 16:37:52 |   Copyright 1999-2006 Tanuki Software, Inc.  All Rights Reserved.
INFO   | jvm 1    | 2007/12/29 16:37:52 | 
INFO   | jvm 1    | 2007/12/29 16:37:54 | Galleon 2.5.2 is starting...
ERROR  | wrapper  | 2007/12/29 16:39:52 | Startup failed: Timed out waiting for signal from JVM.
STATUS | wrapper  | 2007/12/29 16:39:52 | Dumping JVM state.
INFO   | jvm 1    | 2007/12/29 16:39:52 | 2007-12-29 16:39:52
INFO   | jvm 1    | 2007/12/29 16:39:52 | Full thread dump Java HotSpot(TM) Client VM (1.6.0_03-b05 mixed mode, sharing):
INFO   | jvm 1    | 2007/12/29 16:39:52 | 
INFO   | jvm 1    | 2007/12/29 16:39:52 | "DownloadThread" prio=10 tid=0x083f9800 nid=0x2b85 waiting on condition [0xb41d9000..0xb41d9ec0]
INFO   | jvm 1    | 2007/12/29 16:39:52 |    java.lang.Thread.State: TIMED_WAITING (sleeping)
INFO   | jvm 1    | 2007/12/29 16:39:52 | 	at java.lang.Thread.sleep(Native Method)
INFO   | jvm 1    | 2007/12/29 16:39:52 | 	at org.lnicholls.galleon.togo.DownloadThread.run(DownloadThread.java:92)
INFO   | jvm 1    | 2007/12/29 16:39:52 | 
INFO   | jvm 1    | 2007/12/29 16:39:52 | "ToGoThread" prio=10 tid=0x083f9000 nid=0x2b84 waiting on condition [0xb422a000..0xb422af40]
INFO   | jvm 1    | 2007/12/29 16:39:52 |    java.lang.Thread.State: TIMED_WAITING (sleeping)
INFO   | jvm 1    | 2007/12/29 16:39:52 | 	at java.lang.Thread.sleep(Native Method)
INFO   | jvm 1    | 2007/12/29 16:39:52 | 	at org.lnicholls.galleon.togo.ToGoThread.run(ToGoThread.java:203)
INFO   | jvm 1    | 2007/12/29 16:39:52 | 
INFO   | jvm 1    | 2007/12/29 16:39:52 | "JmDNS.RecordReaper" prio=10 tid=0x083fdc00 nid=0x2b82 in Object.wait() [0xb427b000..0xb427be40]
INFO   | jvm 1    | 2007/12/29 16:39:52 |    java.lang.Thread.State: TIMED_WAITING (on object monitor)
INFO   | jvm 1    | 2007/12/29 16:39:52 | 	at java.lang.Object.wait(Native Method)
INFO   | jvm 1    | 2007/12/29 16:39:52 | 	- waiting on <0x88e11250> (a javax.jmdns.JmDNS)
INFO   | jvm 1    | 2007/12/29 16:39:52 | 	at javax.jmdns.JmDNS$RecordReaper.run(Unknown Source)
INFO   | jvm 1    | 2007/12/29 16:39:52 | 	- locked <0x88e11250> (a javax.jmdns.JmDNS)
INFO   | jvm 1    | 2007/12/29 16:39:52 | 	at java.lang.Thread.run(Thread.java:619)
INFO   | jvm 1    | 2007/12/29 16:39:52 | 
INFO   | jvm 1    | 2007/12/29 16:39:52 | "JmDNS.SocketListener" prio=10 tid=0x083fc000 nid=0x2b81 runnable [0xb42cc000..0xb42cd0c0]
INFO   | jvm 1    | 2007/12/29 16:39:52 |    java.lang.Thread.State: RUNNABLE
INFO   | jvm 1    | 2007/12/29 16:39:52 | 	at java.net.PlainDatagramSocketImpl.receive0(Native Method)
INFO   | jvm 1    | 2007/12/29 16:39:52 | 	- locked <0x88e13630> (a java.net.PlainDatagramSocketImpl)
INFO   | jvm 1    | 2007/12/29 16:39:52 | 	at java.net.PlainDatagramSocketImpl.receive(PlainDatagramSocketImpl.java:136)
INFO   | jvm 1    | 2007/12/29 16:39:52 | 	- locked <0x88e13630> (a java.net.PlainDatagramSocketImpl)
INFO   | jvm 1    | 2007/12/29 16:39:52 | 	at java.net.DatagramSocket.receive(DatagramSocket.java:712)
INFO   | jvm 1    | 2007/12/29 16:39:52 | 	- locked <0x88e13670> (a java.net.DatagramPacket)
INFO   | jvm 1    | 2007/12/29 16:39:52 | 	- locked <0x88e13690> (a java.net.MulticastSocket)
INFO   | jvm 1    | 2007/12/29 16:39:52 | 	at javax.jmdns.JmDNS$SocketListener.run(Unknown Source)
INFO   | jvm 1    | 2007/12/29 16:39:52 | 	at java.lang.Thread.run(Thread.java:619)
INFO   | jvm 1    | 2007/12/29 16:39:52 | 
INFO   | jvm 1    | 2007/12/29 16:39:52 | "HttpServer(192.168.1.136:7289)" prio=10 tid=0x0811d400 nid=0x2b80 runnable [0xb431d000..0xb431e140]
INFO   | jvm 1    | 2007/12/29 16:39:52 |    java.lang.Thread.State: RUNNABLE
INFO   | jvm 1    | 2007/12/29 16:39:52 | 	at java.net.PlainSocketImpl.socketAccept(Native Method)
INFO   | jvm 1    | 2007/12/29 16:39:52 | 	at java.net.PlainSocketImpl.accept(PlainSocketImpl.java:384)
INFO   | jvm 1    | 2007/12/29 16:39:52 | 	- locked <0x88e13750> (a java.net.SocksSocketImpl)
INFO   | jvm 1    | 2007/12/29 16:39:52 | 	at java.net.ServerSocket.implAccept(ServerSocket.java:453)
INFO   | jvm 1    | 2007/12/29 16:39:52 | 	at java.net.ServerSocket.accept(ServerSocket.java:421)
INFO   | jvm 1    | 2007/12/29 16:39:52 | 	at com.tivo.hme.host.http.server.HttpServer$PortInterface.run(HttpServer.java:219)
INFO   | jvm 1    | 2007/12/29 16:39:52 | 	at java.lang.Thread.run(Thread.java:619)
INFO   | jvm 1    | 2007/12/29 16:39:52 | 
INFO   | jvm 1    | 2007/12/29 16:39:52 | "JmDNS.ServiceBrowser: _http._tcp.local." prio=10 tid=0x086b4400 nid=0x2b7f in Object.wait() [0xb436e000..0xb436efc0]
INFO   | jvm 1    | 2007/12/29 16:39:52 |    java.lang.Thread.State: TIMED_WAITING (on object monitor)
INFO   | jvm 1    | 2007/12/29 16:39:52 | 	at java.lang.Object.wait(Native Method)
INFO   | jvm 1    | 2007/12/29 16:39:52 | 	- waiting on <0x88e051d8> (a javax.jmdns.JmDNS)
INFO   | jvm 1    | 2007/12/29 16:39:52 | 	at javax.jmdns.JmDNS$ServiceBrowser.run(Unknown Source)
INFO   | jvm 1    | 2007/12/29 16:39:52 | 	- locked <0x88e051d8> (a javax.jmdns.JmDNS)
INFO   | jvm 1    | 2007/12/29 16:39:52 | 	at java.lang.Thread.run(Thread.java:619)
INFO   | jvm 1    | 2007/12/29 16:39:52 | 
INFO   | jvm 1    | 2007/12/29 16:39:52 | "JmDNS.RecordReaper" prio=10 tid=0x086b6400 nid=0x2b7e in Object.wait() [0xb43bf000..0xb43c0040]
INFO   | jvm 1    | 2007/12/29 16:39:52 |    java.lang.Thread.State: TIMED_WAITING (on object monitor)
INFO   | jvm 1    | 2007/12/29 16:39:52 | 	at java.lang.Object.wait(Native Method)
INFO   | jvm 1    | 2007/12/29 16:39:52 | 	- waiting on <0x88e051d8> (a javax.jmdns.JmDNS)
INFO   | jvm 1    | 2007/12/29 16:39:52 | 	at javax.jmdns.JmDNS$RecordReaper.run(Unknown Source)
INFO   | jvm 1    | 2007/12/29 16:39:52 | 	- locked <0x88e051d8> (a javax.jmdns.JmDNS)
INFO   | jvm 1    | 2007/12/29 16:39:52 | 	at java.lang.Thread.run(Thread.java:619)
INFO   | jvm 1    | 2007/12/29 16:39:52 | 
INFO   | jvm 1    | 2007/12/29 16:39:52 | "JmDNS.SocketListener" prio=10 tid=0x08694800 nid=0x2b7d runnable [0xb4410000..0xb4410ec0]
INFO   | jvm 1    | 2007/12/29 16:39:52 |    java.lang.Thread.State: RUNNABLE
INFO   | jvm 1    | 2007/12/29 16:39:52 | 	at java.net.PlainDatagramSocketImpl.receive0(Native Method)
INFO   | jvm 1    | 2007/12/29 16:39:52 | 	- locked <0x88e07658> (a java.net.PlainDatagramSocketImpl)
INFO   | jvm 1    | 2007/12/29 16:39:52 | 	at java.net.PlainDatagramSocketImpl.receive(PlainDatagramSocketImpl.java:136)
INFO   | jvm 1    | 2007/12/29 16:39:52 | 	- locked <0x88e07658> (a java.net.PlainDatagramSocketImpl)
INFO   | jvm 1    | 2007/12/29 16:39:52 | 	at java.net.DatagramSocket.receive(DatagramSocket.java:712)
INFO   | jvm 1    | 2007/12/29 16:39:52 | 	- locked <0x88e07698> (a java.net.DatagramPacket)
INFO   | jvm 1    | 2007/12/29 16:39:52 | 	- locked <0x88e076b8> (a java.net.MulticastSocket)
INFO   | jvm 1    | 2007/12/29 16:39:52 | 	at javax.jmdns.JmDNS$SocketListener.run(Unknown Source)
INFO   | jvm 1    | 2007/12/29 16:39:52 | 	at java.lang.Thread.run(Thread.java:619)
INFO   | jvm 1    | 2007/12/29 16:39:52 | 
INFO   | jvm 1    | 2007/12/29 16:39:52 | "Timer-3" prio=10 tid=0x086d7000 nid=0x2b7c in Object.wait() [0xb4492000..0xb4492f40]
INFO   | jvm 1    | 2007/12/29 16:39:52 |    java.lang.Thread.State: WAITING (on object monitor)
INFO   | jvm 1    | 2007/12/29 16:39:52 | 	at java.lang.Object.wait(Native Method)
INFO   | jvm 1    | 2007/12/29 16:39:52 | 	- waiting on <0x88d9cdb0> (a java.util.TaskQueue)
INFO   | jvm 1    | 2007/12/29 16:39:52 | 	at java.lang.Object.wait(Object.java:485)
INFO   | jvm 1    | 2007/12/29 16:39:52 | 	at java.util.TimerThread.mainLoop(Timer.java:483)
INFO   | jvm 1    | 2007/12/29 16:39:52 | 	- locked <0x88d9cdb0> (a java.util.TaskQueue)
INFO   | jvm 1    | 2007/12/29 16:39:52 | 	at java.util.TimerThread.run(Timer.java:462)
INFO   | jvm 1    | 2007/12/29 16:39:52 | 
INFO   | jvm 1    | 2007/12/29 16:39:52 | "Timer-2" prio=10 tid=0x086d6400 nid=0x2b7b in Object.wait() [0xb44e3000..0xb44e3dc0]
INFO   | jvm 1    | 2007/12/29 16:39:52 |    java.lang.Thread.State: WAITING (on object monitor)
INFO   | jvm 1    | 2007/12/29 16:39:52 | 	at java.lang.Object.wait(Native Method)
INFO   | jvm 1    | 2007/12/29 16:39:52 | 	- waiting on <0x88d9ce38> (a java.util.TaskQueue)
INFO   | jvm 1    | 2007/12/29 16:39:52 | 	at java.lang.Object.wait(Object.java:485)
INFO   | jvm 1    | 2007/12/29 16:39:52 | 	at java.util.TimerThread.mainLoop(Timer.java:483)
INFO   | jvm 1    | 2007/12/29 16:39:52 | 	- locked <0x88d9ce38> (a java.util.TaskQueue)
INFO   | jvm 1    | 2007/12/29 16:39:52 | 	at java.util.TimerThread.run(Timer.java:462)
INFO   | jvm 1    | 2007/12/29 16:39:52 | 
INFO   | jvm 1    | 2007/12/29 16:39:52 | "Timer-1" prio=10 tid=0x086d2800 nid=0x2b7a in Object.wait() [0xb4534000..0xb4534e40]
INFO   | jvm 1    | 2007/12/29 16:39:52 |    java.lang.Thread.State: WAITING (on object monitor)
INFO   | jvm 1    | 2007/12/29 16:39:52 | 	at java.lang.Object.wait(Native Method)
INFO   | jvm 1    | 2007/12/29 16:39:52 | 	- waiting on <0x88d9cec0> (a java.util.TaskQueue)
INFO   | jvm 1    | 2007/12/29 16:39:52 | 	at java.lang.Object.wait(Object.java:485)
INFO   | jvm 1    | 2007/12/29 16:39:52 | 	at java.util.TimerThread.mainLoop(Timer.java:483)
INFO   | jvm 1    | 2007/12/29 16:39:52 | 	- locked <0x88d9cec0> (a java.util.TaskQueue)
INFO   | jvm 1    | 2007/12/29 16:39:52 | 	at java.util.TimerThread.run(Timer.java:462)
INFO   | jvm 1    | 2007/12/29 16:39:52 | 
INFO   | jvm 1    | 2007/12/29 16:39:52 | "Store org.lnicholls.galleon.database.Playlist Expiry Thread" daemon prio=10 tid=0x0873c000 nid=0x2b79 waiting on condition [0xb4585000..0xb45860c0]
INFO   | jvm 1    | 2007/12/29 16:39:52 |    java.lang.Thread.State: TIMED_WAITING (sleeping)
INFO   | jvm 1    | 2007/12/29 16:39:52 | 	at java.lang.Thread.sleep(Native Method)
INFO   | jvm 1    | 2007/12/29 16:39:52 | 	at net.sf.ehcache.store.DiskStore.expiryThreadMain(DiskStore.java:831)
INFO   | jvm 1    | 2007/12/29 16:39:52 | 	at net.sf.ehcache.store.DiskStore.access$700(DiskStore.java:59)
INFO   | jvm 1    | 2007/12/29 16:39:52 | 	at net.sf.ehcache.store.DiskStore$ExpiryThread.run(DiskStore.java:1008)
INFO   | jvm 1    | 2007/12/29 16:39:52 | 
INFO   | jvm 1    | 2007/12/29 16:39:52 | "Store org.lnicholls.galleon.database.Playlist Spool Thread" daemon prio=10 tid=0x0873ac00 nid=0x2b78 waiting on condition [0xb45d6000..0xb45d7140]
INFO   | jvm 1    | 2007/12/29 16:39:52 |    java.lang.Thread.State: TIMED_WAITING (sleeping)
INFO   | jvm 1    | 2007/12/29 16:39:52 | 	at java.lang.Thread.sleep(Native Method)
INFO   | jvm 1    | 2007/12/29 16:39:52 | 	at net.sf.ehcache.store.DiskStore.spoolThreadMain(DiskStore.java:556)
INFO   | jvm 1    | 2007/12/29 16:39:52 | 	at net.sf.ehcache.store.DiskStore.access$600(DiskStore.java:59)
INFO   | jvm 1    | 2007/12/29 16:39:52 | 	at net.sf.ehcache.store.DiskStore$SpoolThread.run(DiskStore.java:990)
INFO   | jvm 1    | 2007/12/29 16:39:52 | 
INFO   | jvm 1    | 2007/12/29 16:39:52 | "Store org.lnicholls.galleon.database.Podcast Expiry Thread" daemon prio=10 tid=0x08739800 nid=0x2b77 waiting on condition [0xb4627000..0xb4627fc0]
INFO   | jvm 1    | 2007/12/29 16:39:52 |    java.lang.Thread.State: TIMED_WAITING (sleeping)
INFO   | jvm 1    | 2007/12/29 16:39:52 | 	at java.lang.Thread.sleep(Native Method)
INFO   | jvm 1    | 2007/12/29 16:39:52 | 	at net.sf.ehcache.store.DiskStore.expiryThreadMain(DiskStore.java:831)
INFO   | jvm 1    | 2007/12/29 16:39:52 | 	at net.sf.ehcache.store.DiskStore.access$700(DiskStore.java:59)
INFO   | jvm 1    | 2007/12/29 16:39:52 | 	at net.sf.ehcache.store.DiskStore$ExpiryThread.run(DiskStore.java:1008)
INFO   | jvm 1    | 2007/12/29 16:39:52 | 
INFO   | jvm 1    | 2007/12/29 16:39:52 | "Store org.lnicholls.galleon.database.Podcast Spool Thread" daemon prio=10 tid=0x08738400 nid=0x2b76 waiting on condition [0xb4678000..0xb4679040]
INFO   | jvm 1    | 2007/12/29 16:39:52 |    java.lang.Thread.State: TIMED_WAITING (sleeping)
INFO   | jvm 1    | 2007/12/29 16:39:52 | 	at java.lang.Thread.sleep(Native Method)
INFO   | jvm 1    | 2007/12/29 16:39:52 | 	at net.sf.ehcache.store.DiskStore.spoolThreadMain(DiskStore.java:556)
INFO   | jvm 1    | 2007/12/29 16:39:52 | 	at net.sf.ehcache.store.DiskStore.access$600(DiskStore.java:59)
INFO   | jvm 1    | 2007/12/29 16:39:52 | 	at net.sf.ehcache.store.DiskStore$SpoolThread.run(DiskStore.java:990)
INFO   | jvm 1    | 2007/12/29 16:39:52 | 
INFO   | jvm 1    | 2007/12/29 16:39:52 | "Store org.lnicholls.galleon.database.ShoutcastStation Expiry Thread" daemon prio=10 tid=0x08737400 nid=0x2b75 waiting on condition [0xb46c9000..0xb46c9ec0]
INFO   | jvm 1    | 2007/12/29 16:39:52 |    java.lang.Thread.State: TIMED_WAITING (sleeping)
INFO   | jvm 1    | 2007/12/29 16:39:52 | 	at java.lang.Thread.sleep(Native Method)
INFO   | jvm 1    | 2007/12/29 16:39:52 | 	at net.sf.ehcache.store.DiskStore.expiryThreadMain(DiskStore.java:831)
INFO   | jvm 1    | 2007/12/29 16:39:52 | 	at net.sf.ehcache.store.DiskStore.access$700(DiskStore.java:59)
INFO   | jvm 1    | 2007/12/29 16:39:52 | 	at net.sf.ehcache.store.DiskStore$ExpiryThread.run(DiskStore.java:1008)
INFO   | jvm 1    | 2007/12/29 16:39:52 | 
INFO   | jvm 1    | 2007/12/29 16:39:52 | "Store org.lnicholls.galleon.database.ShoutcastStation Spool Thread" daemon prio=10 tid=0x08736000 nid=0x2b74 waiting on condition [0xb471a000..0xb471af40]
INFO   | jvm 1    | 2007/12/29 16:39:52 |    java.lang.Thread.State: TIMED_WAITING (sleeping)
INFO   | jvm 1    | 2007/12/29 16:39:52 | 	at java.lang.Thread.sleep(Native Method)
INFO   | jvm 1    | 2007/12/29 16:39:52 | 	at net.sf.ehcache.store.DiskStore.spoolThreadMain(DiskStore.java:556)
INFO   | jvm 1    | 2007/12/29 16:39:52 | 	at net.sf.ehcache.store.DiskStore.access$600(DiskStore.java:59)
INFO   | jvm 1    | 2007/12/29 16:39:52 | 	at net.sf.ehcache.store.DiskStore$SpoolThread.run(DiskStore.java:990)
INFO   | jvm 1    | 2007/12/29 16:39:52 | 
INFO   | jvm 1    | 2007/12/29 16:39:52 | "Store org.lnicholls.galleon.database.ImageAlbums Expiry Thread" daemon prio=10 tid=0x08734c00 nid=0x2b73 waiting on condition [0xb476b000..0xb476bdc0]
INFO   | jvm 1    | 2007/12/29 16:39:52 |    java.lang.Thread.State: TIMED_WAITING (sleeping)
INFO   | jvm 1    | 2007/12/29 16:39:52 | 	at java.lang.Thread.sleep(Native Method)
INFO   | jvm 1    | 2007/12/29 16:39:52 | 	at net.sf.ehcache.store.DiskStore.expiryThreadMain(DiskStore.java:831)
INFO   | jvm 1    | 2007/12/29 16:39:52 | 	at net.sf.ehcache.store.DiskStore.access$700(DiskStore.java:59)
INFO   | jvm 1    | 2007/12/29 16:39:52 | 	at net.sf.ehcache.store.DiskStore$ExpiryThread.run(DiskStore.java:1008)
INFO   | jvm 1    | 2007/12/29 16:39:52 | 
INFO   | jvm 1    | 2007/12/29 16:39:52 | "Store org.lnicholls.galleon.database.ImageAlbums Spool Thread" daemon prio=10 tid=0x08733800 nid=0x2b72 waiting on condition [0xb47bc000..0xb47bce40]
INFO   | jvm 1    | 2007/12/29 16:39:52 |    java.lang.Thread.State: TIMED_WAITING (sleeping)
INFO   | jvm 1    | 2007/12/29 16:39:52 | 	at java.lang.Thread.sleep(Native Method)
INFO   | jvm 1    | 2007/12/29 16:39:52 | 	at net.sf.ehcache.store.DiskStore.spoolThreadMain(DiskStore.java:556)
INFO   | jvm 1    | 2007/12/29 16:39:52 | 	at net.sf.ehcache.store.DiskStore.access$600(DiskStore.java:59)
INFO   | jvm 1    | 2007/12/29 16:39:52 | 	at net.sf.ehcache.store.DiskStore$SpoolThread.run(DiskStore.java:990)
INFO   | jvm 1    | 2007/12/29 16:39:52 | 
INFO   | jvm 1    | 2007/12/29 16:39:52 | "Store org.lnicholls.galleon.database.Videocast Expiry Thread" daemon prio=10 tid=0x08732400 nid=0x2b71 waiting on condition [0xb480d000..0xb480e0c0]
INFO   | jvm 1    | 2007/12/29 16:39:52 |    java.lang.Thread.State: TIMED_WAITING (sleeping)
INFO   | jvm 1    | 2007/12/29 16:39:52 | 	at java.lang.Thread.sleep(Native Method)
INFO   | jvm 1    | 2007/12/29 16:39:52 | 	at net.sf.ehcache.store.DiskStore.expiryThreadMain(DiskStore.java:831)
INFO   | jvm 1    | 2007/12/29 16:39:52 | 	at net.sf.ehcache.store.DiskStore.access$700(DiskStore.java:59)
INFO   | jvm 1    | 2007/12/29 16:39:52 | 	at net.sf.ehcache.store.DiskStore$ExpiryThread.run(DiskStore.java:1008)
INFO   | jvm 1    | 2007/12/29 16:39:52 | 
INFO   | jvm 1    | 2007/12/29 16:39:52 | "Store org.lnicholls.galleon.database.Videocast Spool Thread" daemon prio=10 tid=0x08731400 nid=0x2b70 waiting on condition [0xb485e000..0xb485f140]
INFO   | jvm 1    | 2007/12/29 16:39:52 |    java.lang.Thread.State: TIMED_WAITING (sleeping)
INFO   | jvm 1    | 2007/12/29 16:39:52 | 	at java.lang.Thread.sleep(Native Method)
INFO   | jvm 1    | 2007/12/29 16:39:52 | 	at net.sf.ehcache.store.DiskStore.spoolThreadMain(DiskStore.java:556)
INFO   | jvm 1    | 2007/12/29 16:39:52 | 	at net.sf.ehcache.store.DiskStore.access$600(DiskStore.java:59)
INFO   | jvm 1    | 2007/12/29 16:39:52 | 	at net.sf.ehcache.store.DiskStore$SpoolThread.run(DiskStore.java:990)
INFO   | jvm 1    | 2007/12/29 16:39:52 | 
INFO   | jvm 1    | 2007/12/29 16:39:52 | "Store org.lnicholls.galleon.database.Movie Expiry Thread" daemon prio=10 tid=0x08730000 nid=0x2b6f waiting on condition [0xb48af000..0xb48affc0]
INFO   | jvm 1    | 2007/12/29 16:39:52 |    java.lang.Thread.State: TIMED_WAITING (sleeping)
INFO   | jvm 1    | 2007/12/29 16:39:52 | 	at java.lang.Thread.sleep(Native Method)
INFO   | jvm 1    | 2007/12/29 16:39:52 | 	at net.sf.ehcache.store.DiskStore.expiryThreadMain(DiskStore.java:831)
INFO   | jvm 1    | 2007/12/29 16:39:52 | 	at net.sf.ehcache.store.DiskStore.access$700(DiskStore.java:59)
INFO   | jvm 1    | 2007/12/29 16:39:52 | 	at net.sf.ehcache.store.DiskStore$ExpiryThread.run(DiskStore.java:1008)
INFO   | jvm 1    | 2007/12/29 16:39:52 | 
INFO   | jvm 1    | 2007/12/29 16:39:52 | "Store org.lnicholls.galleon.database.Movie Spool Thread" daemon prio=10 tid=0x083f6000 nid=0x2b6e waiting on condition [0xb4900000..0xb4901040]
INFO   | jvm 1    | 2007/12/29 16:39:52 |    java.lang.Thread.State: TIMED_WAITING (sleeping)
INFO   | jvm 1    | 2007/12/29 16:39:52 | 	at java.lang.Thread.sleep(Native Method)
INFO   | jvm 1    | 2007/12/29 16:39:52 | 	at net.sf.ehcache.store.DiskStore.spoolThreadMain(DiskStore.java:556)
INFO   | jvm 1    | 2007/12/29 16:39:52 | 	at net.sf.ehcache.store.DiskStore.access$600(DiskStore.java:59)
INFO   | jvm 1    | 2007/12/29 16:39:52 | 	at net.sf.ehcache.store.DiskStore$SpoolThread.run(DiskStore.java:990)
INFO   | jvm 1    | 2007/12/29 16:39:52 | 
INFO   | jvm 1    | 2007/12/29 16:39:52 | "Store org.hibernate.cache.StandardQueryCache Expiry Thread" daemon prio=10 tid=0x083f4c00 nid=0x2b6d waiting on condition [0xb4951000..0xb4951ec0]
INFO   | jvm 1    | 2007/12/29 16:39:52 |    java.lang.Thread.State: TIMED_WAITING (sleeping)
INFO   | jvm 1    | 2007/12/29 16:39:52 | 	at java.lang.Thread.sleep(Native Method)
INFO   | jvm 1    | 2007/12/29 16:39:52 | 	at net.sf.ehcache.store.DiskStore.expiryThreadMain(DiskStore.java:831)
INFO   | jvm 1    | 2007/12/29 16:39:52 | 	at net.sf.ehcache.store.DiskStore.access$700(DiskStore.java:59)
INFO   | jvm 1    | 2007/12/29 16:39:52 | 	at net.sf.ehcache.store.DiskStore$ExpiryThread.run(DiskStore.java:1008)
INFO   | jvm 1    | 2007/12/29 16:39:52 | 
INFO   | jvm 1    | 2007/12/29 16:39:52 | "Store org.hibernate.cache.StandardQueryCache Spool Thread" daemon prio=10 tid=0x083f3800 nid=0x2b6c waiting on condition [0xb49a2000..0xb49a2f40]
INFO   | jvm 1    | 2007/12/29 16:39:52 |    java.lang.Thread.State: TIMED_WAITING (sleeping)
INFO   | jvm 1    | 2007/12/29 16:39:52 | 	at java.lang.Thread.sleep(Native Method)
INFO   | jvm 1    | 2007/12/29 16:39:52 | 	at net.sf.ehcache.store.DiskStore.spoolThreadMain(DiskStore.java:556)
INFO   | jvm 1    | 2007/12/29 16:39:52 | 	at net.sf.ehcache.store.DiskStore.access$600(DiskStore.java:59)
INFO   | jvm 1    | 2007/12/29 16:39:52 | 	at net.sf.ehcache.store.DiskStore$SpoolThread.run(DiskStore.java:990)
INFO   | jvm 1    | 2007/12/29 16:39:52 | 
INFO   | jvm 1    | 2007/12/29 16:39:52 | "Store org.lnicholls.galleon.database.Theater Expiry Thread" daemon prio=10 tid=0x083f2400 nid=0x2b6b waiting on condition [0xb49f3000..0xb49f3dc0]
INFO   | jvm 1    | 2007/12/29 16:39:52 |    java.lang.Thread.State: TIMED_WAITING (sleeping)
INFO   | jvm 1    | 2007/12/29 16:39:52 | 	at java.lang.Thread.sleep(Native Method)
INFO   | jvm 1    | 2007/12/29 16:39:52 | 	at net.sf.ehcache.store.DiskStore.expiryThreadMain(DiskStore.java:831)
INFO   | jvm 1    | 2007/12/29 16:39:52 | 	at net.sf.ehcache.store.DiskStore.access$700(DiskStore.java:59)
INFO   | jvm 1    | 2007/12/29 16:39:52 | 	at net.sf.ehcache.store.DiskStore$ExpiryThread.run(DiskStore.java:1008)
INFO   | jvm 1    | 2007/12/29 16:39:52 | 
INFO   | jvm 1    | 2007/12/29 16:39:52 | "Store org.lnicholls.galleon.database.Theater Spool Thread" daemon prio=10 tid=0x083f1000 nid=0x2b6a waiting on condition [0xb4a44000..0xb4a44e40]
INFO   | jvm 1    | 2007/12/29 16:39:52 |    java.lang.Thread.State: TIMED_WAITING (sleeping)
INFO   | jvm 1    | 2007/12/29 16:39:52 | 	at java.lang.Thread.sleep(Native Method)
INFO   | jvm 1    | 2007/12/29 16:39:52 | 	at net.sf.ehcache.store.DiskStore.spoolThreadMain(DiskStore.java:556)
INFO   | jvm 1    | 2007/12/29 16:39:52 | 	at net.sf.ehcache.store.DiskStore.access$600(DiskStore.java:59)
INFO   | jvm 1    | 2007/12/29 16:39:52 | 	at net.sf.ehcache.store.DiskStore$SpoolThread.run(DiskStore.java:990)
INFO   | jvm 1    | 2007/12/29 16:39:52 | 
INFO   | jvm 1    | 2007/12/29 16:39:52 | "Store org.lnicholls.galleon.database.Video Expiry Thread" daemon prio=10 tid=0x083f0000 nid=0x2b69 waiting on condition [0xb4a95000..0xb4a960c0]
INFO   | jvm 1    | 2007/12/29 16:39:52 |    java.lang.Thread.State: TIMED_WAITING (sleeping)
INFO   | jvm 1    | 2007/12/29 16:39:52 | 	at java.lang.Thread.sleep(Native Method)
INFO   | jvm 1    | 2007/12/29 16:39:52 | 	at net.sf.ehcache.store.DiskStore.expiryThreadMain(DiskStore.java:831)
INFO   | jvm 1    | 2007/12/29 16:39:52 | 	at net.sf.ehcache.store.DiskStore.access$700(DiskStore.java:59)
INFO   | jvm 1    | 2007/12/29 16:39:52 | 	at net.sf.ehcache.store.DiskStore$ExpiryThread.run(DiskStore.java:1008)
INFO   | jvm 1    | 2007/12/29 16:39:52 | 
INFO   | jvm 1    | 2007/12/29 16:39:52 | "Store org.lnicholls.galleon.database.Video Spool Thread" daemon prio=10 tid=0x083eec00 nid=0x2b68 waiting on condition [0xb4ae6000..0xb4ae7140]
INFO   | jvm 1    | 2007/12/29 16:39:52 |    java.lang.Thread.State: TIMED_WAITING (sleeping)
INFO   | jvm 1    | 2007/12/29 16:39:52 | 	at java.lang.Thread.sleep(Native Method)
INFO   | jvm 1    | 2007/12/29 16:39:52 | 	at net.sf.ehcache.store.DiskStore.spoolThreadMain(DiskStore.java:556)
INFO   | jvm 1    | 2007/12/29 16:39:52 | 	at net.sf.ehcache.store.DiskStore.access$600(DiskStore.java:59)
INFO   | jvm 1    | 2007/12/29 16:39:52 | 	at net.sf.ehcache.store.DiskStore$SpoolThread.run(DiskStore.java:990)
INFO   | jvm 1    | 2007/12/29 16:39:52 | 
INFO   | jvm 1    | 2007/12/29 16:39:52 | "Store org.lnicholls.galleon.database.Audio Expiry Thread" daemon prio=10 tid=0x083ebc00 nid=0x2b67 waiting on condition [0xb4b37000..0xb4b37fc0]
INFO   | jvm 1    | 2007/12/29 16:39:52 |    java.lang.Thread.State: TIMED_WAITING (sleeping)
INFO   | jvm 1    | 2007/12/29 16:39:52 | 	at java.lang.Thread.sleep(Native Method)
INFO   | jvm 1    | 2007/12/29 16:39:52 | 	at net.sf.ehcache.store.DiskStore.expiryThreadMain(DiskStore.java:831)
INFO   | jvm 1    | 2007/12/29 16:39:52 | 	at net.sf.ehcache.store.DiskStore.access$700(DiskStore.java:59)
INFO   | jvm 1    | 2007/12/29 16:39:52 | 	at net.sf.ehcache.store.DiskStore$ExpiryThread.run(DiskStore.java:1008)
INFO   | jvm 1    | 2007/12/29 16:39:52 | 
INFO   | jvm 1    | 2007/12/29 16:39:52 | "Store org.lnicholls.galleon.database.Audio Spool Thread" daemon prio=10 tid=0x083ea800 nid=0x2b66 waiting on condition [0xb4b88000..0xb4b89040]
INFO   | jvm 1    | 2007/12/29 16:39:52 |    java.lang.Thread.State: TIMED_WAITING (sleeping)
INFO   | jvm 1    | 2007/12/29 16:39:52 | 	at java.lang.Thread.sleep(Native Method)
INFO   | jvm 1    | 2007/12/29 16:39:52 | 	at net.sf.ehcache.store.DiskStore.spoolThreadMain(DiskStore.java:556)
INFO   | jvm 1    | 2007/12/29 16:39:52 | 	at net.sf.ehcache.store.DiskStore.access$600(DiskStore.java:59)
INFO   | jvm 1    | 2007/12/29 16:39:52 | 	at net.sf.ehcache.store.DiskStore$SpoolThread.run(DiskStore.java:990)
INFO   | jvm 1    | 2007/12/29 16:39:52 | 
INFO   | jvm 1    | 2007/12/29 16:39:52 | "Store org.hibernate.cache.UpdateTimestampsCache Expiry Thread" daemon prio=10 tid=0x083e9800 nid=0x2b65 waiting on condition [0xb4bd9000..0xb4bd9ec0]
INFO   | jvm 1    | 2007/12/29 16:39:52 |    java.lang.Thread.State: TIMED_WAITING (sleeping)
INFO   | jvm 1    | 2007/12/29 16:39:52 | 	at java.lang.Thread.sleep(Native Method)
INFO   | jvm 1    | 2007/12/29 16:39:52 | 	at net.sf.ehcache.store.DiskStore.expiryThreadMain(DiskStore.java:831)
INFO   | jvm 1    | 2007/12/29 16:39:52 | 	at net.sf.ehcache.store.DiskStore.access$700(DiskStore.java:59)
INFO   | jvm 1    | 2007/12/29 16:39:52 | 	at net.sf.ehcache.store.DiskStore$ExpiryThread.run(DiskStore.java:1008)
INFO   | jvm 1    | 2007/12/29 16:39:52 | 
INFO   | jvm 1    | 2007/12/29 16:39:52 | "Store org.hibernate.cache.UpdateTimestampsCache Spool Thread" daemon prio=10 tid=0x083e8000 nid=0x2b64 waiting on condition [0xb4c2a000..0xb4c2af40]
INFO   | jvm 1    | 2007/12/29 16:39:52 |    java.lang.Thread.State: TIMED_WAITING (sleeping)
INFO   | jvm 1    | 2007/12/29 16:39:52 | 	at java.lang.Thread.sleep(Native Method)
INFO   | jvm 1    | 2007/12/29 16:39:52 | 	at net.sf.ehcache.store.DiskStore.spoolThreadMain(DiskStore.java:556)
INFO   | jvm 1    | 2007/12/29 16:39:52 | 	at net.sf.ehcache.store.DiskStore.access$600(DiskStore.java:59)
INFO   | jvm 1    | 2007/12/29 16:39:52 | 	at net.sf.ehcache.store.DiskStore$SpoolThread.run(DiskStore.java:990)
INFO   | jvm 1    | 2007/12/29 16:39:52 | 
INFO   | jvm 1    | 2007/12/29 16:39:52 | "Store org.lnicholls.galleon.database.Image Expiry Thread" daemon prio=10 tid=0x08546400 nid=0x2b63 waiting on condition [0xb4c7b000..0xb4c7bdc0]
INFO   | jvm 1    | 2007/12/29 16:39:52 |    java.lang.Thread.State: TIMED_WAITING (sleeping)
INFO   | jvm 1    | 2007/12/29 16:39:52 | 	at java.lang.Thread.sleep(Native Method)
INFO   | jvm 1    | 2007/12/29 16:39:52 | 	at net.sf.ehcache.store.DiskStore.expiryThreadMain(DiskStore.java:831)
INFO   | jvm 1    | 2007/12/29 16:39:52 | 	at net.sf.ehcache.store.DiskStore.access$700(DiskStore.java:59)
INFO   | jvm 1    | 2007/12/29 16:39:52 | 	at net.sf.ehcache.store.DiskStore$ExpiryThread.run(DiskStore.java:1008)
INFO   | jvm 1    | 2007/12/29 16:39:52 | 
INFO   | jvm 1    | 2007/12/29 16:39:52 | "Store org.lnicholls.galleon.database.Image Spool Thread" daemon prio=10 tid=0x08120000 nid=0x2b62 waiting on condition [0xb4ccc000..0xb4ccce40]
INFO   | jvm 1    | 2007/12/29 16:39:52 |    java.lang.Thread.State: TIMED_WAITING (sleeping)
INFO   | jvm 1    | 2007/12/29 16:39:52 | 	at java.lang.Thread.sleep(Native Method)
INFO   | jvm 1    | 2007/12/29 16:39:52 | 	at net.sf.ehcache.store.DiskStore.spoolThreadMain(DiskStore.java:556)
INFO   | jvm 1    | 2007/12/29 16:39:52 | 	at net.sf.ehcache.store.DiskStore.access$600(DiskStore.java:59)
INFO   | jvm 1    | 2007/12/29 16:39:52 | 	at net.sf.ehcache.store.DiskStore$SpoolThread.run(DiskStore.java:990)
INFO   | jvm 1    | 2007/12/29 16:39:52 | 
INFO   | jvm 1    | 2007/12/29 16:39:52 | "Store org.lnicholls.galleon.database.Application Expiry Thread" daemon prio=10 tid=0x0811f800 nid=0x2b61 waiting on condition [0xb4d1d000..0xb4d1e0c0]
INFO   | jvm 1    | 2007/12/29 16:39:52 |    java.lang.Thread.State: TIMED_WAITING (sleeping)
INFO   | jvm 1    | 2007/12/29 16:39:52 | 	at java.lang.Thread.sleep(Native Method)
INFO   | jvm 1    | 2007/12/29 16:39:52 | 	at net.sf.ehcache.store.DiskStore.expiryThreadMain(DiskStore.java:831)
INFO   | jvm 1    | 2007/12/29 16:39:52 | 	at net.sf.ehcache.store.DiskStore.access$700(DiskStore.java:59)
INFO   | jvm 1    | 2007/12/29 16:39:52 | 	at net.sf.ehcache.store.DiskStore$ExpiryThread.run(DiskStore.java:1008)
INFO   | jvm 1    | 2007/12/29 16:39:52 | 
INFO   | jvm 1    | 2007/12/29 16:39:52 | "Store org.lnicholls.galleon.database.Application Spool Thread" daemon prio=10 tid=0x08123000 nid=0x2b60 waiting on condition [0xb4d6e000..0xb4d6f140]
INFO   | jvm 1    | 2007/12/29 16:39:52 |    java.lang.Thread.State: TIMED_WAITING (sleeping)
INFO   | jvm 1    | 2007/12/29 16:39:52 | 	at java.lang.Thread.sleep(Native Method)
INFO   | jvm 1    | 2007/12/29 16:39:52 | 	at net.sf.ehcache.store.DiskStore.spoolThreadMain(DiskStore.java:556)
INFO   | jvm 1    | 2007/12/29 16:39:52 | 	at net.sf.ehcache.store.DiskStore.access$600(DiskStore.java:59)
INFO   | jvm 1    | 2007/12/29 16:39:52 | 	at net.sf.ehcache.store.DiskStore$SpoolThread.run(DiskStore.java:990)
INFO   | jvm 1    | 2007/12/29 16:39:52 | 
INFO   | jvm 1    | 2007/12/29 16:39:52 | "derby.rawStoreDaemon" daemon prio=10 tid=0x080a8800 nid=0x2b5f in Object.wait() [0xb4dc7000..0xb4dc7fc0]
INFO   | jvm 1    | 2007/12/29 16:39:52 |    java.lang.Thread.State: TIMED_WAITING (on object monitor)
INFO   | jvm 1    | 2007/12/29 16:39:52 | 	at java.lang.Object.wait(Native Method)
INFO   | jvm 1    | 2007/12/29 16:39:52 | 	- waiting on <0x88b6de98> (a org.apache.derby.impl.services.daemon.BasicDaemon)
INFO   | jvm 1    | 2007/12/29 16:39:52 | 	at org.apache.derby.impl.services.daemon.BasicDaemon.rest(Unknown Source)
INFO   | jvm 1    | 2007/12/29 16:39:52 | 	- locked <0x88b6de98> (a org.apache.derby.impl.services.daemon.BasicDaemon)
INFO   | jvm 1    | 2007/12/29 16:39:52 | 	at org.apache.derby.impl.services.daemon.BasicDaemon.run(Unknown Source)
INFO   | jvm 1    | 2007/12/29 16:39:52 | 	at java.lang.Thread.run(Thread.java:619)
INFO   | jvm 1    | 2007/12/29 16:39:52 | 
INFO   | jvm 1    | 2007/12/29 16:39:52 | "DRDAConnThread_8" daemon prio=10 tid=0x08251800 nid=0x2b5e in Object.wait() [0xb4e18000..0xb4e19040]
INFO   | jvm 1    | 2007/12/29 16:39:52 |    java.lang.Thread.State: WAITING (on object monitor)
INFO   | jvm 1    | 2007/12/29 16:39:52 | 	at java.lang.Object.wait(Native Method)
INFO   | jvm 1    | 2007/12/29 16:39:52 | 	- waiting on <0x88b580e8> (a java.util.Vector)
INFO   | jvm 1    | 2007/12/29 16:39:52 | 	at java.lang.Object.wait(Object.java:485)
INFO   | jvm 1    | 2007/12/29 16:39:52 | 	at org.apache.derby.impl.drda.NetworkServerControlImpl.getNextSession(Unknown Source)
INFO   | jvm 1    | 2007/12/29 16:39:52 | 	- locked <0x88b580e8> (a java.util.Vector)
INFO   | jvm 1    | 2007/12/29 16:39:52 | 	at org.apache.derby.impl.drda.DRDAConnThread.run(Unknown Source)
INFO   | jvm 1    | 2007/12/29 16:39:52 | 
INFO   | jvm 1    | 2007/12/29 16:39:52 | "Thread-7" daemon prio=10 tid=0x08577c00 nid=0x2b5d runnable [0xb4e69000..0xb4e69ec0]
INFO   | jvm 1    | 2007/12/29 16:39:52 |    java.lang.Thread.State: RUNNABLE
INFO   | jvm 1    | 2007/12/29 16:39:52 | 	at java.net.PlainSocketImpl.socketAccept(Native Method)
INFO   | jvm 1    | 2007/12/29 16:39:52 | 	at java.net.PlainSocketImpl.accept(PlainSocketImpl.java:384)
INFO   | jvm 1    | 2007/12/29 16:39:52 | 	- locked <0x88b640a0> (a java.net.SocksSocketImpl)
INFO   | jvm 1    | 2007/12/29 16:39:52 | 	at java.net.ServerSocket.implAccept(ServerSocket.java:453)
INFO   | jvm 1    | 2007/12/29 16:39:52 | 	at java.net.ServerSocket.accept(ServerSocket.java:421)
INFO   | jvm 1    | 2007/12/29 16:39:52 | 	at org.apache.derby.impl.drda.ClientThread$1.run(Unknown Source)
INFO   | jvm 1    | 2007/12/29 16:39:52 | 	at java.security.AccessController.doPrivileged(Native Method)
INFO   | jvm 1    | 2007/12/29 16:39:52 | 	at org.apache.derby.impl.drda.ClientThread.run(Unknown Source)
INFO   | jvm 1    | 2007/12/29 16:39:52 | 	at java.lang.Thread.run(Thread.java:619)
INFO   | jvm 1    | 2007/12/29 16:39:52 | 
INFO   | jvm 1    | 2007/12/29 16:39:52 | "derby.NetworkServerStarter" daemon prio=10 tid=0x0856cc00 nid=0x2b5c in Object.wait() [0xb4eba000..0xb4ebaf40]
INFO   | jvm 1    | 2007/12/29 16:39:52 |    java.lang.Thread.State: WAITING (on object monitor)
INFO   | jvm 1    | 2007/12/29 16:39:52 | 	at java.lang.Object.wait(Native Method)
INFO   | jvm 1    | 2007/12/29 16:39:52 | 	- waiting on <0x88b46078> (a java.lang.Object)
INFO   | jvm 1    | 2007/12/29 16:39:52 | 	at java.lang.Object.wait(Object.java:485)
INFO   | jvm 1    | 2007/12/29 16:39:52 | 	at org.apache.derby.impl.drda.NetworkServerControlImpl.blockingStart(Unknown Source)
INFO   | jvm 1    | 2007/12/29 16:39:52 | 	- locked <0x88b46078> (a java.lang.Object)
INFO   | jvm 1    | 2007/12/29 16:39:52 | 	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
INFO   | jvm 1    | 2007/12/29 16:39:52 | 	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
INFO   | jvm 1    | 2007/12/29 16:39:52 | 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
INFO   | jvm 1    | 2007/12/29 16:39:52 | 	at java.lang.reflect.Method.invoke(Method.java:597)
INFO   | jvm 1    | 2007/12/29 16:39:52 | 	at org.apache.derby.iapi.jdbc.DRDAServerStarter.run(Unknown Source)
INFO   | jvm 1    | 2007/12/29 16:39:52 | 	at java.lang.Thread.run(Thread.java:619)
INFO   | jvm 1    | 2007/12/29 16:39:52 | 
INFO   | jvm 1    | 2007/12/29 16:39:52 | "Timer-0" daemon prio=10 tid=0x085b0c00 nid=0x2b5b in Object.wait() [0xb4f38000..0xb4f38dc0]
INFO   | jvm 1    | 2007/12/29 16:39:52 |    java.lang.Thread.State: WAITING (on object monitor)
INFO   | jvm 1    | 2007/12/29 16:39:52 | 	at java.lang.Object.wait(Native Method)
INFO   | jvm 1    | 2007/12/29 16:39:52 | 	- waiting on <0x88b460f8> (a java.util.TaskQueue)
INFO   | jvm 1    | 2007/12/29 16:39:52 | 	at java.lang.Object.wait(Object.java:485)
INFO   | jvm 1    | 2007/12/29 16:39:52 | 	at java.util.TimerThread.mainLoop(Timer.java:483)
INFO   | jvm 1    | 2007/12/29 16:39:52 | 	- locked <0x88b460f8> (a java.util.TaskQueue)
INFO   | jvm 1    | 2007/12/29 16:39:52 | 	at java.util.TimerThread.run(Timer.java:462)
INFO   | jvm 1    | 2007/12/29 16:39:52 | 
INFO   | jvm 1    | 2007/12/29 16:39:52 | "derby.antiGC" daemon prio=10 tid=0x08582800 nid=0x2b5a in Object.wait() [0xb4f89000..0xb4f89e40]
INFO   | jvm 1    | 2007/12/29 16:39:52 |    java.lang.Thread.State: WAITING (on object monitor)
INFO   | jvm 1    | 2007/12/29 16:39:52 | 	at java.lang.Object.wait(Native Method)
INFO   | jvm 1    | 2007/12/29 16:39:52 | 	- waiting on <0x88b32fb8> (a org.apache.derby.impl.services.monitor.AntiGC)
INFO   | jvm 1    | 2007/12/29 16:39:52 | 	at java.lang.Object.wait(Object.java:485)
INFO   | jvm 1    | 2007/12/29 16:39:52 | 	at org.apache.derby.impl.services.monitor.AntiGC.run(Unknown Source)
INFO   | jvm 1    | 2007/12/29 16:39:52 | 	- locked <0x88b32fb8> (a org.apache.derby.impl.services.monitor.AntiGC)
INFO   | jvm 1    | 2007/12/29 16:39:52 | 	at java.lang.Thread.run(Thread.java:619)
INFO   | jvm 1    | 2007/12/29 16:39:52 | 
INFO   | jvm 1    | 2007/12/29 16:39:52 | "Thread-2" daemon prio=10 tid=0x08534000 nid=0x2b59 waiting on condition [0xb4fda000..0xb4fdb0c0]
INFO   | jvm 1    | 2007/12/29 16:39:52 |    java.lang.Thread.State: TIMED_WAITING (sleeping)
INFO   | jvm 1    | 2007/12/29 16:39:52 | 	at java.lang.Thread.sleep(Native Method)
INFO   | jvm 1    | 2007/12/29 16:39:52 | 	at org.apache.log4j.helpers.FileWatchdog.run(FileWatchdog.java:103)
INFO   | jvm 1    | 2007/12/29 16:39:52 | 
INFO   | jvm 1    | 2007/12/29 16:39:52 | "Dispatcher-Thread-4" daemon prio=10 tid=0x08502c00 nid=0x2b58 in Object.wait() [0xb52ff000..0xb5300140]
INFO   | jvm 1    | 2007/12/29 16:39:52 |    java.lang.Thread.State: WAITING (on object monitor)
INFO   | jvm 1    | 2007/12/29 16:39:52 | 	at java.lang.Object.wait(Native Method)
INFO   | jvm 1    | 2007/12/29 16:39:52 | 	- waiting on <0x88b18ae0> (a java.util.ArrayList)
INFO   | jvm 1    | 2007/12/29 16:39:52 | 	at java.lang.Object.wait(Object.java:485)
INFO   | jvm 1    | 2007/12/29 16:39:52 | 	at org.apache.log4j.AsyncAppender$Dispatcher.run(AsyncAppender.java:540)
INFO   | jvm 1    | 2007/12/29 16:39:52 | 	- locked <0x88b18ae0> (a java.util.ArrayList)
INFO   | jvm 1    | 2007/12/29 16:39:52 | 	at java.lang.Thread.run(Thread.java:619)
INFO   | jvm 1    | 2007/12/29 16:39:52 | 
INFO   | jvm 1    | 2007/12/29 16:39:52 | "Dispatcher-Thread-3" daemon prio=10 tid=0x08533800 nid=0x2b57 in Object.wait() [0xb5350000..0xb5350fc0]
INFO   | jvm 1    | 2007/12/29 16:39:52 |    java.lang.Thread.State: WAITING (on object monitor)
INFO   | jvm 1    | 2007/12/29 16:39:52 | 	at java.lang.Object.wait(Native Method)
INFO   | jvm 1    | 2007/12/29 16:39:52 | 	- waiting on <0x88b18b80> (a java.util.ArrayList)
INFO   | jvm 1    | 2007/12/29 16:39:52 | 	at java.lang.Object.wait(Object.java:485)
INFO   | jvm 1    | 2007/12/29 16:39:52 | 	at org.apache.log4j.AsyncAppender$Dispatcher.run(AsyncAppender.java:540)
INFO   | jvm 1    | 2007/12/29 16:39:52 | 	- locked <0x88b18b80> (a java.util.ArrayList)
INFO   | jvm 1    | 2007/12/29 16:39:52 | 	at java.lang.Thread.run(Thread.java:619)
INFO   | jvm 1    | 2007/12/29 16:39:52 | 
INFO   | jvm 1    | 2007/12/29 16:39:52 | "WrapperListener_start_runner" prio=10 tid=0x082c8000 nid=0x2b54 runnable [0xb53a4000..0xb53a4f40]
INFO   | jvm 1    | 2007/12/29 16:39:52 |    java.lang.Thread.State: RUNNABLE
INFO   | jvm 1    | 2007/12/29 16:39:52 | 	at java.net.PlainSocketImpl.socketConnect(Native Method)
INFO   | jvm 1    | 2007/12/29 16:39:52 | 	at java.net.PlainSocketImpl.doConnect(PlainSocketImpl.java:333)
INFO   | jvm 1    | 2007/12/29 16:39:52 | 	- locked <0x88e138b8> (a java.net.SocksSocketImpl)
INFO   | jvm 1    | 2007/12/29 16:39:52 | 	at java.net.PlainSocketImpl.connectToAddress(PlainSocketImpl.java:195)
INFO   | jvm 1    | 2007/12/29 16:39:52 | 	at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:182)
INFO   | jvm 1    | 2007/12/29 16:39:52 | 	at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:366)
INFO   | jvm 1    | 2007/12/29 16:39:52 | 	at java.net.Socket.connect(Socket.java:519)
INFO   | jvm 1    | 2007/12/29 16:39:52 | 	at java.net.Socket.connect(Socket.java:469)
INFO   | jvm 1    | 2007/12/29 16:39:52 | 	at java.net.Socket.<init>(Socket.java:366)
INFO   | jvm 1    | 2007/12/29 16:39:52 | 	at java.net.Socket.<init>(Socket.java:180)
INFO   | jvm 1    | 2007/12/29 16:39:52 | 	at sun.rmi.transport.proxy.RMIDirectSocketFactory.createSocket(RMIDirectSocketFactory.java:22)
INFO   | jvm 1    | 2007/12/29 16:39:52 | 	at sun.rmi.transport.proxy.RMIMasterSocketFactory.createSocket(RMIMasterSocketFactory.java:128)
INFO   | jvm 1    | 2007/12/29 16:39:52 | 	at sun.rmi.transport.tcp.TCPEndpoint.newSocket(TCPEndpoint.java:595)
INFO   | jvm 1    | 2007/12/29 16:39:52 | 	at sun.rmi.transport.tcp.TCPChannel.createConnection(TCPChannel.java:198)
INFO   | jvm 1    | 2007/12/29 16:39:52 | 	at sun.rmi.transport.tcp.TCPChannel.newConnection(TCPChannel.java:184)
INFO   | jvm 1    | 2007/12/29 16:39:52 | 	at sun.rmi.server.UnicastRef.newCall(UnicastRef.java:322)
INFO   | jvm 1    | 2007/12/29 16:39:52 | 	at sun.rmi.registry.RegistryImpl_Stub.list(Unknown Source)
INFO   | jvm 1    | 2007/12/29 16:39:52 | 	at org.lnicholls.galleon.server.Server.start(Server.java:353)
INFO   | jvm 1    | 2007/12/29 16:39:52 | 	at org.lnicholls.galleon.server.ServiceWrapper.start(ServiceWrapper.java:47)
INFO   | jvm 1    | 2007/12/29 16:39:52 | 	at org.tanukisoftware.wrapper.WrapperManager$12.run(WrapperManager.java:2788)
INFO   | jvm 1    | 2007/12/29 16:39:52 | 
INFO   | jvm 1    | 2007/12/29 16:39:52 | "DestroyJavaVM" prio=10 tid=0x0805a400 nid=0x2b47 waiting on condition [0x00000000..0xb7d49090]
INFO   | jvm 1    | 2007/12/29 16:39:52 |    java.lang.Thread.State: RUNNABLE
INFO   | jvm 1    | 2007/12/29 16:39:52 | 
INFO   | jvm 1    | 2007/12/29 16:39:52 | "Wrapper-Connection" daemon prio=10 tid=0x082c6c00 nid=0x2b51 in Object.wait() [0xb5409000..0xb5409dc0]
INFO   | jvm 1    | 2007/12/29 16:39:52 |    java.lang.Thread.State: WAITING (on object monitor)
INFO   | jvm 1    | 2007/12/29 16:39:52 | 	at java.lang.Object.wait(Native Method)
INFO   | jvm 1    | 2007/12/29 16:39:52 | 	- waiting on <0x88a80f40> (a org.tanukisoftware.wrapper.WrapperManager$12)
INFO   | jvm 1    | 2007/12/29 16:39:52 | 	at java.lang.Thread.join(Thread.java:1143)
INFO   | jvm 1    | 2007/12/29 16:39:52 | 	- locked <0x88a80f40> (a org.tanukisoftware.wrapper.WrapperManager$12)
INFO   | jvm 1    | 2007/12/29 16:39:52 | 	at java.lang.Thread.join(Thread.java:1196)
INFO   | jvm 1    | 2007/12/29 16:39:52 | 	at org.tanukisoftware.wrapper.WrapperManager.startInner(WrapperManager.java:2816)
INFO   | jvm 1    | 2007/12/29 16:39:52 | 	at org.tanukisoftware.wrapper.WrapperManager.handleSocket(WrapperManager.java:3790)
INFO   | jvm 1    | 2007/12/29 16:39:52 | 	at org.tanukisoftware.wrapper.WrapperManager.run(WrapperManager.java:4084)
INFO   | jvm 1    | 2007/12/29 16:39:52 | 	at java.lang.Thread.run(Thread.java:619)
INFO   | jvm 1    | 2007/12/29 16:39:52 | 
INFO   | jvm 1    | 2007/12/29 16:39:52 | "Wrapper-Startup-Runner" prio=10 tid=0x082a9800 nid=0x2b50 waiting on condition [0xb545a000..0xb545ae40]
INFO   | jvm 1    | 2007/12/29 16:39:52 |    java.lang.Thread.State: TIMED_WAITING (sleeping)
INFO   | jvm 1    | 2007/12/29 16:39:52 | 	at java.lang.Thread.sleep(Native Method)
INFO   | jvm 1    | 2007/12/29 16:39:52 | 	at org.tanukisoftware.wrapper.WrapperManager$4.run(WrapperManager.java:792)
INFO   | jvm 1    | 2007/12/29 16:39:52 | 
INFO   | jvm 1    | 2007/12/29 16:39:52 | "Wrapper-Control-Event-Monitor" daemon prio=10 tid=0x082a8c00 nid=0x2b4f waiting on condition [0xb54ab000..0xb54ac0c0]
INFO   | jvm 1    | 2007/12/29 16:39:52 |    java.lang.Thread.State: TIMED_WAITING (sleeping)
INFO   | jvm 1    | 2007/12/29 16:39:52 | 	at java.lang.Thread.sleep(Native Method)
INFO   | jvm 1    | 2007/12/29 16:39:52 | 	at org.tanukisoftware.wrapper.WrapperManager$3.run(WrapperManager.java:731)
INFO   | jvm 1    | 2007/12/29 16:39:52 | 
INFO   | jvm 1    | 2007/12/29 16:39:52 | "Low Memory Detector" daemon prio=10 tid=0x0808f800 nid=0x2b4d runnable [0x00000000..0x00000000]
INFO   | jvm 1    | 2007/12/29 16:39:52 |    java.lang.Thread.State: RUNNABLE
INFO   | jvm 1    | 2007/12/29 16:39:52 | 
INFO   | jvm 1    | 2007/12/29 16:39:52 | "CompilerThread0" daemon prio=10 tid=0x0808dc00 nid=0x2b4c waiting on condition [0x00000000..0xb5964ad8]
INFO   | jvm 1    | 2007/12/29 16:39:52 |    java.lang.Thread.State: RUNNABLE
INFO   | jvm 1    | 2007/12/29 16:39:52 | 
INFO   | jvm 1    | 2007/12/29 16:39:52 | "Signal Dispatcher" daemon prio=10 tid=0x0808c800 nid=0x2b4b runnable [0x00000000..0x00000000]
INFO   | jvm 1    | 2007/12/29 16:39:52 |    java.lang.Thread.State: RUNNABLE
INFO   | jvm 1    | 2007/12/29 16:39:52 | 
INFO   | jvm 1    | 2007/12/29 16:39:52 | "Finalizer" daemon prio=10 tid=0x08083800 nid=0x2b4a in Object.wait() [0xb5a4c000..0xb5a4cf40]
INFO   | jvm 1    | 2007/12/29 16:39:52 |    java.lang.Thread.State: WAITING (on object monitor)
INFO   | jvm 1    | 2007/12/29 16:39:52 | 	at java.lang.Object.wait(Native Method)
INFO   | jvm 1    | 2007/12/29 16:39:52 | 	- waiting on <0x88a6d468> (a java.lang.ref.ReferenceQueue$Lock)
INFO   | jvm 1    | 2007/12/29 16:39:52 | 	at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:116)
INFO   | jvm 1    | 2007/12/29 16:39:52 | 	- locked <0x88a6d468> (a java.lang.ref.ReferenceQueue$Lock)
INFO   | jvm 1    | 2007/12/29 16:39:52 | 	at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:132)
INFO   | jvm 1    | 2007/12/29 16:39:52 | 	at java.lang.ref.Finalizer$FinalizerThread.run(Finalizer.java:159)
INFO   | jvm 1    | 2007/12/29 16:39:52 | 
INFO   | jvm 1    | 2007/12/29 16:39:52 | "Reference Handler" daemon prio=10 tid=0x08082400 nid=0x2b49 in Object.wait() [0xb5a9d000..0xb5a9ddc0]
INFO   | jvm 1    | 2007/12/29 16:39:52 |    java.lang.Thread.State: WAITING (on object monitor)
INFO   | jvm 1    | 2007/12/29 16:39:52 | 	at java.lang.Object.wait(Native Method)
INFO   | jvm 1    | 2007/12/29 16:39:52 | 	- waiting on <0x88a6d1e0> (a java.lang.ref.Reference$Lock)
INFO   | jvm 1    | 2007/12/29 16:39:52 | 	at java.lang.Object.wait(Object.java:485)
INFO   | jvm 1    | 2007/12/29 16:39:52 | 	at java.lang.ref.Reference$ReferenceHandler.run(Reference.java:116)
INFO   | jvm 1    | 2007/12/29 16:39:52 | 	- locked <0x88a6d1e0> (a java.lang.ref.Reference$Lock)
INFO   | jvm 1    | 2007/12/29 16:39:52 | 
INFO   | jvm 1    | 2007/12/29 16:39:52 | "VM Thread" prio=10 tid=0x08080c00 nid=0x2b48 runnable 
INFO   | jvm 1    | 2007/12/29 16:39:52 | 
INFO   | jvm 1    | 2007/12/29 16:39:52 | "VM Periodic Task Thread" prio=10 tid=0x08091000 nid=0x2b4e waiting on condition 
INFO   | jvm 1    | 2007/12/29 16:39:52 | 
INFO   | jvm 1    | 2007/12/29 16:39:52 | JNI global references: 1112
INFO   | jvm 1    | 2007/12/29 16:39:52 | 
INFO   | jvm 1    | 2007/12/29 16:39:52 | Heap
INFO   | jvm 1    | 2007/12/29 16:39:52 |  def new generation   total 960K, used 481K [0x88070000, 0x88170000, 0x88a40000)
INFO   | jvm 1    | 2007/12/29 16:39:52 |   eden space 896K,  46% used [0x88070000, 0x880d8560, 0x88150000)
INFO   | jvm 1    | 2007/12/29 16:39:52 |   from space 64K, 100% used [0x88150000, 0x88160000, 0x88160000)
INFO   | jvm 1    | 2007/12/29 16:39:52 |   to   space 64K,   0% used [0x88160000, 0x88160000, 0x88170000)
INFO   | jvm 1    | 2007/12/29 16:39:52 |  tenured generation   total 5840K, used 4173K [0x88a40000, 0x88ff4000, 0x90070000)
INFO   | jvm 1    | 2007/12/29 16:39:52 |    the space 5840K,  71% used [0x88a40000, 0x88e536f0, 0x88e53800, 0x88ff4000)
INFO   | jvm 1    | 2007/12/29 16:39:52 |  compacting perm gen  total 14592K, used 14559K [0x90070000, 0x90eb0000, 0x94070000)
INFO   | jvm 1    | 2007/12/29 16:39:52 |    the space 14592K,  99% used [0x90070000, 0x90ea7cf8, 0x90ea7e00, 0x90eb0000)
INFO   | jvm 1    | 2007/12/29 16:39:52 |     ro space 8192K,  73% used [0x94070000, 0x94652560, 0x94652600, 0x94870000)
INFO   | jvm 1    | 2007/12/29 16:39:52 |     rw space 12288K,  58% used [0x94870000, 0x94f67448, 0x94f67600, 0x95470000)
INFO   | jvm 1    | 2007/12/29 16:39:52 | 
ERROR  | wrapper  | 2007/12/29 16:39:56 | JVM did not exit on request, terminated
INFO   | wrapper  | 2007/12/29 16:39:56 | JVM exited on its own while waiting to kill the application.
STATUS | wrapper  | 2007/12/29 16:39:56 | JVM exited in response to signal SIGKILL (9).
STATUS | wrapper  | 2007/12/29 16:40:00 | Launching a JVM...
INFO   | jvm 2    | 2007/12/29 16:40:01 | Wrapper (Version 3.2.3) http://wrapper.tanukisoftware.org
INFO   | jvm 2    | 2007/12/29 16:40:01 |   Copyright 1999-2006 Tanuki Software, Inc.  All Rights Reserved.
INFO   | jvm 2    | 2007/12/29 16:40:01 | 
INFO   | jvm 2    | 2007/12/29 16:40:03 | Galleon 2.5.2 is starting...
```


----------



## chip_r (Apr 27, 2006)

Syrinx2112: This is a plain-vanilla shell script initialization I've used to run the server and gui on both a Fedora and Debian box at different times. It really just follows the basic Linux installation directions on www.galleon.tv.

Older versions of Galleon are available on sourceforge.net so pick up Galleon 2.4.1 from here: http://sourceforge.net/project/showfiles.php?group_id=126291&package_id=138205

On this page, scroll down and expand 2.4.1 and download galleon-2.4.1-linux.zip and move it onto your Kubuntu machine.

Make sure you've kill any java processes you may have started up from before. Having two servers around would be a problem.

As a regular user:

mkdir galleon_241​
and move your .zip file into this directory

unzip galleon-2.4.1-linux.zip​
In the galleon_241/bin directory do a

chmod +x ./gui.sh ./run.sh​
to make these executable

Next you need to make sure the Java jre binary PATH and JAVA_HOME variables are set.

As an example, I have a simple bash shell script to do that as follows:

PATH=/usr/local/bin:/usr/bin:/bin:/user/bin/X11:/opt/ibm-java2-ppc-50/jre/bin
export PATH
JAVA_HOME=/opt/ibm-java2-ppc-50/jre
export JAVA_HOME
DISPLAY=192.168.1.14:1
export DISPLAY

Then I source this file. The only key things you need to do are in red but the exact paths are specific to your installation of Java.

As a check:

which java​
should produce the path to your Java JRE binary.

and:

java -version​
should print out your current version and build of the JRE. These are good for a sanity check.

Also do a env or printenv to see if your JAVA_HOME environment variable is set as you expected. Note that JAVA_HOME is usually one directory up from your jre/bin directory in your PATH. Your DISPLAY environment variable may need to be set for your particular distro. For my Debian, it must be. Many distros are OK with expliciting setting it.

Now cd into galleon_241/bin and type the following:

./run.sh​
A bunch of messages should come up indicating that the server is starting up. Finally a Galleon is ready. will be printed. Leave this window alone for now and don't control-C or close this window.

Now ...

Open up another terminal window as a regular user and make sure your PATH and JAVA_HOME variables are set as described above.

cd into galleon_241/bin and type

./gui.sh​
This should start your GUI.

See if you get this far. If so, I'll walk you through the rest. Otherwise, just post your results or error messages.

chip_r


----------



## chip_r (Apr 27, 2006)

Syrinx2112:

Looking at your previous post where you ran the server as root but the GUI as a regular user, this won't work because of permissions.

How about giving the older directions I posted a try. If that goes just fine, then you can migrate to the newer scripts and Galleon version later on.

chip_r


----------



## lrhorer (Aug 31, 2003)

chip_r said:


> Looking at your previous post where you ran the server as root but the GUI as a regular user, this won't work because of permissions.


It works fine for me. Under 2.4.1, 2.5.1 and 2.5.2 I am able to run gui.sh as an ordinary user. I have one server running Debian Sarge and the other running Debian Etch. Both bring up the server as service (and so naturally as root), and it won't run if I try to run it as an ordinary user. On the other hand gui.sh runs fine whether I am root or an ordinary user.


----------



## lrhorer (Aug 31, 2003)

chip_r said:


> As an example, I have a simple bash shell script to do that as follows:
> 
> PATH=/usr/local/bin:/usr/bin:/bin:/user/bin/X11:/opt/ibm-java2-ppc-50/jre/bin
> export PATH
> ...


Yeah, from his log it looks to me like the JVM launch is not finding the correct path. I had the same problem. What I did was modify /usr/share/galleon/bin by adding the following lines. I could of course have created an external script like you did, but since I'm running it as a service I chose to handle it inside the galleon script:

JAVA_HOME=/usr/lib/jvm/jre1.6.0_03
PATH=$PATH:$JAVA_HOME:$JAVA_HOME/bin


----------



## chip_r (Apr 27, 2006)

On my Debian both server and gui need to have the same owners. I was looking at his log file showing a permission denied. Not having ownership is one cause.


----------



## chip_r (Apr 27, 2006)

lrhorer said:


> Yeah, form his log it looks to me like the JVM launch is not finding the correct path. I had the same problem. What I did was modify /usr/share/galleon/bin by adding the following lines. I could of course have created an external script like you did, but since I'm running it as a service I chose to handle it inside the galleon script:
> 
> JAVA_HOME=/usr/lib/jvm/jre1.6.0_03
> PATH=$PATH:JAVA_HOME:JAVA_HOME/bin


Yep. That's why a printenv and java -version always helps debugging the startup.


----------



## lrhorer (Aug 31, 2003)

chip_r said:


> On my Debian both server and gui need to have the same owners. I was looking at his log file showing a permission denied. Not having ownership is one cause.


Yeah, I get the denial on the log file, as well if I don't have root permissions, but failed logging doesn't hurt. I'm running galleon on both Debian Sarge and Debian Etch.


----------



## lrhorer (Aug 31, 2003)

chip_r said:


> Yep. That's why a printenv and java -version always helps debugging the startup.


Oops! I forgot the $ variable markers when I typed out the commands in my post above. I've eited it so now it's correct.


----------



## chip_r (Apr 27, 2006)

My Debian is running on a NAS box. I really like Linux but between the distros and flavors of the distros, the permutations will make your head spin


----------



## chip_r (Apr 27, 2006)

lrhorer said:


> Oops! I forgot the $ variable markers when I typed out the commands in my post above. I've eited it so now it's correct.


Know the feeling. I've been burned by Linux enough that I can type "whoami", "printenv", and "which" in my sleep.


----------



## lrhorer (Aug 31, 2003)

chip_r said:


> As a check:
> 
> which java​
> should produce the path to your Java JRE binary.
> ...


Hmm. I'm having a problem with a new installation of Galleon, and perhaps you could help. I've detailed the problem here.
Originally the wrapper was complaining because the module was 32 bit while the JRE is 64 bit, but now that I have replaced the module, things still don't quite work. The videos come up in the NPL, but only .mpg files will transfer, not .TiVo files, and the Galleon apps (weather, music, etc) don't come up.

Issuing the

which java​
command yields

/usr/bin/java​
which is a symlink to /etc/alternatives/java, which is itself a symlink to /usr/lib/jvm/java-1.5.0-sun/jre/bin/java. That would probably be OK, but the 64 bit version of the JRE I downloaded is in /usr/lib/jvm/jre1.6.0_03/bin.

Issuing the

java -version​
command yields

java version "1.5.0_10"
Java(TM) 2 Runtime environment, Standard Edition (build 1.5.0_10-b03)
Java HotSpot(TM) 64 bit Server VM (build 1.5.0_10-b03, mixed mode)​
which is also no doubt problematical. Any ideas?


----------



## Syrinx2112 (Dec 29, 2007)

This is awesome, and I really appreciate the time you took to do this. Which
is why it pains me to say that I got the same error, when the GUI started up.



chip_r said:


> Next you need to make sure the Java jre binary PATH and JAVA_HOME variables are set.


JAVA_HOME=/usr/bin/
(set both in run.sh and gui.sh)



> As a check:
> which java​should produce the path to your Java JRE binary.
> and:
> java -version​


[email protected]:~/galleon-2.4.1-linux/bin$ which java
/usr/bin/java
('java' is the file, not a directory)

[email protected]:~/galleon-2.4.1-linux/bin$ java -version
java version "1.6.0_03"
Java(TM) SE Runtime Environment (build 1.6.0_03-b05)
Java HotSpot(TM) Client VM (build 1.6.0_03-b05, mixed mode, sharing)



> Also do a env or printenv to see if your JAVA_HOME environment variable is set as you expected. Note that JAVA_HOME is usually one directory up from your jre/bin directory in your PATH. Your DISPLAY environment variable may need to be set for your particular distro. For my Debian, it must be. Many distros are OK with expliciting setting it.


PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games



> Now cd into galleon_241/bin and type the following:
> ./run.sh​A bunch of messages should come up indicating that the server is starting up. Finally a Galleon is ready. will be printed. Leave this window alone for now and don't control-C or close this window.


Yep...took a few minutes as everything for the apps were set, then I got the "ready" message



> See if you get this far. If so, I'll walk you through the rest. Otherwise, just post your results or error messages.


Here ya go... The GUI loads up, but so does that pop-up error message. What else could I paste in to here, to help decode this?


----------



## chip_r (Apr 27, 2006)

I'm looking through your posts here ... give me a minute or two.


----------



## lrhorer (Aug 31, 2003)

chip_r said:


> Know the feeling. I've been burned by Linux enough that I can type "whoami", "printenv", and "which" in my sleep.


Yeah, I know what you mean. I have HP-UX and Solaris servers at work, and Linux servers at home. Sometimes its hard to remember which one uses which files where. They weren't joking when they named it /etc.


----------



## chip_r (Apr 27, 2006)

Syrinx2112:

Just a few more minutes ... I need to look up something.


----------



## chip_r (Apr 27, 2006)

Syrinx2112,

Two things come to mind:

1) How are you disabling ipv6? Are you doing it via a GUI or are you editing your /etc/modprobe.d/aliases file?

2) Have you opened the following ports in your firewall?

Galleon needs access to the following ports for it to work 
1099 (TCP): Used for Java RMI for letting the configuration GUI talk to the server.
7288 (TCP: Used for accessing the applications on the local network.
5353 (UDP): Used for multicast DNS (Rendevouz) protocol.
1527 (TCP): Used by the embedded database.
2190 (TCP,UDP): Used by the HMO protocol for ToGo Back.
8081 (TCP): Used by the HMO protocol for ToGo Back. 

How about cheating for number 2) and just disabling your firewall for now.


----------



## lrhorer (Aug 31, 2003)

Syrinx2112 said:


> JAVA_HOME=/usr/bin/
> (set both in run.sh and gui.sh)


Um, no, unless I am much mistaken, JAVA_HOME needs to be the path to the JRE, not the java binary. If you will issue the ls -l command, I think you will see /usr/bin/java is a symlink, not a file. This link may point to another symlink or to a real file. If it's another symlink, you need to issue an ls -l on that link, as well, which probably takes you to a real file. It is the directory two parents above which should be the JAVA_HOME directory. On one of my machines, for example, "which java" yields:

/usr/java/jre1.6.0_02/bin/java​
so the JAVA_HOME variable on this machine is set to usr/java/jre1.6.0_02. You could also try the following command (it may take a while. though and you may need to be root or use sudo):

find / -name java



Syrinx2112 said:


> PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games


Again, I could be mistaken, but I believe the entire ./bin directory needs to be in the $PATH. In your case, having the /usr/bin directory in the $PATH variable only allows an application to find the java binary, not any of the other files in the ./bin directory. That's why I add the $JAVA_HOME/bin directory to the path, and for good measure I also add $JAVA_HOME.


----------



## chip_r (Apr 27, 2006)

Syrinx2112 said:


> Went into to the router and configured the ports as specified on the Galleon FAQ.


Just a sanity check on this statement ... did you really mean to say you went into your Linux firewall and configured the ports or did you really configure ports on your hardware router? I believe these instructions were for your Linux firewall.

Thanks,
chip_r


----------



## lrhorer (Aug 31, 2003)

chip_r said:


> 1) How are you disabling ipv6? Are you doing it via a GUI or are you editing your /etc/modprobe.d/aliases file?


Oh, hell. I forgot to disable ipv6 on the new machine. The really odd thing, however, is that .mpgfiles would transfer, but .TiVo files would not. Now .TiVo files seem to be transferring, but the applications still fail to come up. That seems backwards. I'm going to try rebooting the machine. I've made enough changes that maybe it's just confused, now...


----------



## chip_r (Apr 27, 2006)

lrhorer said:


> Hmm. I'm having a problem with a new installation of Galleon, and perhaps you could help. I've detailed the problem here.
> which is a symlink to /etc/alternatives/java, which is itself a symlink to /usr/lib/jvm/java-1.5.0-sun/jre/bin/java. That would probably be OK, but the 64 bit version of the JRE I downloaded is in /usr/lib/jvm/jre1.6.0_03/bin.
> 
> Issuing the
> ...


Even though your path may include the /usr/lib/jvm/jre1.6.0_03/bin using symbolic links, the java -version proves that you're not pointing to it. I suspect that some other path in your PATH variable is picking it up. I can never remember the order but PATH variables either run left-to-right or right-to-left in precedence. Try adjusting your PATH variable and re-source it.


----------



## chip_r (Apr 27, 2006)

lrhorer said:


> Oh, hell. I forgot to disable ipv6 on the new machine. The really odd thing, however, is that .mpgfiles would transfer, but .TiVo files would not. Now .TiVo files seem to be transferring, but the applications still fail to come up. That seems backwards. I'm going to try rebooting the machine. I've made enough changes that maybe it's just confused, now...


Rebooting sounds like a good plan. I had issues that ipv6 could be disabled using a GUI by root but it was a complete lie. Nothing ever happened. Only after modifying /etc/modprobe.d/aliases (and a reboot) life was better.


----------



## Syrinx2112 (Dec 29, 2007)

chip_r said:


> Syrinx2112,
> 1) How are you disabling ipv6? Are you doing it via a GUI or are you editing your /etc/modprobe.d/aliases file?


Neither...

From the earlier Google search, I found a command, which opened up a config file, in which I commented out the ipv6 line.

Then there was another command, to which if nothing was echo'ed out, it meant it was disabled.

Looking through the aliases file, there is no sign of 'ipv6'. There is an "ipv4".



> 2) Have you opened the following ports in your firewall?


Yes. I logged into my router, and set those ports to the TiVo's IP address, and set them as TCP, UDP, or Both, as needed.

Just thought of this: Would that have to be the computer's IP address?



> How about cheating for number 2) and just disabling your firewall for now.


If by firewall, you mean router....Then, no access to the TiVo.

That, and I'm sure this is a JAVA issue...

which leads me to: *lrhorer*

Thanks for the tip on the JAVA path.

Doing the 'find' command, gave me this...

(cut the rest of the directories output, since it's the /usr directory we want)

```
/usr/lib/jvm/java-6-sun-1.6.0.03/jre/bin/java
/usr/lib/jvm/java-6-sun-1.6.0.03/bin/java
/usr/lib/jvm/java-1.5.0-sun-1.5.0.13/jre/bin/java
/usr/lib/jvm/java-1.5.0-sun-1.5.0.13/bin/java
/usr/lib/openoffice/share/Scripts/java
/usr/share/doc/libcupsys2/examples/scripting/java
/usr/share/java
/usr/bin/java
```
And here is where I'm getting confused. I don't which to use to plug in both .sh scripts, and/or where to start to go through all the symlinks.


----------



## lrhorer (Aug 31, 2003)

chip_r said:


> Even though your path may include the /usr/lib/jvm/jre1.6.0_03/bin using symbolic links, the java -version proves that you're not pointing to it. I suspect that some other path in your PATH variable is picking it up. I can never remember the order but PATH variables either run left-to-right or right-to-left in precedence. Try adjusting your PATH variable and re-source it.


Well, what's pointing to it is pretty clearly the link in /usr/bin, I think, and it's pointing to 1.5, not 1.6. I tried re-pointing the $JAVA_HOME to the 1.5 directory, with no luck, so now I've re-done the link in /etc/alternatives and I'm rebooting...


----------



## lrhorer (Aug 31, 2003)

Syrinx2112 said:


> Yes. I logged into my router, and set those ports to the TiVo's IP address, and set them as TCP, UDP, or Both, as needed.


That shouldn't be necessary, unless your TiVo and your workstation are on different subnets and the subnets are firewalled off from each other. I've seen that happen with a wireless router which uses different subnets for the wireless LAN and the wired LAN, but otherwise it shouldn't be the case. If your TiVo and your workstation are on the same subnet, then they won't even hit the router, per se. The packets will be switched at layer 2 without ever seeing the router's firewall. Opening the ports on the firewall router just opens them to the internet. That's probably harmless, but not recommended, and won't help your situation. To double-check, what are the IP addressess of your TiVo(s) and your Galleon workstation?



Syrinx2112 said:


> Doing the 'find' command, gave me this...
> 
> /usr/lib/jvm/java-6-sun-1.6.0.03/jre/bin/java
> /usr/lib/jvm/java-6-sun-1.6.0.03/bin/java
> ...


Interesting. It looks like you have both 1.5 and 1.6 on your machine, but since you seem to be using 1.6, let's start with that. You also seem to have more than one java binary, unless one of the /java targets above is a directory. Do an ls -l on /usr/bin/java. It should put out something like either

lrwxrwxrwx 1 root root 22 2007-12-28 16:55 /usr/bin/java -> */usr/lib/jvm/java-6-sun-1.6.0.03/jre*/bin/java​
or else

lrwxrwxrwx 1 root root 22 2007-12-28 16:55 /usr/bin/java -> */usr/lib/jvm/java-6-sun-1.6.0.03*/bin/java​
The underlined bold section is what needs to be set for $JAVA_HOME. If instead it puts out another link something like this:

lrwxrwxrwx 1 root root 22 2007-12-28 16:55 /usr/bin/java -> /etc/alternatives/java​
then do an ls -l on /etc/alternatives/java, or whatever. Eventually you will get to a taget of a symlink which is an actual file rather than a symlink. That should be either /usr/lib/jvm/java-6-sun-1.6.0.03/jre/bin/java or /usr/lib/jvm/java-6-sun-1.6.0.03/bin/java

Once you know which is the correct directory for $JAVA_HOME, try putting the following lines near the top of bin/galleon and bin/gui.sh (but not on the first line!)
JAVA_HOME=/usr/lib/jvm/java-6-sun-1.6.0.03/jre/
PATH=$PATH:$JAVA_HOME:$JAVA_HOME/bin​
or else

JAVA_HOME=/usr/lib/jvm/java-6-sun-1.6.0.03/
PATH=$PATH:$JAVA_HOME:$JAVA_HOME/bin​
as the case may be. Note the $JAVA_HOME directory should contain several files and directories something like:

drwxr-xr-x 2 root root 4096 2007-09-25 02:53 bin
-r--r--r-- 1 root root 2487 2007-09-25 01:32 COPYRIGHT
drwxr-xr-x 14 root root 4096 2007-12-21 17:37 lib
-r--r--r-- 1 root root 11149 2007-09-25 01:32 LICENSE
drwxr-xr-x 4 root root 4096 2007-09-25 02:53 man
-r--r--r-- 1 root root 13998 2007-09-25 01:32 README
-r--r--r-- 1 root root 178596 2007-09-25 01:32 THIRDPARTYLICENSEREADME.txt
-r--r--r-- 1 root root 968 2007-09-25 01:32 Welcome.html​
and the $JAVA_HOME/bin directory should contain several files somewhat like this:

-rwxr-xr-x 1 root root 50650 2007-09-25 01:34 java
-rwxr-xr-x 1 root root 51803 2007-09-25 01:34 keytool
-rwxr-xr-x 1 root root 52059 2007-09-25 01:34 orbd
-rwxr-xr-x 1 root root 51883 2007-09-25 01:34 pack200
-rwxr-xr-x 1 root root 52171 2007-09-25 01:34 policytool
-rwxr-xr-x 1 root root 51803 2007-09-25 01:34 rmid
-rwxr-xr-x 1 root root 51803 2007-09-25 01:34 rmiregistry
-rwxr-xr-x 1 root root 51803 2007-09-25 01:34 servertool
-rwxr-xr-x 1 root root 52059 2007-09-25 01:34 tnameserv
-rwxr-xr-x 1 root root 186301 2007-09-25 01:34 unpack200​


----------



## lrhorer (Aug 31, 2003)

Phew! I finally got galleon working on the new server. If anyone is intereted (I know, you probably aren't), it was at least two of the following 3 items:

1. I forgot to disable IPv6.

2. The symlink for the java binary in /usr/bin was pointing to version 1.5, but I was attempting to use 1.6, and at the very least $JAVA_HOME was wrong.

3. Something - either in Galleon or the 64 bit wrapper - didn't like java version 1.5.


----------



## renkablue (Sep 16, 2007)

I hope this is not off post information. I use to have the Galleon .1 and (for some stupid reason) I uninstalled this and went to TIVO Desktop. After running TIVO Desktop, I knew I wanted to go back to Galleon - like it more. Then I installed their newer version Galleon .2 - and I had some install issues mentioned about the server. How can I go back to that earlier version....and hopefully not get the system confused....I am not as savy about writing programs as these post indicate.
Thanks

I am using the windows version of Galleon


----------



## Syrinx2112 (Dec 29, 2007)

lrhorer said:


> Interesting. It looks like you have both 1.5 and 1.6 on your machine, but since you seem to be using 1.6, let's start with that. You also seem to have more than one java binary, unless one of the /java targets above is a directory. Do an ls -l on /usr/bin/java. It should put out something like either




```
[email protected]:/usr/bin$ ls -l java
lrwxrwxrwx 1 root root 22 2007-11-25 16:49 java -> /etc/alternatives/java
[email protected]les:/usr/bin$ cd ..
[email protected]:/usr$ cd ..
[email protected]:/$ cd /etc/alternatives/java
bash: cd: /etc/alternatives/java: Not a directory
[email protected]:/$ cd /etc/alternatives
[email protected]:/etc/alternatives$ ls -l java
lrwxrwxrwx 1 root root 36 2007-12-29 13:26 java -> /usr/lib/jvm/java-6-sun/jre/bin/java
```
...and....

galleon-2.4.1-linux/bin/

run.sh

```
#!/bin/bash
#
# Run the Galleon server
#
# You may have to set JAVA_HOME to the correct value for your system
JAVA_HOME=/usr/lib/jvm/java-6-sun/jre/bin/
mydir=`dirname "$0"`
cd "$mydir"
CLASSPATH=../conf
for j in ../lib/*.jar 
do 
CLASSPATH=$CLASSPATH:$j 
done 

OPTION=""
if [ -f "$JAVA_HOME/bin/server" ]; then
OPTION=-server
fi
mkdir -p ../data/tmp
java $OPTION -cp $CLASSPATH -Xms64m -Xmx64m -Djava.awt.fonts="$JAVA_HOME/lib/fonts" -Dawt.toolkit=com.eteks.awt.PJAToolkit -Djava.net.preferIPv4Stack=true -Djava.io.tmpdir="`pwd`/../data/tmp" org.lnicholls.galleon.server.Server
```
gui.sh

```
#!/bin/bash
#
# Run the Galleon GUI
#
# You may have to set JAVA_HOME to the correct value for your system
JAVA_HOME=/usr/lib/jvm/java-6-sun/jre/bin/
mydir=`dirname "$0"`
cd "$mydir"
CLASSPATH=../conf
for j in ../lib/*.jar 
do 
CLASSPATH=$CLASSPATH:$j 
done

java -cp $CLASSPATH -Xms32m -Xmx32m org.lnicholls.galleon.gui.Galleon $1
```
Still unable to connect...


----------



## Syrinx2112 (Dec 29, 2007)

lrhorer said:


> I am using the windows version of Galleon


I remembered from a few years ago, that TiVo Desktop couldn't run in WINE or even Crossover.

I wonder if that has changed now. But, I'm curious to know why they never made a Linux port of it, since it is what runs the DVR itself.


----------



## Syrinx2112 (Dec 29, 2007)

Syrinx2112 said:


> I wonder if that has changed now.


Nope... just tried with Crossover...
Errors because it can't find 'cscript.exe'


----------



## chip_r (Apr 27, 2006)

Syrinx2112,

Your JAVA_HOME=/usr/lib/jvm/java-6-sun/jre/bin/ is incorrect in your run.sh

It should be JAVA_HOME=/usr/lib/jvm/java-6-sun/jre

So in general, your PATH always must point down to the /bin where Java is installed but the JAVA_HOME is the directory above it (/jre in your case).

So how about doing the following:

1) update your JAVA_HOME in your run.sh and gui.sh to point to the directory above the /jre/bin (namely JAVA_HOME=/usr/lib/jvm/java-6-sun/jre)

2) Next, check for any running java processes

ps -A | grep -i java​
If you've found any, kill them with

kill PID -KILL (PID is of course the process ID you found with the ps command)​
kill PID -9 also works but I prefer the -KILL (it just feels better).

Go into your galleon_241/bin directory and enter

./run.sh | tee run.out​
tee creates a file called run.out which should be all of the console messages that ./run.sh generates. Run it long enough until you get "Galleon is ready." and CTRL-C out of it.

PM the run.out file to me and I'll see if your server is really starting up correctly. The file can be long.

Thanks,
chip_r


----------



## Syrinx2112 (Dec 29, 2007)

both .sh scripts:

JAVA_HOME=/usr/lib/jvm/java-6-sun/jre


```
[email protected]:~$ ps -A | grep -i java
 6334 ?        00:02:40 java
18429 ?        00:00:06 java_vm
[email protected]:~$ kill 6334 -KILL
bash: kill: (6334) - Operation not permitted
bash: kill: -KILL: arguments must be process or job IDs
[email protected]:~$ sudo kill 6334 -KILL
[sudo] password for syrinx:
ERROR: garbage process ID "-KILL".
Usage:
  kill pid ...              Send SIGTERM to every process listed.
  kill signal pid ...       Send a signal to every process listed.
  kill -s signal pid ...    Send a signal to every process listed.
  kill -l                   List all signal names.
  kill -L                   List all signal names in a nice table.
  kill -l signal            Convert between signal numbers and names.
[email protected]:~$ cd galleon-2.4.1*
[email protected]:~/galleon-2.4.1-linux$ cd bin
[email protected]:~/galleon-2.4.1-linux/bin$ ./run.sh | tee run.out
Galleon 2.4.1 is starting...
Galleon is ready.
```
* wasn't able to kill it that way

And the run.out file is, honestly, only this:

```
Galleon 2.4.1 is starting...
Galleon is ready.
```
Yet, same error....


----------



## chip_r (Apr 27, 2006)

OK. That short ./run.sh output means that you've run it before and it's built it's databases. I have had cases where the first startup something went wrong and subsequent startups just displayed exactly the same message.

Can you kill that process, make a new galleon directory like

galleon_try_241 and do a fresh unzip of the .zip file?

Don't start the server just yet but go into the new galleon_try_241/bin directory and modify run.sh and gui.sh as you've done before and make them executable.

Finally execute your 

./run.sh | tee run.out

This time the output should be large and any problems that the server may have will be logged in run.out. Again, I've seen cases where the server was unhappy for first time it started and subsequent startups shows exactly the same to lines you have but it wasn't running properly.

I just want to take baby steps here for debugging. Painful, but sometimes it helps.

chip_r


----------



## lrhorer (Aug 31, 2003)

chip_r said:


> I just want to take baby steps here for debugging. Painful, but sometimes it helps.


Amen, brother. It's also the best way for the beginner to learn.


----------



## lrhorer (Aug 31, 2003)

OK, I think chip_r has you on the right road to getting there. I don't want to distract you from that, but there is one thing you might like to know for future reference:



Syrinx2112 said:


> ```
> [email protected]:/usr/bin$ ls -l java
> lrwxrwxrwx 1 root root 22 2007-11-25 16:49 java -> /etc/alternatives/java
> [email protected]:/usr/bin$ cd ..
> ...


----------



## lrhorer (Aug 31, 2003)

Syrinx2112 said:


> I remembered from a few years ago, that TiVo Desktop couldn't run in WINE or even Crossover.
> 
> I wonder if that has changed now. But, I'm curious to know why they never made a Linux port of it, since it is what runs the DVR itself.


Um, I'm not the one who said he was running the Windows version of Galleon. That was renkablue. I think you got the quote string wrong.

My guess is the answer to your question is I don't think it's the same team of developers who write the code for the TiVo and for TiVo Desktop. It might not even be the same company. In any case, it's a completely different type of code requiring a completely different approach. The code for the TiVo is designed for a very specific platform with very narrowly defined properties, and it's designed to interact at a very low level with the hardware. There is also no question of havng to develop the TiVo software for more than one OS. TiVo Desktop, OTOH, is designed to run on the broadest, most diverse set of platforms possible, and it is not designed to interact with any hardware whatsoever, but rather exclusively with a piece of middleware (the HME protocols) and the OS of its own host. TiVo Desktop is also intended to run on the most common desktop platform so it will meet the requirements of the majority of users. That means Windows as a first deployment and Mac as a second one. Personally, I think it's a poor decision, but I understand why they made it.


----------



## lrhorer (Aug 31, 2003)

Syrinx2112 said:


> [email protected]:~$ ps -A | grep -i java
> 6334 ? 00:02:40 java
> 18429 ? 00:00:06 java_vm
> [email protected]:~$ kill 6334 -KILL
> ...


That should be

[email protected]:~$ sudo kill -KILL 6334​


----------



## chip_r (Apr 27, 2006)

Syrinx2112:

Got your log file. It's perfect and the server is running fine. Great!

I suspect the GUI message you get looks something like the attachment on this post, correct?

I believe this is where your snag is ... even though the Galleon server (./run.sh) and the Galleon GUI client (./gui.sh) are running on the same computer, they communicate using your network interface. The server and client don't even know they're on the same machine. And for that matter, don't need to be. Seems silly right? Well Leon (as in the guy who authored Galleon) structured Galleon that way so a server could be run on one machine and could be configured from another machine running the GUI client. Very handy but it means that network ports need to be open as described below before the client and server find each other. Both server and client are network applications.

Also don't get the idea that, hey, I can run the server on one machine, and get my GUI going on another to get around this. Wont work. Until those ports are open, remote configure will not fly either. Let's stick to making sure the ports are open on a single machine.

Looking back at your posts, I think there is still some confusion regarding firewall ports being on your router versus your Kubuntu box. _Unfortunately the confusion is mine, not yours. _

After searching the web, I see that Kubuntu doesn't even install a firewall so *my mistake *in asking you to configure something you don't have. Sorry 'bout that.

This article (near the bottom, Setting up a Firewall) describes how to set one up. But more importantly, it says that *Kubuntu installs with no open ports and a running service creates a open port*. I don't think the Galleon server is actually opening those ports by itself, it just EXPECTS them to be open. So possibly if you install this firewall, you can better manage your ports and manually open up the required ones as listed below:
http://linuxdevcenter.com/pub/a/linux/2006/03/09/tuning-kubuntu.html

From www.galleon.tv:

_Galleon needs access to the following ports for it to work 
1099 (TCP): Used for Java RMI for letting the configuration GUI talk to the server.
7288 (TCP: Used for accessing the applications on the local network.
5353 (UDP): Used for multicast DNS (Rendevouz) protocol.
1527 (TCP): Used by the embedded database.
2190 (TCP,UDP): Used by the HMO protocol for ToGo Back.
8081 (TCP): Used by the HMO protocol for ToGo Back. _

So, see if you can install the firewall and possibly manually open the ports lists above. I think the problem is Galleon might not be advanced enough to open the ports automatically, so you need to manually open them yourself. If Kubuntu truly installs with all ports closed, then we need to get them open.

BTW, you're probably wondering how I got that message on my machine shown in the .jpg? Well, just not starting the server will also do it. Hence my focus on seeing if your server was happy. That is almost always the case because of the prerequisites for the server. The only thing left is to open ports between server and client.

Thanks,
chip_r


----------

