Welcome to Radarspotting. Please login or sign up.

April 18, 2026, 07:23:47 PM

Login with username, password and session length

New Members

New Members

You should get an activation email when you join.  If not, please use the Contact option.

Unable to open database file 14 - Need help, strange Problem!

Started by EDDG, February 15, 2017, 01:08:53 PM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

EDDG

Hi,

i have a strange problem. If i try to start modesdeco2 via script with ' /etc/init.d/modesdeco2.sh start' i get this message:

pi@raspberrypi:~ $ /etc/init.d/modesdeco2.sh start
modesdeco2 started
pi@raspberrypi:~ $ terminate called after throwing an instance of 'BaseStationDbException'
  what():  sqlite3_open \basestation.sqb unable to open database file 14


The script looks like this:
#!/bin/bash
### BEGIN INIT INFO
#
# Provides:             modesdeco2
# Required-Start:       $remote_fs
# Required-Stop:        $remote_fs
# Default-Start:        2 3 4 5
# Default-Stop:         0 1 6
# Short-Description:    modesdeco2 initscript

#
### END INIT INFO
## Fill in name of program here.
PROG="modesdeco2"
PROG_PATH="/home/pi/modesdeco2"
PROG_ARGS="--gain 49.6 --freq-correction 58 --location 52.22:7.48 --web 8088 --db \basestation.sqb $
#PROG_ARGS="--interactive --net --net-ro-port 31001"
PIDFILE="/var/run/modesdeco2.pid"

start() {
      if [ -e $PIDFILE ]; then
          ## Program is running, exit with error.
          echo "Error! $PROG is currently running!" 1>&2
          exit 1
      else
          ## Change from /dev/null to something like /var/log/$PROG if you want to save output.
          cd $PROG_PATH
          ./$PROG $PROG_ARGS 2>&1 >/dev/null &
          echo "$PROG started"
          touch $PIDFILE
      fi
}

stop() {
      if [ -e $PIDFILE ]; then
          ## Program is running, so stop it
         echo "$PROG is running"
         killall $PROG
         rm -f $PIDFILE
         echo "$PROG stopped"
      else
          ## Program is not running, exit with error.
          echo "Error! $PROG not started!" 1>&2
          exit 1
      fi
}

## Check to see if we are running as root first.
## Found at http://www.cyberciti.biz/tips/shell-root-user-check-script.html
if [ "$(id -u)" != "0" ]; then
      echo "This script must be run as root" 1>&2
      exit 1
fi

case "$1" in
      start)
          start
          exit 0
      ;;
      stop)
          stop
          exit 0
      ;;
      reload|restart|force-reload)
          stop
          start
          exit 0
      ;;
      **)
          echo "Usage: $0 {start|stop|reload}" 1>&2
          exit 1
      ;;
esac
#


If i try to start via './modesdeco2 --gain 49.6 --freq-correction 58 --location 52.22:7.48 --web 8088 --db \basestation.sqb --silhouettes \silhouettes --google-key xyz' it works perfekt.

I have no idea :(... Can you help me?!

Many thanks.

Best regards,
Peter

A380

Hello,

Try full path to the Database. --db /home/pi/modesdeco2/basestation.sqb

Kind Regards
A380

EDDG


MK2wx

Quote from: EDDG on February 15, 2017, 06:04:30 PM
Thanks A380, i tried it but nothing changes :(...

I suspect the database was perhaps open when copied. That's one thing which I know which could cause it.

Also make sure all permissions are in order.

Lastly, if on a raspberry make sure the owner is pi:pi

I've fallen for all of these across today while getting things going on my PiAware setup. Darned hard to spot some of those were.

Hope some (or even all if you were really unlucky like I was) of this helps.  ;)
Cheers,
Ian

evangel



this code works for me.

#!/bin/bash
### BEGIN INIT INFO
#
# Provides:             modesmixertest
# Required-Start:       $remote_fs
# Required-Stop:        $remote_fs
# Default-Start:        2 3 4 5
# Default-Stop:         0 1 6
# Short-Description:    modesmixertest initscript

#
### END INIT INFO
## Fill in name of program here.
PROG="modesmixertest"
PROG_PATH="/xdeco"
PROG_ARGS="--web 8888 --inConnect 127.0.0.1:30005 --location 45.5:-73.7 --outServer beast:30205 --db /xdeco/bss.sqb &"
PIDFILE="/var/run/modesmixertest.pid"

start() {
      if [ -e $PIDFILE ]; then
          ## Program is running, exit with error.
          echo "Error! $PROG is currently running!" 1>&2
          exit 1
      else
          ## Change from /dev/null to something like /var/log/$PROG if you want to save output.
          cd $PROG_PATH
          ./$PROG $PROG_ARGS 2>&1 >/dev/null &
          echo "$PROG started"
          touch $PIDFILE
      fi
}

stop() {
      if [ -e $PIDFILE ]; then
          ## Program is running, so stop it
         echo "$PROG is running"
         killall $PROG
         rm -f $PIDFILE
         echo "$PROG stopped"
      else
          ## Program is not running, exit with error.
          echo "Error! $PROG not started!" 1>&2
          exit 1
      fi
}

## Check to see if we are running as root first.
## Found at http://www.cyberciti.biz/tips/shell-root-user-check-script.html
if [ "$(id -u)" != "0" ]; then
      echo "This script must be run as root" 1>&2
      exit 1
fi

case "$1" in
      start)
          start
          exit 0
      ;;
      stop)
          stop
          exit 0
      ;;
      reload|restart|force-reload)
          stop
          start
          exit 0
      ;;
      **)
          echo "Usage: $0 {start|stop|reload}" 1>&2
          exit 1
      ;;
esac
#


- copied modesmixer2 to modesmixertest
- renamed in /xdeco a copy of basestation.sqb to bss.sqb
- in a PC running Win7 and google chrome http://192.168.0.12:8888/ works flawlessly.

HTH
brgds