Icon View Thread

The following is the text of the current message along with any replies.
Messages 1 to 9 of 9 total
Thread DBISAM 3 and "The Cloud"
Fri, Sep 27 2013 10:36 PMPermanent Link

Jeff Cook

Aspect Systems Ltd

Avatar

Firstly,

Yes, it is DBISAM THREE!

Secondly, Why am I mixing this ancient DBISAM version with this super modern
Cloud thingie (so modern that no one can agree on a definition for it).

The plan was to re-engineer our application for ElevateDB and host it on a
Cloud server using C/S.  This is taking longer than expected, so we are
trying the interim step of running the old DBISAM version on a Cloud Server
for a number of users.  This will give them "on-the-road" access until we
can provide a new all singing, all dancing, all replicating and EWBing
version.
--------------------------------------
The problem:-

The application has been running satisfactorily both in File Server and
Client Server modes on LANs for many years - more than a decade anyway.

I have uploaded the databases to the Cloud Server + dbsrvr.exe +
svradmin.exe + dbsys.exe.  When we attempt to start our application we get
an Access Violation.   I have traced the problem to the Open of a simple
query - deep in the bowels of DBISAM.  The interesting thing is that the AV
occurs on the Open of the query, but before that there have been several
tables accessed quite normally.

Tried moving the application.exe to the cloud server and executing it on the
server.  In F/S mode it works OK, but in C/S mode it gets the same AV.

Running dbsys locally, connecting to the server in C/S mode, I can access
the Tables OK,  BUT I get the same AV as my own application when I try to
run an SQL.   In both cases the message is "Read of address 000010B6"  <<-
same address!

So my conclusion is that it nothing actually wrong with my application as
dbsys.exe fails in the same way.

Tables open OK in both cases but SQL's crash on Open;   So my thought was
that it might be something to do with the result tables of SQL's.  I have
run svradmin.exe and checked that the temporary file folder is valid.

I have even changed the PrivateDir when running the application.exe on the
cloud server in F/S mode to use the same folder as the dbsrvr.exe and that
works.

Tried starting the dbsrvr.exe both as a normal application and as a Windows
service - same problem.

Sort of running out of ideas here ...


Configuration:
                       DBISAM 3.30
                       Windows Server 2008 R2 Standard
                       VMWare ... don't know anything about this, it is
just as supplied by the hoster.

Any and all assistance appreciated.

Cheers

Jeff

--
Jeff Cook
Aspect Systems Ltd
www.aspect.co.nz

Extracts from madExcept bug report:-

date/time         : 2013-09-27, 08:54:54, 906ms
computer name     : ASL3
user name         : Jeff Cook <admin>
operating system  : Windows XP Service Pack 3 build 2600
system language   : English
system up time    : 1 day
program up time   : 14 seconds
processors        : 2x AMD Athlon(tm) II X2 250 Processor
physical memory   : 718/3325 MB (free/total)
free disk space   : (CSmile373.87 GB
display mode      : 1920x1080, 32 bit
process id        : $1a2c
allocated memory  : 16.81 MB
command line      : "..\apm.exe" -c c/s -s 999.999.999.999 <obfusticated> -I
executable        : apm.exe
exec. date/time   : 2013-09-27 08:54
version           : 3.19.1.19
madExcept version : 3.0b
callstack crc     : $6cd52150, $cb16e9fe, $cb16e9fe
exception number  : 1
exception class   : EAccessViolation
exception message : Access violation at address 005E5958 in module
'apm.exe'. Read of address 000010B6.

main thread ($1a60):
005e5958 +000 apm.exe dbisamen 31698   +0 TIndexFile.GetNoPrimaryIndex
005ba80e +006 apm.exe dbisamen  6747   +0 TDataTable.GetNoPrimaryIndex
005cf257 +003 apm.exe dbisamen 19723   +0 TDataCursor.GetNoPrimaryIndex
005bdacf +017 apm.exe dbisamen  9063   +1
TDataCursor.GetIsPhysicalNavigation
005d2958 +048 apm.exe dbisamen 21822  +10 TDataCursor.CheckForActiveFilters
005d2905 +031 apm.exe dbisamen 21806   +7 TDataCursor.DropAllFilters
005bf706 +0b6 apm.exe dbisamen  9854  +19 TDataCursor.CloseCursor
005be9b0 +648 apm.exe dbisamen  9494 +185 TDataCursor.OpenCursor
00563baa +0e6 apm.exe dbisamsq  2110  +28
TQueryStatement.CreateRemoteResultTable
005640b0 +124 apm.exe dbisamsq  2367  +28 TQueryStatement.PrepareStatement
005f8455 +075 apm.exe DBISAMTb  8843   +8 TDBISAMQuery.GetStatementHandle
005f83d8 +000 apm.exe DBISAMTb  8831   +0 TDBISAMQuery.PrepareSQL
005f7cac +064 apm.exe DBISAMTb  8600   +8 TDBISAMQuery.SetPrepared
005f7e49 +029 apm.exe DBISAMTb  8677   +3 TDBISAMQuery.CreateCursor
005f7eb8 +010 apm.exe DBISAMTb  8694   +3 TDBISAMQuery.CreateHandle
005eff0a +01e apm.exe DBISAMTb  3503   +1 TDBISAMDataSet.OpenCursor
005f3b25 +019 apm.exe DBISAMTb  5538   +2 TDBISAMDBDataSet.OpenCursor
0052000d +055 apm.exe DB                  TDataSet.SetActive
0051fe58 +004 apm.exe DB                  TDataSet.Open
009eeffd +095 apm.exe apmData   1798   +6 LocalGetTableFields
009ef4ca +356 apm.exe apmData   1885  +73 TapmDM.GetFieldList
009f35aa +c4a apm.exe apmData   2626 +157 TapmDM.apmDMCreate
00472d97 +02b apm.exe Classes             TDataModule.DoCreate
00472bd9 +0dd apm.exe Classes             TDataModule.Create
004e31e1 +031 apm.exe Forms               TApplication.CreateForm
00a152c3 +057 apm.exe apm        258   +4 CreateForms
00a16839 +149 apm.exe apm        289  +23 initialization



Sat, Sep 28 2013 1:06 PMPermanent Link

Raul

Team Elevate Team Elevate

On 9/27/2013 10:36 PM, Jeff Cook wrote:
> Running dbsys locally, connecting to the server in C/S mode, I can access
> the Tables OK,  BUT I get the same AV as my own application when I try to
> run an SQL.   In both cases the message is "Read of address 000010B6"  <<-
> same address!

This seems very specific to the install and/or your app unless there
something else going on beyond basic dbisam operations.

I copied dbsrvr+dbsys 3.30 onto our 2008r2 server and did couple of very
basics tests and everything works fine. So based on this quick check
dbisam3 should be ok on server 2008r2.  I ran dbsrvr as interactive apps
(not service). This server is running on vmware as well so virtual.

I can create a table with index and then open both table (c/s) as well
as run queries (c/s) against the table - with or without where filter.
Even added a blob field to make sure table is forced to access the blb file.

If you want to post a sample table and/or actual sql you run i could try
it out here to see if i can duplicate it on my copy.

Other guesses
- are you using customized server in any way (triggers, procedures, etc) ?
- anti-virus or such interfering !?

Raul
Sat, Sep 28 2013 1:23 PMPermanent Link

Raul

Team Elevate Team Elevate

On 9/28/2013 1:06 PM, Raul wrote:
> Other guesses
> - are you using customized server in any way (triggers, procedures, etc) ?
> - anti-virus or such interfering !?

- one more guess - what's your server locale/language settings?

I'm using default US english etc

raul
Sun, Sep 29 2013 10:41 PMPermanent Link

Jeff Cook

Aspect Systems Ltd

Avatar

"Raul" <raul@removethis.raul.ca> wrote in message
news:4EB94256-5F2B-474F-9400-F5922C80F37E@news.elevatesoft.com...
> On 9/27/2013 10:36 PM, Jeff Cook wrote:
>
> This seems very specific to the install and/or your app unless there
> something else going on beyond basic dbisam operations.
>
> I copied dbsrvr+dbsys 3.30 onto our 2008r2 server and did couple of very
> basics tests and everything works fine. So based on this quick check
> dbisam3 should be ok on server 2008r2.  I ran dbsrvr as interactive apps
> (not service). This server is running on vmware as well so virtual.
>
> I can create a table with index and then open both table (c/s) as well as
> run queries (c/s) against the table - with or without where filter. Even
> added a blob field to make sure table is forced to access the blb file.
>
> If you want to post a sample table and/or actual sql you run i could try
> it out here to see if i can duplicate it on my copy.
>
> Other guesses
> - are you using customized server in any way (triggers, procedures, etc) ?
> - anti-virus or such interfering !?
>

Thanks Raul

I'm convinced it is some environmental thing.

The SQL that crashes dbsys.exe is just a simple SELECT * FROM MyTable.

The dbsrvr.exe is not customised at all.

The system works OK, if gruesomely slow, if I run the server on my PC and a
colleague connects the app through the internet and a dynalias.   His PC
connecting through the cloud server has the same problem.

All of which points to something dodgy on the cloud server.   I have called
in Tech Support for the cloud server as I am out of things to try.

Will update WHEN I get it going!

Cheers

Jeff

Mon, Sep 30 2013 9:37 PMPermanent Link

Jeff Cook

Aspect Systems Ltd

Avatar

Hi Raul etc.

This is the response I got from the server tech people:-

--------------------------------------------------
As this is a move from Windows XP to Server 2008 R2 it is quite likely that
it may not work.
You may need to check permissions for running the program, permissions on
the temporary folder, try running the program as Administrator and try
running it in Compatibility mode.

Also is the program 32-bit? If it is rather old I would expect it to be.

Is your copy of Windows XP 32-bit?

------------------------------------------------------

Have tried the suggestions of Compatibility mode and running as Admin
(actually only have one admin user anyway).  I've twiddled with the
permissions of folders and exe.  Moved the temporary folder to
C:\Public\Users.  All to no avail.

Seems to me that people have been writing 32-bit stuff for years and
everything hasn't stopped because of 64-bit.  Lots of people still
developing in older Delphi versions (I'm between D7 and DelphiXE) and their
programs work, don't they.  So why shouldn't dbsrvr.exe??

Cheers



Jeff


--
Jeff Cook
Aspect Systems Ltd
www.aspect.co.nz

"Jeff Cook" <jeffc@aspect.co.nz> wrote in message
news:83D06EBE-7098-4576-BDA6-A2C6011E9A71@news.elevatesoft.com...
> "Raul" <raul@removethis.raul.ca> wrote in message
> news:4EB94256-5F2B-474F-9400-F5922C80F37E@news.elevatesoft.com...
>> On 9/27/2013 10:36 PM, Jeff Cook wrote:
>>
>> This seems very specific to the install and/or your app unless there
>> something else going on beyond basic dbisam operations.
>>
>> I copied dbsrvr+dbsys 3.30 onto our 2008r2 server and did couple of very
>> basics tests and everything works fine. So based on this quick check
>> dbisam3 should be ok on server 2008r2.  I ran dbsrvr as interactive apps
>> (not service). This server is running on vmware as well so virtual.
>>
>> I can create a table with index and then open both table (c/s) as well as
>> run queries (c/s) against the table - with or without where filter. Even
>> added a blob field to make sure table is forced to access the blb file.
>>
>> If you want to post a sample table and/or actual sql you run i could try
>> it out here to see if i can duplicate it on my copy.
>>
>> Other guesses
>> - are you using customized server in any way (triggers, procedures, etc)
>> ?
>> - anti-virus or such interfering !?
>>
>
> Thanks Raul
>
> I'm convinced it is some environmental thing.
>
> The SQL that crashes dbsys.exe is just a simple SELECT * FROM MyTable.
>
> The dbsrvr.exe is not customised at all.
>
> The system works OK, if gruesomely slow, if I run the server on my PC and
> a colleague connects the app through the internet and a dynalias.   His PC
> connecting through the cloud server has the same problem.
>
> All of which points to something dodgy on the cloud server.   I have
> called in Tech Support for the cloud server as I am out of things to try.
>
> Will update WHEN I get it going!
>
> Cheers
>
> Jeff
>

Tue, Oct 1 2013 9:23 AMPermanent Link

Raul

Team Elevate Team Elevate


No disrespect to them people but sounds like a "we don't want to deal
with it" explanation rather than a proper technical one.

I am running the same version of the dbsrvr and dbsys on 64bit server
2008R2 and it works fine.

My offer to try it here stands - if you want to send me copy of your
files (dbsrvr, dbsys, database) and tell me exact steps that result in
an error i'd be happy to run it here. If if works at least you can go
back and say you have another installation where it works just fine on
same OS and something is different about their installation.

Raul


On 9/30/2013 9:37 PM, Jeff Cook wrote:
> Hi Raul etc.
>
> This is the response I got from the server tech people:-
>
> --------------------------------------------------
> As this is a move from Windows XP to Server 2008 R2 it is quite likely that
> it may not work.
> You may need to check permissions for running the program, permissions on
> the temporary folder, try running the program as Administrator and try
> running it in Compatibility mode.
>
> Also is the program 32-bit? If it is rather old I would expect it to be.
>
> Is your copy of Windows XP 32-bit?
>
> ------------------------------------------------------
>
> Have tried the suggestions of Compatibility mode and running as Admin
> (actually only have one admin user anyway).  I've twiddled with the
> permissions of folders and exe.  Moved the temporary folder to
> C:\Public\Users.  All to no avail.
>
> Seems to me that people have been writing 32-bit stuff for years and
> everything hasn't stopped because of 64-bit.  Lots of people still
> developing in older Delphi versions (I'm between D7 and DelphiXE) and their
> programs work, don't they.  So why shouldn't dbsrvr.exe??
>
> Cheers
> Jeff
Tue, Oct 1 2013 5:08 PMPermanent Link

Jeff Cook

Aspect Systems Ltd

Avatar

Thanks Raul - have emailed you the items requested.

Cheers

Jeff

--
Jeff Cook
Aspect Systems Ltd
www.aspect.co.nz

"Raul" <raul@removethis.raul.ca> wrote in message
news:D8309667-A99B-4C26-BD73-8FA35A008FF7@news.elevatesoft.com...
>
> No disrespect to them people but sounds like a "we don't want to deal with
> it" explanation rather than a proper technical one.
>
> I am running the same version of the dbsrvr and dbsys on 64bit server
> 2008R2 and it works fine.
>
> My offer to try it here stands - if you want to send me copy of your files
> (dbsrvr, dbsys, database) and tell me exact steps that result in an error
> i'd be happy to run it here. If if works at least you can go back and say
> you have another installation where it works just fine on same OS and
> something is different about their installation.
>
> Raul
>
>
> On 9/30/2013 9:37 PM, Jeff Cook wrote:
>> Hi Raul etc.
>>
>> This is the response I got from the server tech people:-
>>
>> --------------------------------------------------
>> As this is a move from Windows XP to Server 2008 R2 it is quite likely
>> that
>> it may not work.
>> You may need to check permissions for running the program, permissions on
>> the temporary folder, try running the program as Administrator and try
>> running it in Compatibility mode.
>>
>> Also is the program 32-bit? If it is rather old I would expect it to be.
>>
>> Is your copy of Windows XP 32-bit?
>>
>> ------------------------------------------------------
>>
>> Have tried the suggestions of Compatibility mode and running as Admin
>> (actually only have one admin user anyway).  I've twiddled with the
>> permissions of folders and exe.  Moved the temporary folder to
>> C:\Public\Users.  All to no avail.
>>
>> Seems to me that people have been writing 32-bit stuff for years and
>> everything hasn't stopped because of 64-bit.  Lots of people still
>> developing in older Delphi versions (I'm between D7 and DelphiXE) and
>> their
>> programs work, don't they.  So why shouldn't dbsrvr.exe??
>>
>> Cheers
>> Jeff
>

Tue, Oct 1 2013 10:52 PMPermanent Link

Jeff Cook

Aspect Systems Ltd

Avatar

Raul

Wonderful - it now all works!

As you spotted, the dbsrvr.exe wasn't the same as yours even though they
claimed the same Engine Version.

I think I know my mistake now.

I have a bunch of components that were used for my Delphi6 version of the
programs - including the D6 version of dbsrvr.exe.  I must have copied this
to my Cloud server.

I have a separate set of components for Delphi7 and to get it all working
all I had to do was copy across the D7 version of dbsrvr.exe.

In theory, it shouldn't have mattered D6 vs D7 as they were both v3.30 - but
I happy for it just to work without having to investigate what did or might
have done so long ago.

I definitely would not have been able to fix this without your assistance.

Many Thanks

Jeff



--------------------------------------------------------------------------------

From: Raul xxxxxxxxxxxxxxxx
Sent: Wednesday, 2 October 2013 1:26 p.m.
To: jeffc@aspect.co.nz
Subject: Re: DBISAM 3 and "The Cloud"


Jeff,

I was able to get the files thru ftp and set them up on my Server 2008R2
using your dbsrvr and dbsys.

Guess what - same error.

However I then checked your dbsrvr and it's different than mine !? The
"About" box in dbsrvr identifies it as "3.27" (as does the windows file
properties). The Engine entry though says "3.30" - this is weird.

I replaced your dbsrvr with one i had (stock 3.30) and it works OK and
nothing crashes- i'm seeing  properties with Code 1008 thru 1046 after
running sql

See screenshots of your dbsrvr (bad_dbsrvr.jpg) and mine (good_dbsrvr.jpg).

My suggestion is to re-download the dbsrvr from elevate soft downloads area
and make sure it's all 3.30 and try that one.

Raul

Wed, Oct 16 2013 3:51 PMPermanent Link

Tim Young [Elevate Software]

Elevate Software, Inc.

Avatar

Email timyoung@elevatesoft.com

Jeff,

<< I have a bunch of components that were used for my Delphi6 version of the
programs - including the D6 version of dbsrvr.exe.  I must have copied this
to my Cloud server. >>

Hmm, the D6 version of the dbsrvr.exe should be compiled in the same way
that the D7 version is.  In fact, I'm pretty sure that they were compiled
using D5 for many years because it resulted in the smallest .exe.

Tim Young
Elevate Software
www.elevatesoft.com
Image