[Firebird-devel] Building Firebird 2.5 on Windows

2019-03-19 Thread Bastian Seeleib - Ölmühle Solling
Hello,

I'm trying to build Firebird 2.5 with msvc14 (Visual Studio 2015, Version 
14.0.25420.1) but I'm running into issues.
I don't know if this is the correct Mailing-List to ask this question, 
hopefully you can help me (-:

I have the Prerequisites (Visual Studio and sed) installed. make_icu.bat works 
without problems, but running make_boot.bat throws errors with btyacc and 
missing lib files.

firebird\gen\x64\btyacc: 11 shift/reduce conflicts, 5 reduce/reduce conflicts.
YYTABLESIZE: 71249
Building BLR Table
A compiler error occurred.

5>LINK : fatal error LNK1181: cannot open input file 
'C:\Users\bseeleib\Desktop\firebird\temp\x64\Release\dsql_server_classic\dsql_server_classic.lib'

Do I need to Build Firebird 2.5 with an older Version of msvc?

Thanks in advance!

Best regards

Bastian Seeleib
Firebird-Devel mailing list, web interface at 
https://lists.sourceforge.net/lists/listinfo/firebird-devel


Re: [Firebird-devel] Core-5658 tested

2019-03-19 Thread Vlad Khorsun

09.03.2019 12:01, Omacht András wrote:

Hi All!

I’m unable  to add comment tot he tracker, 



  Hmm... it is strange, you should be able to comment at tracker...


so I send it:

http://tracker.firebirdsql.org/browse/CORE-5658

Hi Vlad!

We tested it and works well.


  Thanks for testing.


Is it possible to backport it to 3.0 (and 2.5)?


  Technically - yes, it is possible. But it adds new BLR code and i'm not sure 
we
want to do it at maintenance releases.

Regards,
Vlad



Firebird-Devel mailing list, web interface at 
https://lists.sourceforge.net/lists/listinfo/firebird-devel


Re: [Firebird-devel] Building Firebird 2.5 on Windows

2019-03-19 Thread Vlad Khorsun

19.03.2019 12:26, Bastian Seeleib - Ölmühle Solling wrote:

Hello,

I’m trying to build Firebird 2.5 with msvc14 (Visual Studio 2015, Version 
14.0.25420.1) but I’m running into issues.
I don’t know if this is the correct Mailing-List to ask this question, 
hopefully you can help me (-:

I have the Prerequisites (Visual Studio and sed) installed. make_icu.bat works without problems, but running make_boot.bat throws 
errors with btyacc and missing lib files.


firebird\gen\x64\btyacc: 11 shift/reduce conflicts, 5 reduce/reduce conflicts.

YYTABLESIZE: 71249

Building BLR Table

A compiler error occurred.


  I remember there was reports about compiler errors by VC14 when compiling 
fb2.5 code.

5>LINK : fatal error LNK1181: cannot open input file 
'C:\Users\bseeleib\Desktop\firebird\temp\x64\Release\dsql_server_classic\dsql_server_classic.lib'


Do I need to Build Firebird 2.5 with an older Version of msvc?


  The best (and only guarantee) is to use "official" compiler. For fb25 on 
Windows  it is VC8 (VS2005).
Must add that I built recently fb2.5 using fresh VC15 (VS 2017) Community 
Edition with no problem.

Regards,
Vlad


Firebird-Devel mailing list, web interface at 
https://lists.sourceforge.net/lists/listinfo/firebird-devel


Re: [Firebird-devel] Building Firebird 2.5 on Windows

2019-03-19 Thread Paul Reeves
On Tue, 19 Mar 2019 15:33:23 +0200
Vlad Khorsun  wrote:

> 
>The best (and only guarantee) is to use "official" compiler. For
> fb25 on Windows  it is VC8 (VS2005). 

Actually, it is MSVC10 :-) 

MSVC8 was for 2.1, if I recall correctly.


Paul
-- 

Paul Reeves
http://www.ibphoenix.com
Supporting users of Firebird
 


Firebird-Devel mailing list, web interface at 
https://lists.sourceforge.net/lists/listinfo/firebird-devel


Re: [Firebird-devel] Core-5658 tested

2019-03-19 Thread Omacht András
Hi!

I tried to comment again, and now I succeeded.

I can accept that backport is not feasible.

Thank you for your development!

András

-Original Message-
From: Vlad Khorsun  
Sent: Tuesday, March 19, 2019 2:28 PM
To: firebird-devel@lists.sourceforge.net
Subject: Re: [Firebird-devel] Core-5658 tested

09.03.2019 12:01, Omacht András wrote:
> Hi All!
> 
> I’m unable  to add comment tot he tracker, 


   Hmm... it is strange, you should be able to comment at tracker...

> so I send it:
> 
> http://tracker.firebirdsql.org/browse/CORE-5658
> 
> Hi Vlad!
> 
> We tested it and works well.

   Thanks for testing.

> Is it possible to backport it to 3.0 (and 2.5)?

   Technically - yes, it is possible. But it adds new BLR code and i'm not sure 
we
want to do it at maintenance releases.

Regards,
Vlad



Firebird-Devel mailing list, web interface at 
https://lists.sourceforge.net/lists/listinfo/firebird-devel

Firebird-Devel mailing list, web interface at 
https://lists.sourceforge.net/lists/listinfo/firebird-devel


Re: [Firebird-devel] Building Firebird 2.5 on Windows

2019-03-19 Thread Bastian Seeleib - Ölmühle Solling
Thanks Paul & Vlad! 
I'll try msvc10 first.

-Ursprüngliche Nachricht-
Von: Paul Reeves  
Gesendet: Dienstag, 19. März 2019 14:48
An: firebird-devel@lists.sourceforge.net
Betreff: Re: [Firebird-devel] Building Firebird 2.5 on Windows

On Tue, 19 Mar 2019 15:33:23 +0200
Vlad Khorsun  wrote:

> 
>The best (and only guarantee) is to use "official" compiler. For
> fb25 on Windows  it is VC8 (VS2005). 

Actually, it is MSVC10 :-) 

MSVC8 was for 2.1, if I recall correctly.


Paul
-- 

Paul Reeves
http://www.ibphoenix.com
Supporting users of Firebird
 


Firebird-Devel mailing list, web interface at 
https://lists.sourceforge.net/lists/listinfo/firebird-devel


Firebird-Devel mailing list, web interface at 
https://lists.sourceforge.net/lists/listinfo/firebird-devel


Re: [Firebird-devel] Building Firebird 2.5 on Windows

2019-03-19 Thread Vlad Khorsun

19.03.2019 15:48, Paul Reeves wrote:

On Tue, 19 Mar 2019 15:33:23 +0200
Vlad Khorsun  wrote:



The best (and only guarantee) is to use "official" compiler. For
fb25 on Windows  it is VC8 (VS2005).


Actually, it is MSVC10 :-)


  VC10 is used for fb3


MSVC8 was for 2.1, if I recall correctly.


  VC8 for 2.1 and 2.5

Regards,
Vlad


Firebird-Devel mailing list, web interface at 
https://lists.sourceforge.net/lists/listinfo/firebird-devel


Re: [Firebird-devel] Building Firebird 2.5 on Windows

2019-03-19 Thread Paul Reeves
On Tue, 19 Mar 2019 16:36:25 +0200
Vlad Khorsun  wrote:

> 19.03.2019 15:48, Paul Reeves wrote:
> > On Tue, 19 Mar 2019 15:33:23 +0200
> > Vlad Khorsun  wrote:  
> > >>  
> >> The best (and only guarantee) is to use "official" compiler.
> >> For fb25 on Windows  it is VC8 (VS2005).
> > > Actually, it is MSVC10 :-)  
> 
>VC10 is used for fb3
> 
> > MSVC8 was for 2.1, if I recall correctly.  
> 
>VC8 for 2.1 and 2.5
> 

Yes, you are correct. 
VC8 just seems to be from such a long time ago. 

In fact it is from a long time ago - I just checked and the files are
dated 23 September 2005.

Apologies to Bastian too.


Paul
-- 

Paul Reeves
http://www.ibphoenix.com
Supporting users of Firebird
 


Firebird-Devel mailing list, web interface at 
https://lists.sourceforge.net/lists/listinfo/firebird-devel


[Firebird-devel] [FB-Tracker] Created: (CORE-6027) Server hang on new attachment right after trace session stop

2019-03-19 Thread Artyom Smirnov (JIRA)
Server hang on new attachment right after trace session stop


 Key: CORE-6027
 URL: http://tracker.firebirdsql.org/browse/CORE-6027
 Project: Firebird Core
  Issue Type: Bug
  Components: TRACEMGR
Affects Versions: 3.0.4
 Environment: Linux x86_64
Reporter: Artyom Smirnov


Test script 
(https://gist.github.com/artyom-smirnov/076879ff9edff7f2b58147eb5665f0ed):
#!/bin/bash

DB_PATH=/tmp/testdb.fdb
DB=localhost:$DB_PATH
ISQL="/opt/firebird/bin/isql -q -u SYSDBA -p masterkey"

cat << EOF > /tmp/fbtrace_custom.conf
database
{
enabled = true
format = 0
log_connections = true
log_statement_start =true
}
EOF

cat << EOF > /tmp/createdb.sql
create database '$DB';
EOF

cat << EOF > /tmp/q.sql
connect '$DB';
exit 0;
EOF

rm -f $DB_PATH

$ISQL -i /tmp/createdb.sql

while true; do
/opt/firebird/bin/fbtracemgr -se service_mgr -user SYSDBA -password 
masterkey -start -c /tmp/fbtrace_custom.conf &
rdbtracemgr_pid=$!
sleep 1
kill -TERM $rdbtracemgr_pid
$ISQL -i /tmp/q.sql
done


Run as:
sudo -u firebird ./test.sh

Result will be like this and then server will hang:

Trace session ID 1 started
Trace session ID 2 started
Trace session ID 3 started
Trace session ID 4 started
Trace session ID 5 started
Trace session ID 6 started
Trace session ID 7 started
Trace session ID 8 started
Trace session ID 9 started
Trace session ID 10 started
Trace session ID 11 started
Trace session ID 12 started
Trace session ID 13 started
Trace session ID 14 started
Trace session ID 15 started
Trace session ID 16 started
./test.sh: line 41:  5872 Segmentation fault  (core dumped) 
/opt/firebird/bin/fbtracemgr -se service_mgr -user SYSDBA -password masterkey 
-start -c /tmp/fbtrace_custom.conf
Trace session ID 17 started
Trace session ID 18 started
./test.sh: line 41:  5903 Segmentation fault  (core dumped) 
/opt/firebird/bin/fbtracemgr -se service_mgr -user SYSDBA -password masterkey 
-start -c /tmp/fbtrace_custom.conf
Trace session ID 19 started
I/O error during "lseek" operation for file "/tmp/firebird/fb_trace_ggAtlF"
-Error while trying to read from file
-Bad file descriptor
Trace session ID 21 started
I/O error during "lseek" operation for file "/tmp/firebird/fb_trace_ggAtlF"
-Error while trying to read from file
-Bad file descriptor
Trace session ID 23 started
I/O error during "lseek" operation for file "/tmp/firebird/fb_trace_ggAtlF"
-Error while trying to read from file
-Bad file descriptor
I/O error during "lseek" operation for file "/tmp/firebird/fb_trace_ggAtlF"
-Error while trying to read from file
-Bad file descriptor
I/O error during "lseek" operation for file "/tmp/firebird/fb_trace_ggAtlF"
-Error while trying to read from file
-Bad file descriptor
I/O error during "lseek" operation for file "/tmp/firebird/fb_trace_ggAtlF"
-Error while trying to read from file
-Bad file descriptor
I/O error during "lseek" operation for file "/tmp/firebird/fb_trace_ggAtlF"
-Error while trying to read from file
-Bad file descriptor
I/O error during "lseek" operation for file "/tmp/firebird/fb_trace_ggAtlF"
-Error while trying to read from file
-Bad file descriptor
I/O error during "lseek" operation for file "/tmp/firebird/fb_trace_ggAtlF"
-Error while trying to read from file
-Bad file descriptor
Trace session ID 31 started

Backtrace of hanged server:

#0  __pthread_mutex_lock_full (mutex=0x7f8ddf3b6010) at 
../nptl/pthread_mutex_lock.c:313
#1  0x7f8ddc25e315 in Firebird::SharedMemoryBase::mutexLock 
(this=0x7f8ddbdd3bc0) at /usr/home/firebird/3.0.4/src/common/isc_sync.cpp:3437
#2  0x7f8ddc1c12d0 in Jrd::ConfigStorage::acquire 
(this=this@entry=0x7f8ddb8a7230)
at /usr/home/firebird/3.0.4/src/jrd/trace/TraceConfigStorage.cpp:308
#3  0x7f8ddc1c8215 in Jrd::StorageGuard::StorageGuard 
(storage=0x7f8ddb8a7230, this=)
at 
/usr/home/firebird/3.0.4/src/jrd/trace/../../jrd/trace/../../jrd/trace/TraceConfigStorage.h:172
#4  Jrd::TraceManager::update_sessions (this=this@entry=0x7f8ddb4c0070) at 
/usr/home/firebird/3.0.4/src/jrd/trace/TraceManager.cpp:184
#5  0x7f8ddbf92ecb in Jrd::TraceManager::needs (this=0x7f8ddb4c0070, e=0) 
at /usr/home/firebird/3.0.4/src/jrd/../jrd/trace/TraceManager.h:125
#6  0x7f8ddbf85a1a in Jrd::JProvider::internalAttach (this=, 
user_status=0x7f8dd9391590, 
filename=0x7f8dd939172c "/opt/firebird/security3.fdb", 
dpb_length=, dpb=, existingId=0x0)
at /usr/home/firebird/3.0.4/src/jrd/jrd.cpp:1874
#7  0x7f8ddbe82e58 in Firebird::IProviderBaseImpl > > > > > 
>::cloopattachDatabaseDispatcher(Firebird::IProvider*, Firebird::IStatus*, char 
const*, unsigned int, unsigned char const*) () from 
/opt/firebird/plugins/libEngine12.so
#8  0x7f8ddf469df6 in 
Firebird::IProvider::attachDatabase 
(dpb=0x7f8dd93917a8 "\001M", dpbLength=34, 
fileName=0x7f8dd939172c "/opt/firebird/se

Re: [Firebird-devel] Building Firebird 2.5 on Windows

2019-03-19 Thread Bastian Seeleib - Ölmühle Solling
Ok, thanks! But it actually worked now using msvc 10!

-Ursprüngliche Nachricht-
Von: Paul Reeves  
Gesendet: Dienstag, 19. März 2019 15:57
An: firebird-devel@lists.sourceforge.net
Betreff: Re: [Firebird-devel] Building Firebird 2.5 on Windows

On Tue, 19 Mar 2019 16:36:25 +0200
Vlad Khorsun  wrote:

> 19.03.2019 15:48, Paul Reeves wrote:
> > On Tue, 19 Mar 2019 15:33:23 +0200
> > Vlad Khorsun  wrote:  
> > >>  
> >> The best (and only guarantee) is to use "official" compiler.
> >> For fb25 on Windows  it is VC8 (VS2005).
> > > Actually, it is MSVC10 :-)
> 
>VC10 is used for fb3
> 
> > MSVC8 was for 2.1, if I recall correctly.  
> 
>VC8 for 2.1 and 2.5
> 

Yes, you are correct. 
VC8 just seems to be from such a long time ago. 

In fact it is from a long time ago - I just checked and the files are dated 23 
September 2005.

Apologies to Bastian too.


Paul
-- 

Paul Reeves
http://www.ibphoenix.com
Supporting users of Firebird
 


Firebird-Devel mailing list, web interface at 
https://lists.sourceforge.net/lists/listinfo/firebird-devel


Firebird-Devel mailing list, web interface at 
https://lists.sourceforge.net/lists/listinfo/firebird-devel


Re: [Firebird-devel] Max lock slots for Classic Server v2.5 x64?

2019-03-19 Thread Leyne, Sean



> > There is very little documentation available on the Classic lock
> > manager related settings, which is why I ask the question in this forum.
> > Interested in v2. 5 limitations, but details/differences for other
> > versions would be appreciated.
> 
> I assume you mean hash table slots:
> 
> const SLONG HASH_MAX_SLOTS = 65521;

That was what I was looking for?

Is there any reason why for x64 builds that number could not be increased?

We are facing a situation at our largest install where the lock print results 
are showing Mutex wait % of 34.

Was wondering if increasing the number of slots would reduce the wait %.

The lock print results are:

LOCK_HEADER BLOCK
Version: 145, Active owner:  0, Length: 50331648, Used: 37221720
Flags: 0x0001
Enqs: 1533920191, Converts: 16196704, Rejects: 2691693, Blocks: 41288728
Deadlock scans:511, Deadlocks:  0, Scan interval:  10
Acquires: 2133945841, Acquire blocks: 730378904, Spin count:   0
Mutex wait: 34.2%
Hash slots: 62989, Hash lengths (min/avg/max):0/   0/   6
Remove node:  0, Insert queue:  0, Insert prior:  0
Owners (263):   forward: 516680, backward: 7557912
Free owners (462):  forward: 25406352, backward: 23232448
Free locks (31805): forward: 12342808, backward: 3613624
Free requests (344561): forward: 13926664, backward: 26670520
Lock Ordering: Enabled



Firebird-Devel mailing list, web interface at 
https://lists.sourceforge.net/lists/listinfo/firebird-devel


Re: [Firebird-devel] Max lock slots for Classic Server v2.5 x64?

2019-03-19 Thread Dimitry Sibiryakov

19.03.2019 17:03, Leyne, Sean wrote:

Was wondering if increasing the number of slots would reduce the wait %.


  No. It will only reduce "Hash lengths (min/avg/max)" which are already fine 
in your case.


--
  WBR, SD.


Firebird-Devel mailing list, web interface at 
https://lists.sourceforge.net/lists/listinfo/firebird-devel


Re: [Firebird-devel] Max lock slots for Classic Server v2.5 x64?

2019-03-19 Thread Paul Reeves
On Tue, 19 Mar 2019 16:03:21 +
"Leyne, Sean"  wrote:

> > > There is very little documentation available on the Classic lock
> > > manager related settings, which is why I ask the question in this
> > > forum. Interested in v2. 5 limitations, but details/differences
> > > for other versions would be appreciated.  
> > 
> > I assume you mean hash table slots:
> > 
> > const SLONG HASH_MAX_SLOTS = 65521;  
> 
> That was what I was looking for?
> 
> Is there any reason why for x64 builds that number could not be
> increased?
> 


As I understand it, a high number of slots will reduce the queue
lengths at the cost of checking a lot of empty slots. Like everything
else, there is a sweet spot.

In your case the queues are typically empty so you could reduce the
number substantially and still see an improvement in performance.  

I did some tests a while back which showed that hash slots greater than
around 8000 actually decreased performance. But that was with the tpc-c
benchmark. 

The results were consistent across architectures, with 1009 being
slightly behind 31991, which itself was behind 16001. But in all cases
8009 was the winner. I didn't go deeper - it may be that the real sweet
spot is between, say, 6,000 and 12,000, but again, it may also be
database/application specific. But I would start with 8009 and maybe go
upward slowly, rather than jumping to around 64K.



Paul
-- 

Paul Reeves
http://www.ibphoenix.com
Supporting users of Firebird
 


Firebird-Devel mailing list, web interface at 
https://lists.sourceforge.net/lists/listinfo/firebird-devel


Re: [Firebird-devel] Max lock slots for Classic Server v2.5 x64?

2019-03-19 Thread Leyne, Sean
Paul,

> -Original Message-
> From: Paul Reeves 
> Sent: Tuesday, March 19, 2019 12:50 PM
> On Tue, 19 Mar 2019 16:03:21 +
> "Leyne, Sean"  wrote:
> 
> > > > There is very little documentation available on the Classic lock
> > > > manager related settings, which is why I ask the question in this
> > > > forum. Interested in v2. 5 limitations, but details/differences
> > > > for other versions would be appreciated.
> > >
> > > I assume you mean hash table slots:
> > >
> > > const SLONG HASH_MAX_SLOTS = 65521;
> >
> > That was what I was looking for?
> >
> > Is there any reason why for x64 builds that number could not be
> > increased?
> >
> 
> 
> As I understand it, a high number of slots will reduce the queue lengths at 
> the
> cost of checking a lot of empty slots.

But if the slot is empty, then there are no other connections working on the 
slot, so no contention.  No?

A given page would 'hash' to a single slot, no?

Further, when the lock manager needs to check for a lock, the fact that the 
slot is empty means nothing for performance, no?


> I did some tests a while back which showed that hash slots greater than
> around 8000 actually decreased performance. But that was with the tpc-c
> benchmark.

But that seems counter-intuitive... using more slots means that the locks are 
being spread out into a larger number of buckets -- providing for less 
"collisions".





Firebird-Devel mailing list, web interface at 
https://lists.sourceforge.net/lists/listinfo/firebird-devel