Bug 960 - Crash after Rest break count down.
Status:
RESOLVED FIXED
Component:
GUI
Version:
1.9.3
Hardware:
PC Windows XP
Importance:
P5 critical
Target Milestone:
---
Assignee:
Rob Caelers
URL:
Depends on:
Blocks:
Reported:
Jan 7 2011 14:04:53 UTC
by:
em**@gm**.com
Modified:
Mar 24 2011 18:33:57 UTC
IdWhoWhenSizeType
226Crash log
em**@gm**.comJan 7 2011 14:04:53 UTC12691text/plain
228Crash log #2
em**@gm**.comJan 13 2011 14:34:08 UTC12513text/plain
229Crash log #3
em**@gm**.comJan 13 2011 14:46:40 UTC12391text/plain
230Crash log #4
em**@gm**.comJan 14 2011 09:27:22 UTC12789text/plain
234Crash log #5
em**@gm**.comJan 24 2011 15:40:27 UTC14158text/plain
235Crash log #6
em**@gm**.comJan 25 2011 10:01:20 UTC14172text/plain
236Crash log #7
em**@gm**.comJan 25 2011 10:16:54 UTC12905text/plain
237Crash log #8
em**@gm**.comJan 26 2011 14:04:12 UTC15794text/plain
WhoWhenWhatRemovedAdded
Rob CaelersMar 24 2011 18:33:57 UTCstatusNEWRESOLVED
resolutionFIXED
Description
em**@gm**.com  Jan 7 2011 14:04:53 UTC
Created attachment 226
Crash log

Not always, but very frequent, workrave crashes after the rest break count down.
Comment 1
Rob Caelers  Jan 11 2011 22:46:23 UTC
It seems Workrave crashes when showing exercises. What language are you using?


PC        Frame     Ret
63A5D75F  0022F178  63A5DE66
63A5DE66  0022F198  02FAA50A
02FAA50A  0022F208  02FB6500
02FB6500  0022F258  02FB66E3
02FB66E3  0022F278  02FB68F8
02FB68F8  0022F318  63A45ACA
63A45ACA  0022F398  63A56438
63A56438  0022F478  63A5DCD6
63A5DCD6  0022F598  63A5DE66
63A5DE66  0022F5B8  0301937F
0301937F  0022F628  02F615EC 
02F615EC  0022F668  63A45ACA
63A45ACA  0022F6E8  63A55E5C
63A55E5C  0022F7C8  63A5DCD6
63A5DCD6  0022F8E8  63A5DE66
63A5DE66  0022F908  02E72DA9
02E72DA9  0022F948  0043C688
0043C688  0022FA78  0041CB5C ExercisesPanel::ExercisesPanel(Gtk::ButtonBox*)
0041CB5C  0022FAD8  0041CCD6 RestBreakWindow::install_exercises_panel()
0041CCD6  0022FAF8  00407DD2 RestBreakWindow::start()
00407DD2  0022FB18  004585CC GUI::show_break_window()
004585CC  0022FB48  00458BDA BreakControl::goto_stage(BreakControl::BreakStage)
00458BDA  0022FB78  00442A34 BreakControl::heartbeat()
00442A34  0022FBA8  0040950D Core::heartbeat()
0040950D  0022FBF8  0059B1D4
0059B1D4  0022FC18  685F1DDE
685F1DDE  0022FC48  685F09EB
685F09EB  0022FCC8  685F1205
685F1205  0022FD48  685F1741
685F1741  0022FD88  02EF7694
02EF7694  0022FDE8  0049A083
0049A083  0022FE08  00409885 Gtk::Main::run()
00409885  0022FE68  0042EEC8
0042EEC8  0022FE98  0042EF50
0042EF50  0022FEC8  005BB37D
005BB37D  0022FEE8  00401402
00401402  0022FFC0  7C817077
Comment 2
em**@gm**.com  Jan 12 2011 09:22:31 UTC
(In reply to comment #1)
> It seems Workrave crashes when showing exercises. What language are you using?

Well I have done a lot of the exercises, so it is capable of showing them. The last few crashes (which I haven't filed as bugs, since I think it relates to this one) occured when I press 'postpone' and when the restbreak counter finishes, the program crashes.

At first I used Danish as language, since this it what my system is running. But I have switched to English now, hoping for a more stable program (an old habbit of presuming English being more stable than a small language).
Comment 3
Rob Caelers  Jan 12 2011 21:18:13 UTC
In the past, corrupt translation files have caused crashes when displaying the exercises. I haven't been able to find a any problems with the Danish translation.

If you have some other crash reports, please add the to this bug. I wonder if crashes occur at the same location every time (probably not. this crash seems to occur when the restbreak window was first opened)

You could also try:

http://snapshots.workrave.org/20110111/workrave-win32-v1_9_3-16-gbfb2206b99-20110111-installer.exe

This version uses a slightly more recent version of the Gtk library (and the crash appears to be inside this library).

Thanks!

Remaining part of the stack trace resolved:

PC        Frame     Ret
63A5D75F  0022F178  63A5DE66 g_signal_emit_valist
63A5DE66  0022F198  02FAA50A g_signal_emit
02FAA50A  0022F208  02FB6500 gtk_text_layout_set_cursor_visible
02FB6500  0022F258  02FB66E3 gtk_text_view_ensure_layout
02FB66E3  0022F278  02FB68F8 gtk_text_view_update_layout_width
02FB68F8  0022F318  63A45ACA gtk_text_view_value_changed
63A45ACA  0022F398  63A56438 g_closure_invoke
63A56438  0022F478  63A5DCD6 signal_emit_unlocked_R
63A5DCD6  0022F598  63A5DE66 g_signal_emit_valist
63A5DE66  0022F5B8  0301937F g_signal_emit
0301937F  0022F628  02F615EC gtk_widget_set_scroll_adjustments
02F615EC  0022F668  63A45ACA gtk_scrolled_window_add
63A45ACA  0022F6E8  63A55E5C g_closure_invoke
63A55E5C  0022F7C8  63A5DCD6 g_signal_emit_unlocked_R
63A5DCD6  0022F8E8  63A5DE66 g_signal_emit_valist
63A5DE66  0022F908  02E72DA9 g_signal_emit
02E72DA9  0022F948  0043C688 gtk_container_add
0043C688  0022FA78  0041CB5C ExercisesPanel::ExercisesPanel(Gtk::ButtonBox*) line 224
0041CB5C  0022FAD8  0041CCD6 RestBreakWindow::install_exercises_panel()
0041CCD6  0022FAF8  00407DD2 RestBreakWindow::start()
00407DD2  0022FB18  004585CC GUI::show_break_window()
004585CC  0022FB48  00458BDA BreakControl::goto_stage(BreakControl::BreakStage)
00458BDA  0022FB78  00442A34 BreakControl::heartbeat()
00442A34  0022FBA8  0040950D Core::heartbeat()
Comment 4
em**@gm**.com  Jan 13 2011 14:33:08 UTC
I will try the proposed version at a later point. But if you want me to add more crash logs, I'll stay with my current version.

(In reply to comment #3)
> In the past, corrupt translation files have caused crashes when displaying the
> exercises. I haven't been able to find a any problems with the Danish
> translation.
> 
> If you have some other crash reports, please add the to this bug. I wonder if
> crashes occur at the same location every time (probably not. this crash seems
> to occur when the restbreak window was first opened)
> 
> You could also try:
> 
> http://snapshots.workrave.org/20110111/workrave-win32-v1_9_3-16-gbfb2206b99-20110111-installer.exe
> 
> This version uses a slightly more recent version of the Gtk library (and the
> crash appears to be inside this library).
> 
> Thanks!
>
Comment 5
em**@gm**.com  Jan 13 2011 14:34:08 UTC
Created attachment 228
Crash log #2
Comment 6
em**@gm**.com  Jan 13 2011 14:46:40 UTC
Created attachment 229
Crash log #3
Comment 7
em**@gm**.com  Jan 13 2011 14:47:46 UTC
Comment on attachment 229
Crash log #3

This one happened after I had seen the exercises and wanted to go on working, thus clicking 'skip' on the ~9min break window.
Comment 8
em**@gm**.com  Jan 14 2011 09:27:22 UTC
Created attachment 230
Crash log #4

I got the first break reminder. When exercises began, I postponed.

I got the next break reminder. After the rest break reminder, just before the exercises, the crash came.
Comment 9
Rob Caelers  Jan 20 2011 21:33:08 UTC
Thanks! The dump are very helpful.

It seems that none of the crashes occur at the same location. 3 out of 4 crashes occur during initialization of the exercises. Crash 3 occurs somewhere else (in Workrave's timer handler), but after the exercises were shown (according to comment #7). Two of the crashes occur when allocating memory. So I expect that the exercises cause some memory corruption....

Does Workrave also crash when you disable exercises? 

I'm also curious to hear if the latest snapshot from http://snapshots.workrave.org/  (e.g. http://snapshots.workrave.org/20110118/workrave-win32-v1_9_3-17-g0101db5baf-20110118-installer.exe) fixes the problem. Thanks again!
Comment 10
em**@gm**.com  Jan 24 2011 15:40:27 UTC
Created attachment 234
Crash log #5

This time the number of exercises was set to 0. 
I think I skipped a break and the crash occurred when/after the following break.
Comment 11
em**@gm**.com  Jan 25 2011 08:57:58 UTC
I am now switching to your last suggested version:

http://snapshots.workrave.org/20110118/workrave-win32-v1_9_3-17-g0101db5baf-20110118-installer.exe

I am curious to hear if Crash Log #5 where no exercises was shown tells you anything. 

I'll return if any crash occurs in the latest version.
Comment 12
em**@gm**.com  Jan 25 2011 10:01:20 UTC
Created attachment 235
Crash log #6

This time I postponed my break twice, and the third time the crash occurred just after the rest-break count down.
Comment 13
em**@gm**.com  Jan 25 2011 10:16:54 UTC
Created attachment 236
Crash log #7

Crash log #7 seems to be exactly the same as with Crash log #6.
Comment 14
Rob Caelers  Jan 25 2011 23:56:32 UTC
In crash #5, Workrave crashes while it is updating its UI. Crashes 6 and 7 are exercises related.

The crash location is different each crash, which make tracking the bug more difficult. Also, Workrave seems to crash only for a few people (well, I only got a few reports...). So there must be a difference between your computer/workrave settings and mine. 

- Are you running 64 bit windows XP?
- I noticed you have the microbreak and sounds disabled. Does Workrave also crash with these enanbled?
- Does Workrave still crash if you (temporarily) remove all files from "c:/Documents and Settings/<username>/Application Data/Workrave"
Comment 15
em**@gm**.com  Jan 26 2011 08:30:03 UTC
(In reply to comment #14)
> - Are you running 64 bit windows XP?

No I'm using Windows XP Pro SP3 32bit.

> - I noticed you have the microbreak and sounds disabled. Does Workrave also
> crash with these enanbled?

I have disabled the microbreak because I don't want to be disturbed that often. I will enable them to provide you with more crash logs ;)

> - Does Workrave still crash if you (temporarily) remove all files from
> "c:/Documents and Settings/<username>/Application Data/Workrave"

I'll try immediately.
Comment 16
em**@gm**.com  Jan 26 2011 14:04:12 UTC
Created attachment 237
Crash log #8

Crash log #8 "contains" the result of emptying the workrave directory under application settings.
Comment 17
em**@gm**.com  Jan 27 2011 11:51:30 UTC
(In reply to comment #14)
> - I noticed you have the microbreak and sounds disabled. Does Workrave also
> crash with these enanbled?

Enabling microbreaks seems to work even though I skip all breaks that has occurred the last 4 hours.

So how is a microbreak connected to a rest break and an exercise?
Comment 18
Rob Caelers  Jan 27 2011 17:20:32 UTC
> Enabling microbreaks seems to work even though I skip all breaks that has
> occurred the last 4 hours.

Great. This is very helpful! You could set the time-between-breaks of the microbreak to 10 hours, until I fixed the problem.

> So how is a microbreak connected to a rest break and an exercise?

Not sure yet. My guess it has something to do with displaying the mainwindow/applet. Workrave has to skip 1 timer.
Comment 19
Rob Caelers  Jan 28 2011 22:42:08 UTC
I finally managed to reproduce the crash on XP using the same settings as you are using. However, after enabling the microbreaks again, the crash remained. It seems that the 'mute audio on breaks' options was causing crashes. Could you please test a recent snapshot, eg.

http://snapshots.workrave.org/20110128/workrave-win32-v1_9_3-24-g1721580133-20110128-installer.exe

(commit 37544a23377e58ad00f8)
Comment 20
Rob Caelers  Mar 24 2011 18:33:57 UTC
This problem should be fixed in 1.9.4. You can download it from:

http://sourceforge.net/projects/workrave/files/workrave/1.9.4/workrave-win32-v1.9.4-installer.exe/download

Please reopen this issue if you still see the problem in 1.9.4

Many thanks for all the help!