Bug 779 - Workrave crashes with glib error on start
Status:
CLOSED FIXED
Component:
Core :: Win32
Version:
1.9.0
Hardware:
PC Windows Vista
Importance:
P5 normal
Target Milestone:
---
Assignee:
Raymond Penners
URL:
Depends on:
Blocks:
Reported:
Sep 10 2008 01:19:59 UTC
by:
Scott McDermott
Modified:
Mar 5 2009 21:24:14 UTC
CC List:
Ray Satiro
Rob Caelers
WhoWhenWhatRemovedAdded
Rob CaelersNov 6 2008 21:54:27 UTCccRob Caelers
Ray SatiroFeb 2 2009 20:34:53 UTCstatusNEWASSIGNED
ccRay Satiro
Ray SatiroFeb 3 2009 21:20:04 UTCstatusASSIGNEDRESOLVED
resolutionINVALID
Scott McDermottFeb 24 2009 19:58:05 UTCresolutionINVALIDFIXED
Scott McDermottFeb 24 2009 20:00:16 UTCstatusRESOLVEDCLOSED
Description
Scott McDermott  Sep 10 2008 01:19:59 UTC
I have 2 Vista boxes I run Workrave on. One of them, 1.9.0 works great (save the occasional invisible break window). However, on the other I receive this error:

GLib-ERROR **: This version of GLib requires NT-based Windows.
aborting...

I've removed it, wiped the directory, reinstalled, looked for other glib DLLs that might be floating around. I'm at a loss as to why this is happening, I can't duplicate it on my other machine, and it's non-sensical. Any ideas?
Comment 1
Rob Caelers  Nov 6 2008 21:54:27 UTC
You could download dependencywalker (http://www.dependencywalker.com/) and check what libraries are loaded on both computers. I also suspect dll loading problems.

As far as I can see. gtk just calls the Windows GetVersion function to check the windows version.

Comment 2
Ray Satiro  Feb 2 2009 20:34:53 UTC
Scott,

Was this issue ever solved and if so can you please tell us what you suspect as the cause.

Thanks,

Ray
Comment 3
Scott McDermott  Feb 3 2009 16:05:47 UTC
It was not. Dependencywalker didn't come up with anything unexpected. I suspect it's an edge case specific to that machines configuration. It's used for dev, administration, and testing, so I suspect it has an unusual mix of software that has been on and off it. Unless someone else reports it, I don't think it's worth tracking down.
Comment 4
Ray Satiro  Feb 3 2009 21:20:04 UTC
Scott, My guess would be multiple gtk libs in the path. Workrave.exe must be run from the \lib directory. Every program dependent on GTK almost always comes with its own batch of GTK libs.
Any bug report usually represents not just the reporter but other people who didn't report. Most people who see something like that just uninstall. So in that sense it's worth pursuing. For now however I'm closing this. Thanks for your reply.
Comment 5
Scott McDermott  Feb 4 2009 05:53:57 UTC
For what it's worth, only system libs and libs from the workrave install were being used, according to dependencywalker.

While the machine is being retired, I think I'll image it to run in a VM. Maybe I'll get the itch to track this down when I have more time.
Comment 6
Scott McDermott  Feb 24 2009 19:58:05 UTC
OK, I finally figured out what was going on. Back when I was running the Vista beta, I had set some application compatibility rules with the "Compatibility Administrator" tool. One of the rules I set was to run workrave in win95 compatibility mode. I had long since forgotten about this, but was reminded when going through a debug session and saw dll's from AppPatch loading...

I removed those compatibility rules and now workrave works again.

So, shockingly enough, running in Win95 mode causes issues with libs that expect NT dlls.
Comment 7
Rob Caelers  Mar 5 2009 21:24:14 UTC
Another mystery solved. Thanks for the feedback!