Hello,
First of all, thanks for your reply. I have isolated the piece of code for transferring files and i have prepared an example with just the relevant cofiguration. As an example, i am trying to transfer the logo3d.blend file.
The fact is that if i comment all ThreadPool properties in both client and server cofiguration, the file is transferred correctly.
If i use the configuration of the cfg files for the ThreadPool, there is not error but when the transfer finishes the file is corrupted in the client and i can not open it.
Besides, sometimes the server crashes and i get:
Code:
*** glibc detected *** ./FileServer: double free or corruption (!prev): 0x089e2df0 ***
======= Backtrace: =========
/lib/i686/cmov/libc.so.6[0xb7b646b4]
/lib/i686/cmov/libc.so.6(cfree+0x96)[0xb7b668b6]
/lib/i686/cmov/libc.so.6(fclose+0x144)[0xb7b542f4]
./FileServer[0x8054ac6]
./FileServer[0x8058e16]
./FileServer[0x80590ea]
/usr/lib/libIce.so.33(_ZN11IceInternal8Incoming6invokeERKNS_6HandleINS_14ServantManagerEEE+0x79f)[0xb7e6577f]
/usr/lib/libIce.so.33(_ZN3Ice11ConnectionI9invokeAllERN11IceInternal11BasicStreamEiihRKNS1_6HandleINS1_14ServantManagerEEERKNS4_INS_13ObjectAdapterEEE+0x10e)[0xb7e366de]
/usr/lib/libIce.so.33(_ZN3Ice11ConnectionI7messageERN11IceInternal11BasicStreamERKNS1_6HandleINS1_10ThreadPoolEEE+0x135)[0xb7e3c3d5]
/usr/lib/libIce.so.33(_ZN11IceInternal10ThreadPool3runEv+0xdbc)[0xb7f3f8cc]
/usr/lib/libIce.so.33(_ZN11IceInternal10ThreadPool18EventHandlerThread3runEv+0x7c)[0xb7f4041c]
/usr/lib/libIceUtil.so.33[0xb7ae6aab]
/lib/i686/cmov/libpthread.so.0[0xb7aaa4c0]
/lib/i686/cmov/libc.so.6(clone+0x5e)[0xb7bd661e]
and a long memory map.
With Ice 3.2 i used the Ice.ThreadPerConnection property and everything was working fine.
I am using Debian and the compiler is g++ (Debian 4.3.2-1) 4.3.2. Hope this helps. If there is any relevant info i did not post, please make me know.
Regards.