Bug 865 - app-misc/workrave 1.9.0 Segmentation fault
Status:
RESOLVED FIXED
Component:
Core :: UNIX
Version:
1.9.0
Hardware:
PC Linux
Importance:
P1 critical
Target Milestone:
---
Assignee:
Rob Caelers
URL:
Depends on:
Blocks:
Reported:
Oct 21 2009 04:16:02 UTC
by:
wd
Modified:
Nov 27 2009 18:18:46 UTC
WhoWhenWhatRemovedAdded
Rob CaelersNov 27 2009 18:18:46 UTCstatusNEWRESOLVED
resolutionFIXED
Description
wd  Oct 21 2009 04:16:02 UTC
I use gentoo ~x86, kde 4.3.2. Beacuse workrave still not support kde 4, I installed workrave without gnome and kde support. 

When I run workrave, I got 'Segmentation fault'. Here is some info with debug symble.

$ workrave 
>>> GUI:GUI
<<< GUI:GUI
>>> GUI::main
>>> Break:Break
<<< Break:Break
>>> Break:Break
<<< Break:Break
>>> Break:Break
<<< Break:Break
>>> Core::Core
<<< Core::Core
>>> Configurator::get_value general/datadir
<<< Configurator::get_value
>>> ActivityMonitor::ActivityMonitor
>>> X11InputMonitor::run
>>> X11InputMonitor::run_xrecord
>>> X11InputMonitor::init_xrecord
    X11InputMonitor::init_xrecord Trying XI
    X11InputMonitor::init_xrecord XI Ok 77
    X11InputMonitor::init_xrecord use_xrecord= 1
<<< X11InputMonitor::init_xrecord
<<< ActivityMonitor::ActivityMonitor
>>> Core::load_monitor_config
>>> Configurator::get_value monitor/noise
<<< Configurator::get_value
>>> Configurator::get_value monitor/activity
<<< Configurator::get_value
>>> Configurator::get_value monitor/idle
<<< Configurator::get_value
    Core::load_monitor_config Monitor config = 9000 1000 5000
<<< Core::load_monitor_config
>>> GConfConfigurator::add_listener monitor
<<< GConfConfigurator::add_listener
>>> Break::init
>>> Configurator::get_value timers/micro_pause/limit
<<< Configurator::get_value
>>> Timer::get_elapsed_time
    Timer::get_elapsed_time 0 1256091364 0
>>> Configurator::get_value timers/micro_pause/auto_reset
<<< Configurator::get_value
>>> Configurator::get_value timers/micro_pause/reset_pred
<<< Configurator::get_value
>>> Configurator::get_value timers/micro_pause/snooze
<<< Configurator::get_value
>>> Configurator::get_value timers/micro_pause/activity_sensitive
<<< Configurator::get_value
>>> Configurator::get_value timers/micro_pause/monitor
<<< Configurator::get_value
>>> Timer::enable micro_pause0
>>> Timer::stop_timer micro_pause0
    Timer::stop_timer last_start_time = 0
    Timer::stop_timer 0
<<< Timer::stop_timer
>>> Timer::get_elapsed_time
    Timer::get_elapsed_time 0 1256091364 0
>>> Timer::get_elapsed_time
    Timer::get_elapsed_time 0 1256091364 0
<<< Timer::enable
>>> Timer::stop_timer micro_pause2
<<< Timer::stop_timer
>>> GConfConfigurator::add_listener timers/micro_pause
<<< GConfConfigurator::add_listener
>>> Configurator::get_value breaks/micro_pause/max_preludes
<<< Configurator::get_value
>>> Configurator::get_value breaks/micro_pause/enabled
<<< Configurator::get_value
>>> GConfConfigurator::add_listener breaks/micro_pause
<<< GConfConfigurator::add_listener
>>> Configurator::get_value breaks/micro_pause/max_preludes
<<< Configurator::get_value
>>> Configurator::get_value breaks/micro_pause/enabled
<<< Configurator::get_value
>>> Configurator::set_value timers/micro_pause/limit
>>> Configurator::get_value timers/micro_pause/limit
<<< Configurator::get_value
<<< Configurator::set_value
>>> Configurator::set_value timers/micro_pause/auto_reset
>>> Configurator::get_value timers/micro_pause/auto_reset
<<< Configurator::get_value
<<< Configurator::set_value
>>> Configurator::set_value timers/micro_pause/reset_pred
>>> Configurator::get_value timers/micro_pause/reset_pred
<<< Configurator::get_value
<<< Configurator::set_value
>>> Configurator::set_value timers/micro_pause/snooze
>>> Configurator::get_value timers/micro_pause/snooze
<<< Configurator::get_value
<<< Configurator::set_value
>>> Configurator::set_value timers/micro_pause/monitor
>>> Configurator::get_value timers/micro_pause/monitor
<<< Configurator::get_value
<<< Configurator::set_value
>>> Configurator::set_value timers/micro_pause/activity_sensitive
>>> Configurator::get_value timers/micro_pause/activity_sensitive
<<< Configurator::get_value
<<< Configurator::set_value
>>> Configurator::set_value breaks/micro_pause/max_preludes
>>> Configurator::get_value breaks/micro_pause/max_preludes
<<< Configurator::get_value
<<< Configurator::set_value
>>> Configurator::set_value breaks/micro_pause/enabled
>>> Configurator::get_value breaks/micro_pause/enabled
<<< Configurator::get_value
<<< Configurator::set_value
<<< Break::init
>>> Break::init
>>> Configurator::get_value timers/rest_break/limit
<<< Configurator::get_value
>>> Timer::get_elapsed_time
    Timer::get_elapsed_time 0 1256091364 0
>>> Configurator::get_value timers/rest_break/auto_reset
<<< Configurator::get_value
>>> Configurator::get_value timers/rest_break/reset_pred
<<< Configurator::get_value
>>> Configurator::get_value timers/rest_break/snooze
<<< Configurator::get_value
>>> Configurator::get_value timers/rest_break/activity_sensitive
<<< Configurator::get_value
>>> Configurator::get_value timers/rest_break/monitor
<<< Configurator::get_value
>>> Timer::enable rest_break0
>>> Timer::stop_timer rest_break0
    Timer::stop_timer last_start_time = 0
    Timer::stop_timer 0
<<< Timer::stop_timer
>>> Timer::get_elapsed_time
    Timer::get_elapsed_time 0 1256091364 0
>>> Timer::get_elapsed_time
    Timer::get_elapsed_time 0 1256091364 0
<<< Timer::enable
>>> Timer::stop_timer rest_break2
<<< Timer::stop_timer
>>> GConfConfigurator::add_listener timers/rest_break
<<< GConfConfigurator::add_listener
>>> Configurator::get_value breaks/rest_break/max_preludes
<<< Configurator::get_value
>>> Configurator::get_value breaks/rest_break/enabled
<<< Configurator::get_value
>>> GConfConfigurator::add_listener breaks/rest_break
<<< GConfConfigurator::add_listener
>>> Configurator::get_value breaks/rest_break/max_preludes
<<< Configurator::get_value
>>> Configurator::get_value breaks/rest_break/enabled
<<< Configurator::get_value
>>> Configurator::set_value timers/rest_break/limit
>>> Configurator::get_value timers/rest_break/limit
<<< Configurator::get_value
<<< Configurator::set_value
>>> Configurator::set_value timers/rest_break/auto_reset
>>> Configurator::get_value timers/rest_break/auto_reset
<<< Configurator::get_value
<<< Configurator::set_value
>>> Configurator::set_value timers/rest_break/reset_pred
>>> Configurator::get_value timers/rest_break/reset_pred
<<< Configurator::get_value
<<< Configurator::set_value
>>> Configurator::set_value timers/rest_break/snooze
>>> Configurator::get_value timers/rest_break/snooze
<<< Configurator::get_value
<<< Configurator::set_value
>>> Configurator::set_value timers/rest_break/monitor
>>> Configurator::get_value timers/rest_break/monitor
<<< Configurator::get_value
<<< Configurator::set_value
>>> Configurator::set_value timers/rest_break/activity_sensitive
>>> Configurator::get_value timers/rest_break/activity_sensitive
<<< Configurator::get_value
<<< Configurator::set_value
>>> Configurator::set_value breaks/rest_break/max_preludes
>>> Configurator::get_value breaks/rest_break/max_preludes
<<< Configurator::get_value
<<< Configurator::set_value
>>> Configurator::set_value breaks/rest_break/enabled
>>> Configurator::get_value breaks/rest_break/enabled
<<< Configurator::get_value
<<< Configurator::set_value
<<< Break::init
>>> Break::init
>>> Configurator::get_value timers/daily_limit/limit
<<< Configurator::get_value
>>> Timer::get_elapsed_time
    Timer::get_elapsed_time 0 1256091364 0
>>> Configurator::get_value timers/daily_limit/auto_reset
<<< Configurator::get_value
>>> Configurator::get_value timers/daily_limit/reset_pred
<<< Configurator::get_value
>>> Configurator::get_value timers/daily_limit/snooze
<<< Configurator::get_value
>>> Configurator::get_value timers/daily_limit/activity_sensitive
<<< Configurator::get_value
>>> Configurator::get_value timers/daily_limit/monitor
<<< Configurator::get_value
>>> Timer::enable daily_limit0
>>> Timer::stop_timer daily_limit0
    Timer::stop_timer last_start_time = 0
    Timer::stop_timer 0
<<< Timer::stop_timer
>>> Timer::get_elapsed_time
    Timer::get_elapsed_time 0 1256091364 0
<<< Timer::enable
>>> Timer::stop_timer daily_limit2
<<< Timer::stop_timer
>>> GConfConfigurator::add_listener timers/daily_limit
<<< GConfConfigurator::add_listener
>>> Configurator::get_value breaks/daily_limit/max_preludes
<<< Configurator::get_value
>>> Configurator::get_value breaks/daily_limit/enabled
<<< Configurator::get_value
>>> GConfConfigurator::add_listener breaks/daily_limit
<<< GConfConfigurator::add_listener
>>> Configurator::get_value breaks/daily_limit/max_preludes
<<< Configurator::get_value
>>> Configurator::get_value breaks/daily_limit/enabled
<<< Configurator::get_value
>>> Configurator::set_value timers/daily_limit/limit
>>> Configurator::get_value timers/daily_limit/limit
<<< Configurator::get_value
<<< Configurator::set_value
>>> Configurator::set_value timers/daily_limit/auto_reset
>>> Configurator::get_value timers/daily_limit/auto_reset
<<< Configurator::get_value
<<< Configurator::set_value
>>> Configurator::set_value timers/daily_limit/reset_pred
>>> Configurator::get_value timers/daily_limit/reset_pred
<<< Configurator::get_value
<<< Configurator::set_value
>>> Configurator::set_value timers/daily_limit/snooze
>>> Configurator::get_value timers/daily_limit/snooze
<<< Configurator::get_value
<<< Configurator::set_value
>>> Configurator::set_value timers/daily_limit/monitor
>>> Configurator::get_value timers/daily_limit/monitor
<<< Configurator::get_value
<<< Configurator::set_value
>>> Configurator::set_value timers/daily_limit/activity_sensitive
>>> Configurator::get_value timers/daily_limit/activity_sensitive
<<< Configurator::get_value
<<< Configurator::set_value
>>> Configurator::set_value breaks/daily_limit/max_preludes
>>> Configurator::get_value breaks/daily_limit/max_preludes
<<< Configurator::get_value
<<< Configurator::set_value
>>> Configurator::set_value breaks/daily_limit/enabled
>>> Configurator::get_value breaks/daily_limit/enabled
<<< Configurator::get_value
<<< Configurator::set_value
<<< Break::init
>>> Statistics::load_current_day
>>> Statistics::load
<<< Statistics::load
<<< Statistics::load_current_day
>>> Statistics::start_new_day
    Statistics::start_new_day New day
>>> Timer::get_elapsed_time
    Timer::get_elapsed_time 0 1256091364 0
>>> Timer::get_elapsed_time
    Timer::get_elapsed_time 0 1256091364 0
>>> Timer::get_elapsed_time
    Timer::get_elapsed_time 0 1256091364 0
>>> Timer::get_elapsed_time
    Timer::get_elapsed_time 0 1256091364 0
<<< Statistics::start_new_day
>>> Statistics::load_history
>>> Statistics::load
<<< Statistics::load
<<< Statistics::load_history
>>> Configurator::get_value gui/operation-mode
<<< Configurator::get_value
>>> Configurator::set_value gui/breaks/micro_pause/ignorable_break
>>> Configurator::get_value gui/breaks/micro_pause/ignorable_break
<<< Configurator::get_value
<<< Configurator::set_value
>>> Configurator::set_value gui/breaks/micro_pause/exercises
>>> Configurator::get_value gui/breaks/micro_pause/exercises
<<< Configurator::get_value
<<< Configurator::set_value
>>> Configurator::set_value gui/breaks/rest_break/ignorable_break
>>> Configurator::get_value gui/breaks/rest_break/ignorable_break
<<< Configurator::get_value
<<< Configurator::set_value
>>> Configurator::set_value gui/breaks/rest_break/exercises
>>> Configurator::get_value gui/breaks/rest_break/exercises
<<< Configurator::get_value
<<< Configurator::set_value
>>> Configurator::set_value gui/breaks/daily_limit/ignorable_break
>>> Configurator::get_value gui/breaks/daily_limit/ignorable_break
<<< Configurator::get_value
<<< Configurator::set_value
>>> Configurator::set_value gui/breaks/daily_limit/exercises
>>> Configurator::get_value gui/breaks/daily_limit/exercises
<<< Configurator::get_value
<<< Configurator::set_value
>>> Configurator::set_value gui/breaks/block_mode
>>> Configurator::get_value gui/breaks/block_mode
<<< Configurator::get_value
<<< Configurator::set_value
>>> Configurator::get_value gui/locale
<<< Configurator::get_value
>>> System::init
>>> System::init_kde
<<< System::init_kde0
    System::init Locking disabled
<<< System::init
Segmentation fault


I have tried the 1.9.1-rc zip file, still got 'Segmentation fault' ..
Comment 1
Rob Caelers  Nov 27 2009 18:18:46 UTC
Should be fixed. Workrave crashed because no sound driver was available (needs gnome or gstreamer dev packages installed). You may want to install gstreamer-dev for sounds.

(commit 7c1dbbd1257947106eff1af2e56d3a3ecfb10a4f)