[Firebird-devel] Building Firebird 2.5 on Windows
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
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
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
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
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
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
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
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
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
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?
> > 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?
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?
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?
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