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

Classic process crashes when client disconnected [CORE5863] #2204

Closed
firebird-automations opened this issue Jul 1, 2018 · 5 comments
Closed

Comments

@firebird-automations
Copy link
Collaborator

Submitted by: @hvlad

The Classic process crashes few times on our test machine. All crash dumps shows the same:

 000000000072f8b0\(\)    Unknown

> firebird.exe!SRVR_multi_thread(0x000007fe00000001, 55200) Line 1730 C++
firebird.exe!WinMain(0x0000000000463d4f, 0x0000000000000000, 0x0000000000000000, 0) Line 295 C++
firebird.exe!__tmainCRTStartup() Line 547 C
kernel32.dll!BaseThreadInitThunk() Unknown
ntdll.dll!RtlUserThreadStart() Unknown

The crash happens at the very end of SRVR_multi_thread:

1720: }
1721: catch (const Exception&)
1722: {
1723: // Some kind of unhandled error occurred during server setup. In lieu
1724: // of anything we CAN do, log something (and we might be so hosed
1725: // we can't log anything) and give up.
1726: // The likely error here is out-of-memory.
1727: gds__log("SRVR_multi_thread: error during startup, shutting down");
1728: }
1729: --cntServers;
0000000140030389 or rax,0FFFFFFFFFFFFFFFFh
000000014003038D lock xadd qword ptr [cntServers (01400C7590h)],rax
1730: }
0000000140030396 mov rcx,qword ptr [mainPortRef]
000000014003039E test rcx,rcx
00000001400303A1 je SRVR_multi_thread+68Ah (01400303AAh)
00000001400303A3 mov rax,qword ptr [rcx]
00000001400303A6 call qword ptr [rax+8] <<<<<<<<<< HERE
00000001400303A9 nop

mainPortRef contains pointer to the already released port instance with reference count of zero.

Commits: ca0c282 bdb7942 772572a

@firebird-automations
Copy link
Collaborator Author

Modified by: @hvlad

assignee: Vlad Khorsun [ hvlad ]

@firebird-automations
Copy link
Collaborator Author

Modified by: @hvlad

description: The Classic process crashes few times on our test machine. All crash dumps shows the same:

 000000000072f8b0\(\)    Unknown

> firebird.exe!SRVR_multi_thread(0x000007fe00000001, 55200) Line 1730 C++
firebird.exe!WinMain(0x0000000000463d4f, 0x0000000000000000, 0x0000000000000000, 0) Line 295 C++
firebird.exe!__tmainCRTStartup() Line 547 C
kernel32.dll!BaseThreadInitThunk() Unknown
ntdll.dll!RtlUserThreadStart() Unknown

The crach happens at the very end of SRVR_multi_thread:

1720: }
1721: catch (const Exception&)
1722: {
1723: // Some kind of unhandled error occurred during server setup. In lieu
1724: // of anything we CAN do, log something (and we might be so hosed
1725: // we can't log anything) and give up.
1726: // The likely error here is out-of-memory.
1727: gds__log("SRVR_multi_thread: error during startup, shutting down");
1728: }
1729: --cntServers;
0000000140030389 or rax,0FFFFFFFFFFFFFFFFh
000000014003038D lock xadd qword ptr [cntServers (01400C7590h)],rax
1730: }
0000000140030396 mov rcx,qword ptr [mainPortRef]
000000014003039E test rcx,rcx
00000001400303A1 je SRVR_multi_thread+68Ah (01400303AAh)
00000001400303A3 mov rax,qword ptr [rcx]
00000001400303A6 call qword ptr [rax+8] <<<<<<<<<< HERE
00000001400303A9 nop

mainPortRef contains pointer to the already released port instance with reference count of zero.

=>

The Classic process crashes few times on our test machine. All crash dumps shows the same:

 000000000072f8b0\(\)    Unknown

> firebird.exe!SRVR_multi_thread(0x000007fe00000001, 55200) Line 1730 C++
firebird.exe!WinMain(0x0000000000463d4f, 0x0000000000000000, 0x0000000000000000, 0) Line 295 C++
firebird.exe!__tmainCRTStartup() Line 547 C
kernel32.dll!BaseThreadInitThunk() Unknown
ntdll.dll!RtlUserThreadStart() Unknown

The crash happens at the very end of SRVR_multi_thread:

1720: }
1721: catch (const Exception&)
1722: {
1723: // Some kind of unhandled error occurred during server setup. In lieu
1724: // of anything we CAN do, log something (and we might be so hosed
1725: // we can't log anything) and give up.
1726: // The likely error here is out-of-memory.
1727: gds__log("SRVR_multi_thread: error during startup, shutting down");
1728: }
1729: --cntServers;
0000000140030389 or rax,0FFFFFFFFFFFFFFFFh
000000014003038D lock xadd qword ptr [cntServers (01400C7590h)],rax
1730: }
0000000140030396 mov rcx,qword ptr [mainPortRef]
000000014003039E test rcx,rcx
00000001400303A1 je SRVR_multi_thread+68Ah (01400303AAh)
00000001400303A3 mov rax,qword ptr [rcx]
00000001400303A6 call qword ptr [rax+8] <<<<<<<<<< HERE
00000001400303A9 nop

mainPortRef contains pointer to the already released port instance with reference count of zero.

@firebird-automations
Copy link
Collaborator Author

Modified by: @hvlad

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

resolution: Fixed [ 1 ]

Fix Version: 4.0 Beta 1 [ 10750 ]

Fix Version: 3.0.4 [ 10863 ]

@firebird-automations
Copy link
Collaborator Author

Modified by: @pavel-zotov

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

QA Status: No test => Cannot be tested

@firebird-automations
Copy link
Collaborator Author

Modified by: @pavel-zotov

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

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