Bug 475 - Crash on micro break
Status:
RESOLVED FIXED
Component:
Core :: Win32
Version:
1.8.1
Hardware:
PC All
Importance:
P2 normal
Target Milestone:
---
Assignee:
Raymond Penners
URL:
Depends on:
Blocks:
Reported:
Aug 15 2005 13:59:04 UTC
by:
Ruud Schellekens
Modified:
Jan 22 2006 13:33:48 UTC
CC List:
Andrea Aime
Davor Cubranic
Jean Privett
Pavlo Korzhyk
| Who | When | What | Removed | Added |
|---|---|---|---|---|
| Andrea Aime | Sep 20 2005 14:30:25 UTC | cc | Andrea Aime | |
| Rob Caelers | Sep 23 2005 20:44:57 UTC | cc | Jean Privett | |
| Rob Caelers | Sep 23 2005 20:52:33 UTC | status | NEW | ASSIGNED |
| op_sys | Windows 2000 | All | ||
| version | unspecified | 1.8.1 | ||
| Rob Caelers | Sep 28 2005 08:22:09 UTC | status | ASSIGNED | RESOLVED |
| resolution | FIXED | |||
| Rob Caelers | Jan 15 2006 13:02:45 UTC | cc | Pavlo Korzhyk | |
| Rob Caelers | Jan 22 2006 13:33:48 UTC | cc | Davor Cubranic |
Description
Ruud Schellekens Aug 15 2005 13:59:04 UTC
The bug fix in 1.8.1 makes workrave crash every time I get a micro break. 1.8.0 work fine though. Perhaps the fix breaks other stuff? I run Win 2000 and workrave 1.8.1. I copied the 2 log files workrace created below. I can reproduce the crash every time I run workrave. Crash log created on 11/08/2005 at 17:54:21. version = 1.8.1 compile date = Jul 31 2005 compile time = 11:20:54 features = DISTRIBUTION EXERCISES GNET GNET2 GTK_MULTIHEAD code = c0000005 flags = 0 address = 56141a params = 2 C:\Program Files\Workrave\lib\Workrave.exe caused an Access Violation at location 0056141a reading from location 00000000 Registers: eax=00000000 ebx=01e765a8 ecx=01211790 edx=01e9c818 esi=01e8e868 edi=00000000 eip=0056141a esp=0022f6f8 ebp=0022f6f8 iopl=0 nv up ei pl nz na po nc cs=001b ss=0023 ds=0023 es=0023 fs=0038 gs=0000 efl=00210206 Stack trace: PC Frame Ret 0056141A 0022F6F8 004540DC 004540DC 0022F718 00404308 00404308 0022F798 00409AF7 00409AF7 0022F7FC 00409891 00409891 0022F874 004016BF 004016BF 0022F890 004022AD 004022AD 0022F8A0 00403754 00403754 0022F8DC 00433BBB 00433BBB 0022F8F4 00433839 00433839 0022F90C 00433695 00433695 0022F924 00429CA7 00429CA7 0022F940 00402D30 00402D30 0022F950 00572DEF 00572DEF 0022F960 0056CA03 0056CA03 0022F96C 0057332A 0057332A 0022F97C 0053F487 0053F487 0022F99C 00349D02 00349D02 0022F9CC 00348197 00348197 0022FA0C 00348C90 00348C90 0022FA1C 00348F37 00348F37 0022FA4C 003493DA 003493DA 0022FA7C 00A1A91A 00A1A91A 0022FA9C 00466F77 00466F77 0022FAAC 00466DB6 00466DB6 0022FABC 00402C65 00402C65 0022FAE0 0041E32A 0041E32A 0022FAF4 0041E380 0041E380 0022FEF8 00558FFA 00558FFA 0022FF78 004011E7 004011E7 0022FFB0 00401258 00401258 0022FFC0 7C598989 7C598989 0022FFF0 00000000 Registry dump: key = Software\Workrave key = Software\Workrave\distribution value = port string data = 27273 value = reconnect_attempts string data = 5 value = reconnect_interval string data = 15 key = Software\Workrave\gui key = Software\Workrave\gui\applet value = cycle_time string data = 10 value = enabled string data = 1 key = Software\Workrave\gui\applet\daily_limit value = position string data = 2 value = flags string data = 32 key = Software\Workrave\gui\applet\micro_pause value = position string data = 0 value = flags string data = 0 key = Software\Workrave\gui\applet\rest_break value = position string data = 1 value = flags string data = 0 key = Software\Workrave\gui\breaks value = block_mode string data = 2 key = Software\Workrave\gui\breaks\daily_limit value = max_preludes string data = 3 value = max_postpone string data = -1 value = ignorable_break string data = 1 value = enabled string data = 1 value = exercises string data = 0 key = Software\Workrave\gui\breaks\micro_pause value = max_preludes string data = 3 value = max_postpone string data = -1 value = ignorable_break string data = 1 value = enabled string data = 1 value = exercises string data = 0 key = Software\Workrave\gui\breaks\rest_break value = max_preludes string data = 3 value = max_postpone string data = -1 value = ignorable_break string data = 1 value = enabled string data = 1 value = exercises string data = 5 key = Software\Workrave\gui\main_window value = x string data = 256 value = y string data = 256 value = head string data = 0 value = cycle_time string data = 10 value = enabled string data = 0 key = Software\Workrave\gui\main_window\daily_limit value = position string data = 2 value = flags string data = 0 key = Software\Workrave\gui\main_window\micro_pause value = position string data = 0 value = flags string data = 0 key = Software\Workrave\gui\main_window\rest_break value = position string data = 1 value = flags string data = 0 key = Software\Workrave\timers key = Software\Workrave\timers\daily_limit value = limit string data = 18000 value = auto_reset string data = 0 value = reset_pred string data = day/4:00 value = snooze string data = 1200 value = activity_sensitive string data = 1 key = Software\Workrave\timers\micro_pause value = limit string data = 360 value = auto_reset string data = 30 value = reset_pred string data = value = snooze string data = 210 value = activity_sensitive string data = 1 key = Software\Workrave\timers\rest_break value = limit string data = 2820 value = auto_reset string data = 480 value = reset_pred string data = value = snooze string data = 240 value = activity_sensitive string data = 0 --------------------------------------------------------------------------- --------------------------------------------------------------------------- Crash log created on 11/08/2005 at 18:04:53. version = 1.8.1 compile date = Jul 31 2005 compile time = 11:20:54 features = DISTRIBUTION EXERCISES GNET GNET2 GTK_MULTIHEAD code = c0000005 flags = 0 address = 56141a params = 2 C:\Program Files\Workrave\lib\Workrave.exe caused an Access Violation at location 0056141a reading from location 00000000 Registers: eax=00000000 ebx=012774f0 ecx=01211720 edx=01283c38 esi=012772d0 edi=00000000 eip=0056141a esp=0022f6f8 ebp=0022f6f8 iopl=0 nv up ei pl nz na po nc cs=001b ss=0023 ds=0023 es=0023 fs=0038 gs=0000 efl=00010206 Stack trace: PC Frame Ret 0056141A 0022F6F8 004540DC 004540DC 0022F718 00404308 00404308 0022F798 00409AF7 00409AF7 0022F7FC 00409891 00409891 0022F874 004016BF 004016BF 0022F890 004022AD 004022AD 0022F8A0 00403754 00403754 0022F8DC 00433BBB 00433BBB 0022F8F4 00433839 00433839 0022F90C 00433695 00433695 0022F924 00429CA7 00429CA7 0022F940 00402D30 00402D30 0022F950 00572DEF 00572DEF 0022F960 0056CA03 0056CA03 0022F96C 0057332A 0057332A 0022F97C 0053F487 0053F487 0022F99C 00349D02 00349D02 0022F9CC 00348197 00348197 0022FA0C 00348C90 00348C90 0022FA1C 00348F37 00348F37 0022FA4C 003493DA 003493DA 0022FA7C 00A1A91A 00A1A91A 0022FA9C 00466F77 00466F77 0022FAAC 00466DB6 00466DB6 0022FABC 00402C65 00402C65 0022FAE0 0041E32A 0041E32A 0022FAF4 0041E380 0041E380 0022FEF8 00558FFA 00558FFA 0022FF78 004011E7 004011E7 0022FFB0 00401258 00401258 0022FFC0 7C598989 7C598989 0022FFF0 00000000 Registry dump: key = Software\Workrave key = Software\Workrave\distribution value = port string data = 27273 value = reconnect_attempts string data = 5 value = reconnect_interval string data = 15 key = Software\Workrave\gui key = Software\Workrave\gui\applet value = cycle_time string data = 10 value = enabled string data = 1 key = Software\Workrave\gui\applet\daily_limit value = position string data = 2 value = flags string data = 32 key = Software\Workrave\gui\applet\micro_pause value = position string data = 0 value = flags string data = 0 key = Software\Workrave\gui\applet\rest_break value = position string data = 1 value = flags string data = 0 key = Software\Workrave\gui\breaks value = block_mode string data = 2 key = Software\Workrave\gui\breaks\daily_limit value = max_preludes string data = 3 value = max_postpone string data = -1 value = ignorable_break string data = 1 value = enabled string data = 1 value = exercises string data = 0 key = Software\Workrave\gui\breaks\micro_pause value = max_preludes string data = 3 value = max_postpone string data = -1 value = ignorable_break string data = 1 value = enabled string data = 1 value = exercises string data = 0 key = Software\Workrave\gui\breaks\rest_break value = max_preludes string data = 3 value = max_postpone string data = -1 value = ignorable_break string data = 1 value = enabled string data = 1 value = exercises string data = 5 key = Software\Workrave\gui\main_window value = x string data = 256 value = y string data = 256 value = head string data = 0 value = cycle_time string data = 10 value = enabled string data = 0 key = Software\Workrave\gui\main_window\daily_limit value = position string data = 2 value = flags string data = 0 key = Software\Workrave\gui\main_window\micro_pause value = position string data = 0 value = flags string data = 0 key = Software\Workrave\gui\main_window\rest_break value = position string data = 1 value = flags string data = 0 key = Software\Workrave\timers key = Software\Workrave\timers\daily_limit value = limit string data = 18000 value = auto_reset string data = 0 value = reset_pred string data = day/4:00 value = snooze string data = 1200 value = activity_sensitive string data = 1 key = Software\Workrave\timers\micro_pause value = limit string data = 360 value = auto_reset string data = 30 value = reset_pred string data = value = snooze string data = 210 value = activity_sensitive string data = 1 key = Software\Workrave\timers\rest_break value = limit string data = 2820 value = auto_reset string data = 480 value = reset_pred string data = value = snooze string data = 240 value = activity_sensitive string data = 0
Comment 1
Rob Caelers Aug 24 2005 21:03:41 UTC
Weird. I will try to copy your setting and try to reproduce. stack trace: PC Frame Ret 0056141A 0022F6F8 004540DC Gtk::Widget::gobj() 004540DC 0022F718 00404308 Gtk::Container::add(Gtk::Widget&) 00404308 0022F798 00409AF7 GtkUtil::create_image_button(char const*, char const*) 00409AF7 0022F7FC 00409891 MicroBreakWindow::create_restbreaknow_button(bool) 00409891 0022F874 004016BF MicroBreakWindow::create_gui() 004016BF 0022F890 004022AD BreakWindow::init_gui() 004022AD 0022F8A0 00403754 BreakWindow::start() 00403754 0022F8DC 00433BBB GUI::start_break_window(BreakId, bool) 00433BBB 0022F8F4 00433839 BreakControl::goto_stage(BreakControl::BreakStage) 00433839 0022F90C 00433695 BreakControl::goto_stage(BreakControl::BreakStage) 00433695 0022F924 00429CA7 BreakControl::heartbeat()
Comment 2
Andrea Aime Sep 20 2005 14:30:04 UTC
I have exactly the same problem. Crashes with win2000, but works fine on another pc with XP. I'm attaching my crashlog
Comment 3
Andrea Aime Sep 20 2005 14:31:24 UTC
Created attachment 39 Crashlog
Comment 4
Andrea Aime Sep 20 2005 14:34:45 UTC
By the way, don't know if it's relevant, but I have also Gimp 2.2 and Inkscape installed (both gtk2+ based apps). The first time I've installed workrave without gtk, but it crashed, so I reistalled it with gtk included guessing that maybe it was a gtk problem, but have the same result. Another strange thing is that I've set to microbreak time to 10 seconds, but the micro break dialog starts from 30, so I guess it's using the default values, and crashes while counting down.
Comment 5
Andrea Aime Sep 21 2005 16:52:08 UTC
I can confirm 1.8.0 works fine. The crash source must be tracked in the changes between 1.8.0 and 1.8.1.
Comment 6
Rob Caelers Sep 21 2005 21:15:13 UTC
I installed gimp 2.2 and gtk 2.6.9. Still no crashes... I will have a closer look at the changes between 1.8.0 and 1.8.1. As far as I know, only an addtional check has been added (to avoid a NULL pointer dereference) What version of gtk did you install? Did you install the gtk that comes with Workrave?
Comment 7
Andrea Aime Sep 21 2005 22:37:17 UTC
That's more or less what happened: - had gtk+ already installed (don't know which version thought... the oldest one was provided with Gimp 2.0, but then I've installed 2.2 and a version of Inkscape and I believe one of them had its own version of gtk+ along) - installed workrave 1.8.1 without gtk+ -> crash on micro-break - installed workrave 1.8.1 with its gtk+ -> crash on micro-break - installed workrave 1.8.0 (I believe with its gtk+, but I'm not sure) -> no crash If you want me to try out something, just ask.
Comment 8
Rob Caelers Sep 23 2005 20:44:57 UTC
*** Bug 481 has been marked as a duplicate of this bug. ***
Comment 9
Rob Caelers Sep 23 2005 20:52:33 UTC
YES. I finally managed to reproduce the bug! Temporary workaround: - Locate gtkrc (probably in "Programs Files/Common Files/GTK/2.0/etc/gtk-2.0") - Change "gtk-button-images=0" into "gtk-button-images=1"
Comment 10
Jean Privett Sep 24 2005 00:47:03 UTC
FYI - my gtkrc file only had one line in it: gtk-font-name="sans 8" I've added the line you specify; hope it works.
Comment 11
Rob Caelers Sep 24 2005 10:34:25 UTC
Please try http://workrave.org/download/snapshots/20050923/workrave-win32-20050923-installer.exe
Comment 12
Jean Privett Sep 25 2005 19:06:18 UTC
Created attachment 40 Crashlog Crashlog after adding specified line to gtkrc file
Comment 13
Jean Privett Sep 25 2005 19:08:15 UTC
Will download and try the 9/23 installer file.
Comment 14
Jean Privett Sep 28 2005 04:01:34 UTC
Actually, because of download problems, I ended up installing the 9/26 build (win32 installer). It works like a charm. All my micro breaks and rest breaks are fine, whether taken, forced, delayed, or postponed.
Comment 15
Rob Caelers Sep 28 2005 08:22:09 UTC
Another bug resolved :-) Thanks
Comment 16
Rob Caelers Jan 15 2006 13:02:45 UTC
*** Bug 502 has been marked as a duplicate of this bug. ***
Comment 17
Rob Caelers Jan 22 2006 13:33:48 UTC
*** Bug 505 has been marked as a duplicate of this bug. ***