[bug_fixed] AV error using any Mysql embdded server protocol

In this forum all bug reports concerning the 6.x branch will be gahtered. You have the possibility to track the bug fix process.

Moderators: EgonHugeist, mdaems

Post Reply
User avatar
fduenas
Zeos Dev Team
Zeos Dev Team
Posts: 132
Joined: 26.08.2005, 08:12
Location: Cancún

[bug_fixed] AV error using any Mysql embdded server protocol

Post by fduenas »

Hi does any have tried to use the mysql embdded protocol that is now included in zeos, i have tried to work with it but i could not have any success. it trhows an "access violation error in libmyd41.dll" or access violation error in libmysqld50.dll.
Does anyone?
User avatar
mdaems
Zeos Project Manager
Zeos Project Manager
Posts: 2766
Joined: 20.09.2005, 15:28
Location: Brussels, Belgium
Contact:

Post by mdaems »

Hi Fduenas.
Where did you find those libmysqld dll's in ZEOS? I have the impression the libmysqlXX.dll's are not working right. When I use the dll's from my mysql distribution everything works fine!! (just tested)

When I first tried my test prog for embedded server it didn't work because the default datadir has changed from ./ to ./data/ (No AV. Program just disappeared executing mysql_server_init)

Where does your AV occur?

Mark
User avatar
fduenas
Zeos Dev Team
Zeos Dev Team
Posts: 132
Joined: 26.08.2005, 08:12
Location: Cancún

Post by fduenas »

it occurs at the moment it connects.
I have traced the error at ZPlainMySQLdriver

at line 2609

in Function

Code: Select all

function TZMySQL41PlainDriver.SetOptions(Handle: PZMySQLConnect;
  Option: TZMySQLOption; const Arg: PChar): Integer;
begin
  Result := MYSQL_API.mysql_options(Handle,
    ZPlainMySql41.TMySqlOption(Option), Arg);
end;
I have traced the 'Handle' value at seems it is nil at this method:

Code: Select all

function TZMySQLD41PlainDriver.Init(var Handle: PZMySQLConnect): PZMySQLConnect;
begin
  MYSQL_API.mysql_server_init(DEFAULT_PARAMS_COUNT, @DEFAULT_PARAMS, @SERVER_GROUPS);
  Handle := MYSQL_API.mysql_init(nil);
  Result := Handle;
end;
Just for your info 'DEFAULT_PARAMS_COUNT' is a constant i have defined, it has the value '3' but instead of having a value i preferred to have a constant. but the error has come before i have made any modifications.

Even after calling mysql_init the handle stills nil
Also if i test the value that mysql_server_init returns, it is '1' so it seems there is an error from the beginning when calling mysql_server_init.

Can you sedn me my mail your libmysqldXX.dlls? so i can make the tests because it is really strange.

I have make the test with a small application a User from this forum posted a time ago and seems to work, but he is doing the connection manually without using zeos, it only tests mysql_server_init and mysql_server_end; but it seems it really initializes the handle and mysql_server_init returns 0.
Post Reply