Hi all, I have a very annoying problem. xrdp got SIGSEGV when opening many connections at same time. This fault is not dipendent on absolute number of sessions opened but on number of connections (or reconnections) that happen together.
Here the full BT: Program received signal SIGSEGV, Segmentation fault. [Switching to Thread 0xaf989b90 (LWP 4470)] 0x08053f89 in xrdp_painter_end_update (self=0x0) at xrdp_painter.c:62 62 libxrdp_orders_send(self->session); (gdb) bt full #0 0x08053f89 in xrdp_painter_end_update (self=0x0) at xrdp_painter.c:62 No locals. #1 0x0805158d in server_end_update (mod=0xa845208) at xrdp_mm.c:1059 p = (struct xrdp_painter *) 0x0 #2 0x008ff5c2 in lib_mod_signal (mod=0xa845208) at xup.c:325 s = (struct stream *) 0xa84aea0 num_orders = 3 index = 2 rv = 0 x = 0 y = 3727199 cx = 11 cy = 64 fgcolor = <value optimized out> opcode = <value optimized out> width = 48 height = <value optimized out> srcx = 13608017 srcy = <value optimized out> style = <value optimized out> x1 = 134560387 y1 = <value optimized out> x2 = 176445856 y2 = <value optimized out> bmpdata = 0xa851254 "�[�[�[�[�[�[�[�[�[�[�[�[�[�[�[�[�[�[�[�[�[�[�[�[�[�[�[�[�[�[�[�[�[�[�[�[�[" cur_data = "s\000\000\000�Y\204\n\001\000\000\000�\205\230�\027\000\000\000c\000\000\000Q��\000\001\000\000\000s\000\000\000\f\000\000\000\203�v\000(\000\000\000s\000\000\000�\212\230�\001\000\000\000\001\000\000\000\001\000\000\000\000\000\000\000{�v\000\024\000\000\000s\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\n\000\000\000�\212\230�\000\000\000\000\001", '\0' <repeats 35 times>, " �u\000��\20...@�\204\n\022\000\000\000x\000\000d��v\000\001\000\000\000h\206\230�t��\000��\204\n@�\204\nx\206\230��i�\000��\204\nhM\204\n\001\000\000\000��\004\b��\204\n�\213\230��\213\230��"... cur_mask = '\0' <repeats 96 times>, "t��\000\bR\204\n\b\000\000\0008\222\230�{{�\000K\000\000\000\000\000\000\000��\217" #3 0x008ff928 in lib_mod_check_wait_objs (mod=0xa845208) at xup.c:478 rv = <value optimized out> #4 0x08051638 in xrdp_mm_check_wait_objs (self=0xa7301f8) at xrdp_mm.c:1018 rv = 0 #5 0x080540ae in xrdp_process_main_loop (self=0xa6fc408) at xrdp_process.c:179 robjs_count = 6 wobjs_count = 0 timeout = -1 robjs = {8, 71, 69, 76, 75, 66, 0, 0, 0, 0, -1348955244, 13612404, 0, -1348953200, -1348955256, 13599363, 4797632, 13608016, -1348955244, 0, 0, 0, -1348955196, 13612404, -1348955244, 13612404, -1348955208, 13599441, 13608016, 134579277, -1348955208, 1} wobjs = {0 <repeats 14 times>, 3443712, 4797632, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3443712, 4797632, 0, 0, 0, 0} term_obj = 8 #6 0x0804fa38 in xrdp_process_run (in_val=0x0) at xrdp_listen.c:115 process = (struct xrdp_process *) 0xa6fc408 ---Type <return> to continue, or q <return> to quit--- another BT: Program received signal SIGSEGV, Segmentation fault. [Switching to Thread 0xb0bfbb90 (LWP 4223)] 0x08053f89 in xrdp_painter_end_update (self=0x0) at xrdp_painter.c:62 62 libxrdp_orders_send(self->session); (gdb) bt full #0 0x08053f89 in xrdp_painter_end_update (self=0x0) at xrdp_painter.c:62 No locals. #1 0x0805158d in server_end_update (mod=0xb0005030) at xrdp_mm.c:1059 p = (struct xrdp_painter *) 0x0 #2 0x004ca5c2 in lib_mod_signal (mod=0xb0005030) at xup.c:325 s = (struct stream *) 0xb0004618 num_orders = 3 index = 2 rv = 0 x = 182835031 y = 0 cx = 1170432 cy = 64 fgcolor = <value optimized out> opcode = <value optimized out> width = 48 height = <value optimized out> srcx = 182714600 srcy = <value optimized out> style = <value optimized out> x1 = 2012532 y1 = <value optimized out> x2 = 182716368 y2 = <value optimized out> bmpdata = 0xb000262c "�[�[�[�[�[�[�[�[�[�[�[�[�[�[�[�[�[�[�[�[�[�[�[�[�[�[�[�[�[�[�[�[�[�[�[�[�[" cur_data = "\203\202\036\000��2\000P�\036\000\000�\021\000��2\000\000\000\000\000\000\000\000\000\024���t�\036\000䥿�t�\036\000\b����\202\036\000\000\000\000\000\000\000\000\000\024���", '\0' <repeats 12 times>, "D����N%\000�\a�\n�\000�\n8���\203\202\036\000��2\000P�\036\000D���t�\036\000\220\006�\n�F\000�\000\000\000\000\020\000\000��M\000� \000\000\000�h1\000�\202\036\000p�\036\000m2\235\000t���t�\036\000d���t�\036\000�\235\234\000...@\235\000t����@\235\000\210���~z\234\000m2\235\000��"... cur_mask = '\0' <repeats 96 times>, "t�\036\0000P\000�\a\000\000\0008���{{\036\000G\000\000\000\000\000\000\000��L" #3 0x004ca928 in lib_mod_check_wait_objs (mod=0xb0005030) at xup.c:478 rv = <value optimized out> #4 0x08051638 in xrdp_mm_check_wait_objs (self=0xae09e28) at xrdp_mm.c:1018 rv = 0 #5 0x080540ae in xrdp_process_main_loop (self=0xae0a450) at xrdp_process.c:179 robjs_count = 6 wobjs_count = 0 timeout = -1 robjs = {7, 66, 67, 72, 71, 63, 0, 0, 0, 0, -1329613932, 2012532, 0, -1329611888, -1329613944, 1999491, 3331264, 2008144, -1329613932, 0, 0, 0, -1329613884, 2012532, -1329613932, 2012532, -1329613896, 1999569, 2008144, 134579277, -1329613896, 1} wobjs = {0 <repeats 14 times>, 1170432, 3331264, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1170432, 3331264, 0, 0, 0, 0} term_obj = 7 #6 0x0804fa38 in xrdp_process_run (in_val=0x0) at xrdp_listen.c:115 process = (struct xrdp_process *) 0xae0a450 #7 0x001155ab in start_thread () from /lib/libpthread.so.0 ---Type <return> to continue, or q <return> to quit--- Anyone can help me? thanks Nicola ------------------------------------------------------------------------------ ThinkGeek and WIRED's GeekDad team up for the Ultimate GeekDad Father's Day Giveaway. ONE MASSIVE PRIZE to the lucky parental unit. See the prize list and enter to win: http://p.sf.net/sfu/thinkgeek-promo _______________________________________________ xrdp-devel mailing list xrdp-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/xrdp-devel