Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

create database fault if fbclient.dll loaded from another directory (Providers = Engine12) [CORE4275] #4599

Closed
firebird-automations opened this issue Nov 23, 2013 · 15 comments

Comments

@firebird-automations
Copy link
Collaborator

Submitted by: Nick (nick)

Attachments:
3.0.0.30889.png

error: "Could not find acceptable ICU library"

steps to reproduce:
- unpack snapshot "Firebird-3.0.0.30759-0_Win32 .7z" to folder "D:\App\Firebird\30759\"
- in firebird.conf set Providers = Engine12
- run gsec -add SYSDBA -pw masterkey -admin yes from "D:\App\Firebird\30759\"
- in project code:
a) load fbclient.dll by full path "D:\App\Firebird\30759\fbclient.dll"
b) try create database with charset win1251
- put exe to "D:\App\" and run it
results:
1. error produced: "Could not find acceptable ICU library"
2. invalid database file was created.

But if I copy icu*.dll from "D:\App\Firebird\30759\" to "D:\App\", then all ok.

Commits: e98867c e3b8299 FirebirdSQL/fbt-repository@6d68171 FirebirdSQL/fbt-repository@21fdbdf

@firebird-automations
Copy link
Collaborator Author

Commented by: @asfernandes

How did you loaded fbclient? LoadLibrary? LoadLibraryEx (what parameters)?

Are you using an embedded connection string?

@firebird-automations
Copy link
Collaborator Author

Commented by: Nick (nick)

LoadLibraryExW(PChar('D:\App\Firebird\30759\fbclient.dll'), 0, LOAD_WITH_ALTERED_SEARCH_PATH)
connection string like 'd:\...\data.fdb'.

@firebird-automations
Copy link
Collaborator Author

Modified by: @dyemanov

Version: 3.0 Alpha 2 [ 10560 ] =>

@firebird-automations
Copy link
Collaborator Author

Commented by: Nick (nick)

still produced in last snapshot (3.0.0.30880).

@firebird-automations
Copy link
Collaborator Author

Modified by: Nick (nick)

Version: 3.0 Alpha 2 [ 10560 ]

@firebird-automations
Copy link
Collaborator Author

Commented by: @hvlad

Nick Dee,

try next snapshot build, please

@firebird-automations
Copy link
Collaborator Author

Commented by: Nick (nick)

"Could not find acceptable ICU library"
Now OS dll loader can't find icudt30.dll. But icuuc30.dll is successfully located.

But before this it trying to load icuuc419.dll .. icuuc31.dll, and it trying to find them in all folders in Path. For what reason? I don't ask for this and don't expect such behaviour in production.

see "3.0.0.30889.png"

@firebird-automations
Copy link
Collaborator Author

Modified by: Nick (nick)

Attachment: 3.0.0.30889.png [ 12430 ]

@firebird-automations
Copy link
Collaborator Author

Commented by: @hvlad

Additional patch is committed, try next snapshot build, please.

PS As for attempts to load few different versions of ICU libraries - ask in fb-devel, here it is not correct place for this question, imho.

@firebird-automations
Copy link
Collaborator Author

Commented by: Nick (nick)

Seems ok.

@firebird-automations
Copy link
Collaborator Author

Modified by: @hvlad

assignee: Vlad Khorsun [ hvlad ]

@firebird-automations
Copy link
Collaborator Author

Modified by: @hvlad

status: Open [ 1 ] => Resolved [ 5 ]

resolution: Fixed [ 1 ]

Fix Version: 3.0 Beta 1 [ 10332 ]

@firebird-automations
Copy link
Collaborator Author

Modified by: @pcisar

status: Resolved [ 5 ] => Closed [ 6 ]

@firebird-automations
Copy link
Collaborator Author

Modified by: @pavel-zotov

status: Closed [ 6 ] => Closed [ 6 ]

QA Status: No test

@firebird-automations
Copy link
Collaborator Author

Modified by: @pavel-zotov

status: Closed [ 6 ] => Closed [ 6 ]

QA Status: No test => Cannot be tested

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment