V4RB Sockets, Threads and Windows Crashes

Ruslan Zasukhin sunshine at public.kherson.ua
Wed Mar 31 10:16:07 CST 2004


On 3/31/04 9:57 AM, "Cindy Brown" <cindy at kowhaiprogramming.com> wrote:

Hi Cindy,

> I'm still struggling with the windows version of my server/workstation. I am
> running a simple test where I create 244 records on my workstation and send
> them across to the server. Every time it gets to record 211, the server just
> quits. 

So crashes YOUR server, but not client, yes?

> If I then run it again, the records continue updating but are now
> corrupted so if I try to bring them across to another workstation the
> records corrupt the workstations databases. Only happens on Windows. I have
> created a thread and got the semaphores to work as they should. Everything
> seems to be working fine. There are no doubles, the server is only
> collecting one record at a time. In fact, in my test environment there is
> only one workstation running and therefore the records are only being

I wonder. You always do tests from remote computer?
Have you try WIN client to your WIN Server located on the same WIN computer?

> updated to the server one at a time. Yet it crashes every time at record
> 211. Note, each time I do a test, I run a different set of records so record
> 211 is different each time so it is not related to the record.
> 
> When I run a diagnose database file I get:
> 
> ************************************************************************
> * BaseObject: "sysItem"
> ************************************************************************
> Problems found.
> 
> -----> Field: "ItemDescrPtr' of type ObjectPtr
> All right.
> 
> -----> Field: "Value' of type VarChar
> All right.
> 
> -----> Field: "TextValue' of type Text
> Problems found!
> 
> (!) Minor problem: exists 1 orphan segments.(indicate mistake in algorithm.)

Such problem can be result of crash.

And it show that you have made
    Text.value = something  // this have put data into BLOB file

But there was no cursor.Update() call, so they was not fixed.



> -----> Field: "ParentPtr' of type ObjectPtr
> All right.
> 
> Have you got any more suggestions (other than going to Valentina Server
> which I have already explained I don't want to do just yet).

> When the program quits it quits at the line:
> 
> WorkingCursor = app.mdatabase.SQLSelect(s,2,1,2).
> 
> It works for the first 210 records and then quits on the 211th record.
> 
> I am starting to despair that I will never be able to sort this problem
> out!!!

Yes, not easy tasks develop own server.

Well I can give you next advices:

1) do you have LOG of each command that come to server?

2) have you set debug level for Valentina in your server app, to see after
WHICH exactly command crashes Your server?

3) have you locate if crash happens inside of Valentina or inside of
REALbasic code?

4) do you have way to simulate the same 214 records adding using just server
without any clients at all?

The main task for you know ISOLATE where and why and on which conditions
happens crash.

May be make small LOCAL only project which add the same 214 records.
Your Server must not differ write.

5) BTW, only now I have realize that I don't know:
    do you mean Windows for client or for your server?
    have you try all combinations mac-mac win-mac, win-win? Mac-win ?





-- 
Best regards,
Ruslan Zasukhin      [ I feel the need...the need for speed ]
-------------------------------------------------------------
e-mail: ruslan at paradigmasoft.com
web: http://www.paradigmasoft.com

To subscribe to the Valentina mail list go to:
http://lists.macserve.net/mailman/listinfo/valentina
-------------------------------------------------------------



More information about the Valentina mailing list