JReceiver: Server Troubleshooting

Describing symptoms and diagnostic steps you can follow to get things working.

If you're trying to get a Rio Receiver up and running, you may also want to check out the rio-trouble page.

Files with international characters ignored during scan

This is most commonly a problem on Linux systems where the JVM's default character encoding does not match the encoding used on your filesystem.

You can specify the encoding used by default in File IO operations through a system property. In bin/jrec_jetty.sh (or bin\jrec_jetty.bat for Windows) change your JAVA_OPTIONS to specify a file.encoding property. For example to change to the ISO8859_1 Western European encoding:

JAVA_OPTIONS="-Djreceiver.home=$JREC_HOME"
JAVA_OPTIONS="$JAVA_OPTIONS -Dfile.encoding=ISO8859_1"

A list of support encodings can be found in the Java documentation: 1.4.

Linux: debug output always printing to physical console (new)

If you are using Linux and desire Jetty/JReceiver output to the virtual console, then add the following line to your bin/jrec_jetty.sh:
    export JETTY_CONSOLE=/dev/tty

Scanner isn't properly saving filenames containing international characters

The JDBC driver may need to be configured to store non-Western characters. See the International support notes in the server install.

'driver' table not found?

Some Windows users have experienced problems running the jrec_mysql.sql database initialization script. The typical symptom is errors while running the script or starting JReceiver with the 'driver table not found' error message in the console log.

One suggested workaround is to remove all comments (which start with '#') from the file and run the script again.

The script should run without error. If anyone knows why this isn't working, please let me know.

Performance is Sluggish

You may be able to achieve better performance of JReceiver by overriding the initial heap size. For some JVMs it defaults to four (4) megs, which is insufficient for larger apps like JReceiver.

Set the initial JVM heap size by modifying your jrec_jetty startup script. For example, to set the initial heap size to 21 megs, locate the following 'OPTION' line and append '-Xms21m':

For Linux (edit jrec_jetty.sh):

JAVA_OPTIONS="-Djreceiver.home=$JREC_HOME -Xms21m"

For Windows (edit jrec_jetty.bat):

set JAVA_OPTIONS=-Xms21m -Djreceiver.home="%JREC_HOME%"

Hiccups during play?

For Jetty installations on Linux, the jetty.sh script starts Jetty using nohup. By default, this reduces the priority of Jetty by 5 points. This means that if you are doing something intensive in the foreground (say ripping CDs and encoding them), then Jetty can get starved of resources. Hiccups are the symptom.

To fix, replace the nohup command out with a direct start of the Jetty process:

    sh -c "exec $RUN_CMD >>$JETTY_CONSOLE 2>&1" >/dev/null &

thanks to Philip Gladstone for this tip

Player status isn't showing up on Status Panel?

Rebooting your player should force the driver and server to recognize it so that status will be requested by the panel.

Note that status of players bypassing the rpc server (such as Winamp launched from the manager webapp) will not show any status. Also, as of this writing neither Reza's Rio client nor Rioplay support player status via JRec.

Cannot connect to MySQL

JRec connects to the database through a JDBC driver. The configuration for this driver is in jreceiver.properties.

1. Review the MySQL steps of the install to ensure you didn't miss anything.

2. Some users may find that their default MySQL installation has networking disabled. Look for the setting in your /etc/mysql/my.cnf that reads

  skip-networking = 1
and comment-out
#  skip-networking = 1
if it's present.

3. If "jreceiver@localhost" isn't working, try setting up a MySQL user as "jreceiver@localhost.localdomain".

thanks to Dawn Banks for the third tip

Can't play to WinAmp or other desktop player?

Those with multiple network cards may find that the server wrongly initialized the Content Server at first startup. Visit 'Configuration' / 'Sites' / 'Home Server' to change the URL. Note that this is the URL that is used in all links to content hosted by your server.

Can't play tunes from web app?

Make sure that the playlist mime-types "audio/x-scpls" and "audio/x-mpegurl" are associated with your desktop player.


Copyright © 2001-2002, Reed Esau & the JReceiver Project (http://jreceiver.sourceforge.net), All Rights Reserved