Issue Details (XML | Word | Printable)

Key: CORE-974
Type: Bug Bug
Status: Open Open
Priority: Major Major
Assignee: Unassigned
Reporter: Anders Larsen
Votes: 0
Watchers: 1
Operations

If you were logged in you would be able to see more operations.
Firebird Core

isc_dsql_allocate_statement and isc_start_transaction crash when server doesn't exist anymore

Created: 24/Oct/06 08:36 AM   Updated: 24/Oct/06 08:36 AM
Component/s: API / Client Library
Affects Version/s: 2.0 RC5
Fix Version/s: None

Environment: Linux/gcc, openSuSE 10.1, i386


 Description  « Hide
When I shut down my server while my application is running, calls to isc_dsql_allocate_statement or isc_start_transaction crash (see backtrace below). I gdb'ed through isql and saw that isc_dsql_prepare returns a propper error instead. Could the functions mentioned above handle server disconnects more gracefully?

Program received signal SIGPIPE, Broken pipe.
[Switching to Thread -1224230720 (LWP 27610)]
0xffffe410 in __kernel_vsyscall ()
Current language: auto; currently c
(gdb) bt
#0 0xffffe410 in __kernel_vsyscall ()
#1 0xb72d8781 in send () from /lib/libpthread.so.0
#2 0xb6bfd013 in packet_send (port=0x81dad1c, buffer=0x81dcdf4 "", buffer_length=8)
    at /home/harald/src/firebird/firebird2/src/remote/inet.cpp:3651
#3 0xb6bfcc85 in inet_write (xdrs=0x81dadac, end_flag=1)
    at /home/harald/src/firebird/firebird2/src/remote/inet.cpp:3343
#4 0xb6bfc22e in xdrinet_endofrecord (xdrs=0x81dadac, flushnow=1)
    at /home/harald/src/firebird/firebird2/src/remote/inet.cpp:2834
#5 0xb6bfc162 in send_full (port=0x81dad1c, packet=0x81d9d74)
    at /home/harald/src/firebird/firebird2/src/remote/inet.cpp:2763
#6 0xb6b17f1b in port::send (this=0x81dad1c, pckt=0x81d9d74)
    at /home/harald/src/firebird/firebird2/src/remote/remote.cpp:817
#7 0xb6b16403 in send_packet (port=0x81dad1c, packet=0x81d9d74, user_status=0x8108618)
    at /home/harald/src/firebird/firebird2/src/remote/interface.cpp:6999
#8 0xb6b16188 in send_and_receive (rdb=0x81d9d50, packet=0x81d9d74, user_status=0x8108618)
    at /home/harald/src/firebird/firebird2/src/remote/interface.cpp:6846
#9 0xb6b0d6f5 in REM_allocate_statement (user_status=0x8108618, db_handle=0x81d9af4,
    stmt_handle=0x8108670) at /home/harald/src/firebird/firebird2/src/remote/interface.cpp:1281
#10 0xb6a7e997 in isc_dsql_allocate_statement (user_status=0x8108618, db_handle=0x8108674,
    stmt_handle=0x8108670) at /home/harald/src/firebird/firebird2/src/jrd/why.cpp:1911
#11 0xb6a7e88b in isc_dsql_alloc_statement2 (user_status=0x8108618, db_handle=0x8108674,
    stmt_handle=0x8108670) at /home/harald/src/firebird/firebird2/src/jrd/why.cpp:1867

 All   Comments   Change History   Subversion Commits      Sort Order: Ascending order - Click to sort in descending order
There are no comments yet on this issue.