Icon View Thread

The following is the text of the current message along with any replies.
Messages 1 to 10 of 11 total
Thread Edbsrvr in Windows 2008 Server x64
Tue, May 4 2010 4:53 PMPermanent Link

Joselito Real

I am moving our EDBServer from Windows 2003 Server x32 to Windows 2008
Server x64, and copied parallel directory, i.e. from c:\edb in Win2003 to
c:\edb in Win2008.  Now when I start edbsrvr (normal application, version
2.03 bld 13) in Windows 2008, I get the message: Runtime error 216 at
02B2390E.

Any hint on how to fix the Runtime error 216?

Thanks,
George Patena
Tue, May 4 2010 5:05 PMPermanent Link

Jan Ferguson

Data Software Solutions, Inc.

Team Elevate Team Elevate

George,

I'm certainly not an expert on this but when I ran a Google search,
everything pointed to possible viruses (virii?) and/or Trojans. I've
provided two links below. I hope that points you in the right direction.

http://support.microsoft.com/kb/259279

http://ezinearticles.com/?What-to-Do-When-You-Encounter-Runtime-Error-21
6&id=1771501

--
Jan


Joselito Real wrote:

> I am moving our EDBServer from Windows 2003 Server x32 to Windows 2008
> Server x64, and copied parallel directory, i.e. from c:\edb in
> Win2003 to c:\edb in Win2008.  Now when I start edbsrvr (normal
> application, version 2.03 bld 13) in Windows 2008, I get the message:
> Runtime error 216 at 02B2390E.
>
> Any hint on how to fix the Runtime error 216?
Wed, May 5 2010 4:13 PMPermanent Link

George

It was not a virus.  My mistake was I copied the directory from an install
in another server, including the old edbConfig.*.  Starting fresh from a new
edbsrvr, then later adding the encryption in the INI file solved the
problem.

Thanks,
George


"J.B. Ferguson" <jnobspamfergnospamusonatgnospammaildotcom> wrote in message
news:2D492A2A-20A2-49D1-AD69-236D9BE3A65D@news.elevatesoft.com...
> George,
>
> I'm certainly not an expert on this but when I ran a Google search,
> everything pointed to possible viruses (virii?) and/or Trojans. I've
> provided two links below. I hope that points you in the right direction.
>
> http://support.microsoft.com/kb/259279
>
> http://ezinearticles.com/?What-to-Do-When-You-Encounter-Runtime-Error-21
> 6&id=1771501
>
> --
> Jan
>
>
> Joselito Real wrote:
>
>> I am moving our EDBServer from Windows 2003 Server x32 to Windows 2008
>> Server x64, and copied parallel directory, i.e. from c:\edb in
>> Win2003 to c:\edb in Win2008.  Now when I start edbsrvr (normal
>> application, version 2.03 bld 13) in Windows 2008, I get the message:
>> Runtime error 216 at 02B2390E.
>>
>> Any hint on how to fix the Runtime error 216?

Wed, May 5 2010 5:40 PMPermanent Link

Tim Young [Elevate Software]

Elevate Software, Inc.

Avatar

Email timyoung@elevatesoft.com

George,

<< I am moving our EDBServer from Windows 2003 Server x32 to Windows 2008
Server x64, and copied parallel directory, i.e. from c:\edb in Win2003 to
c:\edb in Win2008.  Now when I start edbsrvr (normal application, version
2.03 bld 13) in Windows 2008, I get the message: Runtime error 216 at
02B2390E. >>

I see that you found the problem, but it shouldn't cause a 216 runtime
error, so I'll check it out to see what the issue is.

Did you customize the ElevateDB Server project at all ?

--
Tim Young
Elevate Software
www.elevatesoft.com
Wed, May 5 2010 7:15 PMPermanent Link

Jan Ferguson

Data Software Solutions, Inc.

Team Elevate Team Elevate

George,

That's good to know. I couldn't find anything else on it anywhere so I
provided those links for you. Sure am glad it wasn't a virus.

--
Jan


G Patena wrote:

> It was not a virus.  My mistake was I copied the directory from an
> install in another server, including the old edbConfig.*.  Starting
> fresh from a new edbsrvr, then later adding the encryption in the INI
> file solved the problem.
Thu, May 6 2010 7:17 PMPermanent Link

George

Tim / Jan,

I originally thought the problem was the directory by directory copy from
Windows 2003 to Windows 2008.  Now that I have started rebuilding the
tables, I found out the real culprit is an external module (dll) that I
made.  It works in Windows 2003 Server OS, and fails at the Windows 2008
Server.  The external module includes a call to CREATEPROCESS in Windows and
I think this is what is causing the Runtime 216.  If I start the server
without my external module in Windows 2008, the server runs fine, when I
include the external module, the Runtime 216 error comes up.

Any suggestions on the call to "CreateProcess" in Windows 2008 Server?

Thanks,
George

"Tim Young [Elevate Software]" <timyoung@elevatesoft.com> wrote in message
news:C5EE6DB8-47FE-4C03-AC1C-9BD9093FC5E1@news.elevatesoft.com...
> George,
>
> << I am moving our EDBServer from Windows 2003 Server x32 to Windows 2008
> Server x64, and copied parallel directory, i.e. from c:\edb in Win2003 to
> c:\edb in Win2008.  Now when I start edbsrvr (normal application, version
> 2.03 bld 13) in Windows 2008, I get the message: Runtime error 216 at
> 02B2390E. >>
>
> I see that you found the problem, but it shouldn't cause a 216 runtime
> error, so I'll check it out to see what the issue is.
>
> Did you customize the ElevateDB Server project at all ?
>
> --
> Tim Young
> Elevate Software
> www.elevatesoft.com
>

Thu, May 6 2010 8:19 PMPermanent Link

George

RE::
> The external module includes a call to CREATEPROCESS in Windows and I
> think this is what is causing the Runtime 216.  If I start the server
> without my external module in Windows 2008, the server runs fine, when I
> include the external module, the Runtime 216 error comes up.

It is not the CreateProcess that was causing it, it was the whole External
Module.  When I commented the CreateProcess portion on my source code for
the External Module, the external dll is still causing Runtime Error 216 on
Windows 2008.  This runs OK in Windows 2003.


Thanks,
George
Elevatedb 2.03 Bld 13
Windows 2008 Server


Fri, May 7 2010 1:47 PMPermanent Link

Tim Young [Elevate Software]

Elevate Software, Inc.

Avatar

Email timyoung@elevatesoft.com

George,

<< It is not the CreateProcess that was causing it, it was the whole
External Module.  When I commented the CreateProcess portion on my source
code for the External Module, the external dll is still causing Runtime
Error 216 on Windows 2008.  This runs OK in Windows 2003. >>

What version of Delphi did you use to compile the external module ?  It
sounds like DEP (Data Execution Prevention) processor protections, which
doesn't like the way that Delphi deals with locales in certain versions of
the RTL.

--
Tim Young
Elevate Software
www.elevatesoft.com
Fri, May 7 2010 3:00 PMPermanent Link

George

> What version of Delphi did you use to compile the external module ?  It
> sounds like DEP (Data Execution Prevention) processor protections, which
> doesn't like the way that Delphi deals with locales in certain versions of
> the RTL.
>

Tim,

Thanks a lot for mentioning DEP.  I have DEP off for my applications in the
previous server and forgot about it in the 2008 Server !!!  -- and I have
been barking on wrong trees all the while !!!

Edbsrvr runs initially with DEP ON, but as soon as I added my external dll
modules, the 216 Error comes.  When I turned off DEP for my external
modules, the EDB Server loads OK!

ElevateDB server  now runs fast with our Windows 2008 Server 64bit together
with ElevateDB external modules created from Windows XP 32bit and Delphi 7.

Thanks Tim, I can take my weekend easy,
George

Mon, May 10 2010 1:20 PMPermanent Link

Tim Young [Elevate Software]

Elevate Software, Inc.

Avatar

Email timyoung@elevatesoft.com

George,

<< Thanks a lot for mentioning DEP.  I have DEP off for my applications in
the previous server and forgot about it in the 2008 Server !!!  -- and I
have been barking on wrong trees all the while !!!

Edbsrvr runs initially with DEP ON, but as soon as I added my external dll
modules, the 216 Error comes.  When I turned off DEP for my external
modules, the EDB Server loads OK!

ElevateDB server  now runs fast with our Windows 2008 Server 64bit together
with ElevateDB external modules created from Windows XP 32bit and Delphi 7.
>>

Just in case you want to know the cause of the DEP issue, it is caused by
the way the locales are populated.   In SysUtils.pas:

constructor TLanguages.Create;
type
 TCallbackThunk = packed record
   POPEDX: Byte;
   MOVEAX: Byte;
   SelfPtr: Pointer;
   PUSHEAX: Byte;
   PUSHEDX: Byte;
   JMP: Byte;
   JmpOffset: Integer;
 end;
var
 Callback: TCallbackThunk;
begin
 inherited Create;
 Callback.POPEDX := $5A;
 Callback.MOVEAX := $B8;
 Callback.SelfPtr := Self;
 Callback.PUSHEAX := $50;
 Callback.PUSHEDX := $52;
 Callback.JMP     := $E9;
 Callback.JmpOffset := Integer(@TLanguages.LocalesCallback) -
Integer(@Callback.JMP) - 5;
 EnumSystemLocales(TFNLocaleEnumProc(@Callback), LCID_SUPPORTED);
end;

It's the way that they're doing the callback that DEP doesn't like because
they're treating code as data.

Unfortunately, to work around it you have to use your own locale population
code, etc.

--
Tim Young
Elevate Software
www.elevatesoft.com
Page 1 of 2Next Page »
Jump to Page:  1 2
Image