Package: virtuoso-opensource-6.1
Severity: critical
Justification: causes serious data loss

Dear Maintainer.

When calling '/etc/init.d/virtuoso-opensource-6.1 stop', virtuoso may still
be running after the script completes. This might lead to database corruption,
e.g. on system reboot.

Seemingly, the script fails to wait for a clean exit of the server in this 
section:

<quote>
  stop)
        log_daemon_msg "Stopping $DESC" "$NAME"
        if running ; then
            # Only stop the server if we see it running
            errcode=0
            stop_server || errcode=$?
            log_end_msg $errcode
        else
            # If it's not running don't do anything
            log_progress_msg "apparently not running"
            log_end_msg 0
            exit 0
        fi
        ;;
</quote>

I have modified the script to temporarily circumvent the situation on my system
by enclosing part of this snippet in a while-loop, as below:

<quote>
  stop)
        log_daemon_msg "Stopping $DESC" "$NAME"
        # keep stopping the server if it fails to stop
        while running; do
            if running ; then
                # Only stop the server if we see it running
                errcode=0
                stop_server || errcode=$?
                log_end_msg $errcode
            else
                # If it's not running don't do anything
                log_progress_msg "apparently not running"
                log_end_msg 0
                exit 0
            fi
        sleep 2 # wait two seconds before looping
        done
        ;;
</quote>

As my knowledge of rc.d scripts is limited, this was a quick hack to prevent
my database to suffer corruption. My solution does not cater for the need to
force-stop virtuoso. If the server does not exit cleanly at some point, I have 
effectively created an infinite loop.

Please fix this situation in a more proper fashion.

Regards
;)Frode
Frode Severin Hatlevik

-- System Information:
Debian Release: 7.0
  APT prefers testing
  APT policy: (500, 'testing')
Architecture: amd64 (x86_64)
Foreign Architectures: i386

Kernel: Linux 3.2.0-4-amd64 (SMP w/2 CPU cores)
Locale: LANG=nb_NO.UTF-8, LC_CTYPE=nb_NO.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash


-- 
To UNSUBSCRIBE, email to debian-bugs-rc-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org

Reply via email to