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