On Wed, Mar 20, 2013 at 08:36:43AM +0400, Dmitry Kovalenko wrote:
> --------------------- [fresh crash]
> > firebird.exe!set_server(rem_port * port=0x00000000, unsigned short flags=56)
>  Строка 5455 + 0x6 байт C++
>   firebird.exe!SRVR_main(rem_port * main_port=0x00000000, unsigned short 
> flags=
> 56)  Строка 1058 + 0xe байт C++
>   firebird.exe!service_connection(rem_port * port=0x00000000)  Строка 537 +
> 0x14 байт C++
>   firebird.exe!process_connection_thread(void * arg=0x00000000)  Строка 370 +
> 0x9 байт C++
>   firebird.exe!`anonymous namespace'::ThreadArgs::run()  Строка 73 + 0x1f байт
> C++
>   firebird.exe!threadStart(void * arg=0x3af533b4)  Строка 89 C++
>   msvcr100d.dll!_callthreadstartex()  Строка 314 + 0xf байт C
>   msvcr100d.dll!_threadstartex(void * ptd=0x056c9408)  Строка 297 C
> 
> --------------------- [firebird .log]
> VXP-FB30 Wed Mar 20 08:20:17 2013
> unable to allocate memory from operating system
> 
> VXP-FB30 Wed Mar 20 08:20:28 2013
> XNET error: Failed to allocate server port for communication
> operating system directive CreateFileMapping at line 2050 failed
> Файл подкачки слишком мал для завершения операции. 

Apparently the problem is that xnet_connect_wait_thread() expects
XNET_connect() to throw an exception upon error but for some errors,
XNET_connect() simply returns NULL.

So the solution is either to check return value for NULL in
xnet_connect_wait_thread() (as inet_connect_wait_thread() does) or throw
exception instead of returning NULL, either in XNET_connect() or as deep
as in connect_server() (in src/remote/os/win32/xnet.cpp). I'm not
familiar with the code enough to decide which option is preferrable.

BtW, the same problem is likely with wnet_connect_wait_thread() which
doesn't check return value of WNET_connect() either (but I didn't check
whether it can actually return NULL).

                                                         Michal Kubeček

------------------------------------------------------------------------------
Everyone hates slow websites. So do we.
Make your web apps faster with AppDynamics
Download AppDynamics Lite for free today:
http://p.sf.net/sfu/appdyn_d2d_mar
Firebird-Devel mailing list, web interface at 
https://lists.sourceforge.net/lists/listinfo/firebird-devel

Reply via email to