Allegro.cc - Online Community

Allegro.cc Forums » Installation, Setup & Configuration » Serious Grabber Problem

This thread is locked; no one can reply to it. rss feed Print
Serious Grabber Problem
Ender Wiggin
Member #3,062
December 2002
avatar

I use WinXP, and I always log in as my own user - not as the default, admin user. I do that so that the programs I run won't have permissions to do whatever they want, like writing to C:\ or C:\Windows - which I don't want them to do. That's about the only things my user can't do. The problem is with the grabber: It runs like it should, everything is fine, I can edit, add, delete - do whatever I want. But when I save a data file, it just suddenly quits. It creates the data file I wanted, but with only 0 bytes (luckily it saves a backup file of the dat file I saved as, if I save it as a file that already exists). When I run it as admin, it does everything well... Maybe it tries to write to C:\Windows\ Something? Or make some temp file on C:\? Please? Anybody, fix it?

Evert
Member #794
November 2000
avatar

Quote:

Maybe it tries to write to C:\Windows\ Something? Or make some temp file on C:\?

I don't think so - a problem of that nature should show up in Linux as well. Does the problem only occur with the grabber, or also with other programs that use the Allegro file I/O?

What version of the grabber are you using?

Sakuera
Member #3,222
February 2003
avatar

You should get some filesystem activity monitor.

I also had a problem with grabber... I had one big .bmp file and it hanged every time I tried to compress it.

Ender Wiggin
Member #3,062
December 2002
avatar

> Does the problem only occur with the grabber, or also with other programs that use the Allegro file I/O?

Well, Icytower and Happyland seems to work pretty normal, and they use packfiles for saving the scores...

> You should get some filesystem activity monitor.
Right, I already have one... How didn't I think of it?

This is what it gave me:
Process: Grabber.exe:2528.
Request: IRP_MJ_SET_INFORMATION
Path: C:\WINDOWS\system32\config\system.LOG
Result: SUCCESS
Other: FileEndOfFileInformation

And 4 more like that...

Why does it try to write to c:\windows\system32\config\system.LOG? Can I try to recompile it so that it won't do that? How?

Sakuera
Member #3,222
February 2003
avatar

It's a bit weird that grabber.exe writes to system.log, try to search for 'system.log' string in the sourcecode of grabber.

But maybe it wants to log some nasty error you should stop from occuring?

Evert
Member #794
November 2000
avatar

Quote:

try to search for 'system.log' string in the sourcecode of grabber.

I don't think you have to bother, really... I'm pretty sure the grabber doesn't do any weird things like that. It doesn't contain special Windows code for such a purpose, and anything like that in the platform independent code would choke on *nix as well.

I'd hesitate to suggest this, seeing how DJGPP programs behave unreliably under XP, but just for kicks, do you think you can try it?
Oh, and you didn't answer this question (not that I'm sure it matters):

Quote:

What version of the grabber are you using?

Finally, you can recompile the grabber and Allegro by doing a make DEBUGMODE=1, or maybe make DEBUGMODE=2 to debug Allegro itself...

Thomas Fjellstrom
Member #476
June 2000
avatar

I'll bet the grabber is crashing, or doing something nasty to the windows system, causing the program to write to the system log... Though, you'd figure windows'd do that itself... Ignore my sensless ramblings!

--
Thomas Fjellstrom - [website] - [email] - [Allegro Wiki] - [Allegro TODO]
"If you can't think of a better solution, don't try to make a better solution." -- weapon_S
"The less evidence we have for what we believe is certain, the more violently we defend beliefs against those who don't agree" -- https://twitter.com/neiltyson/status/592870205409353730

Ender Wiggin
Member #3,062
December 2002
avatar

"system.log" doesn't exist in the Allegro Grabber Code - I was thinking, maybe something else that grabber executes writes to it - it could be anywhere in the Allegro system-specific code, then...

I use Grabber 4.0.2, MSVC's.

The Grabber doesn't crash - when I checked what it's doing with files, I ran it as Admin (otherwise it wouldn't be able to write to system.log) - and it wrote it just fine and it remained ok, and the datafile worked...

Can anyone try to see if your grabber writes to your system.log?

And isn't there anyboyd who knows how Allegro works, and what the hell writes to system.log? Allegro uses so many different things - apperantly the grabber executes some function that writes to system.log - somebody must have coded that somewhen :)

phate
Member #2,235
April 2002
avatar

I wonder if MSVC links in something extra that
writes to system.log?

-----
For my next trick... ah fark it.
[Website][Twitter]

Evert
Member #794
November 2000
avatar

Did you try some of the things I mentioned in my last post (especially the the things about recompiling the grabber with extra debugging information)?

You may have to add some TRACE points to the code to find out what happens, though...

Quote:

Can anyone try to see if your grabber writes to your system.log?

I don't have one (at least not in the same location as you do)... so no, it doesn't.
BTW, what's the exact purpose of system.log?

Quote:

And isn't there anyboyd who knows how Allegro works, and what the hell writes to system.log?

Allegro is a complex beast, so I won't claim I know much about all its components, but I don't think anything writes to system.log.
I do know the grabber and it is no different from any other application that uses Allegro - so if other applications work and the grabber does not, this is strange indeed...

phate
Member #2,235
April 2002
avatar

Evert: I don't know about the system.log but I am
still for MSVC linking in something...

I have been though the entire Allegro src and can't find anything of windows only nature that
would require writing to system.log (was scrounging for AllegPPC)

My thinking is MSVC or it might be windows itself

-----
For my next trick... ah fark it.
[Website][Twitter]

Evert
Member #794
November 2000
avatar

Ok, so the problem doesn't occur if you use a MinGW-compiled binary?
I'm confused now... are you using the binary distribution of Allegro and the Grabber, or did you build it yourself?

Ender Wiggin
Member #3,062
December 2002
avatar

Okay, I should have tried that MUCH earlier:

I have downloaded the Allegro source for DJGPP only, and I compiled it for DJGPP only - for MingW and MSVC, I just downloaded the Binaries. Therefore I only had the DJGPP Grabber - which, for some completely different reason, works slow (the mouse barely moves!), and... I don't know, I just don't like that grabber; so - I've downloaded the MSVC Binary from The Depot. And that's the version that didn't work.
Now I've tried the DJGPP grabber again, something I should have done from the beginning, and apperantly, after moving the mouse to the edges of the table to get the cursor moving - The DJGPP grabber works just fine...
So.
I want to compile that source with MSVC and then (hopefully) it will work.
So.
Do I use the same source (will it still say "Produced by Grabber 4.0.2, DJGPPs?)?
And how do I compile it with the Worms Plugin :) :D :D J/K - I never use it ;) :D.
And.

Quote:

Did you try some of the things I mentioned in my last post (especially the the things about recompiling the grabber with extra debugging information)?

I don't know, I have a problem with my Make/Bat files - they don't recognize the MingW/MSVC folders. I had to copy the Allegro Binaries to their folders manually. Therefore, I can't use make at all. Wait, am I supposed to add an environment variable of their folders myself? I don't know, I thought they were supposed to do that.

Evert
Member #794
November 2000
avatar

Quote:

Do I use the same source (will it still say "Produced by Grabber 4.0.2, _DJGPPs_?)?

Yes, you can use the same source (but see below)

Quote:

And how do I compile it with the Worms Plugin :) :D :D J/K - I never use it ;) :D.

:) It gets included by default.

Quote:

I don't know, I have a problem with my Make/Bat files - they don't recognize the MingW/MSVC folders. I had to copy the Allegro Binaries to their folders manually. Therefore, I can't use make at all. Wait, am I supposed to add an environment variable of their folders myself? I don't know, I thought they were supposed to do that.

From the Allegro directory, you first need to run fix.bat msvc. You also need to set up environment variables for MinGW if you want to use that (most notably, mingdir) and for MSVC (which can be automated using something called vcvars.bat, IIRC).
Not that I have any experience actually building Allegro with MSVC...

Alternatively, you could recompile the grabber as you would a normal Allegro project - but you'll need to include the plugins manually, which might be a pain...

Go to: