Description of problem: rdesktop segfault when caching of bitmaps is enabled. Version-Release number of selected component (if applicable): rdesktop-1.8.0-1.fc19.x86_64 How reproducible: Start rdesktop with -P flag at least 2 times. First time works. Second time it will segfault. If .rdesktop directory is removed, rdesktop will start again exactly one time. Steps to Reproduce: 1. /usr/bin/rdesktop -P <IP> Autoselected keyboard map en-us Failed to negotiate protocol, retrying with plain RDP. WARNING: Remote desktop does not support colour depth 24; falling back to 16 2. Close rdesktop window. 3. /usr/bin/rdesktop 192.168.100.1 -P Autoselected keyboard map en-us Failed to negotiate protocol, retrying with plain RDP. WARNING: Remote desktop does not support colour depth 24; falling back to 16 Segmentation fault (core dumped) Actual results: rdesktop does not start until I remove .rdesktop directory. Expected results: rdesktop should start every time. Additional info: $ gdb rdesktop core.17329 ... [New LWP 17329] [Thread debugging using libthread_db enabled] Using host libthread_db library "/lib64/libthread_db.so.1". Core was generated by `/usr/bin/rdesktop 192.168.100.1 -P'. Program terminated with signal 11, Segmentation fault. #0 0x0000003e84e36fe7 in XPutImage (dpy=0xd002a0, d=d@entry=52428802, gc=0x0, image=image@entry=0xd26400, req_xoffset=req_xoffset@entry=0, req_yoffset=<optimized out>, req_yoffset@entry=0, x=x@entry=0, y=y@entry=0, req_width=req_width@entry=64, req_height=req_height@entry=21) at PutImage.c:1024 1024 FlushGC(dpy, gc); (gdb) bt #0 0x0000003e84e36fe7 in XPutImage (dpy=0xd002a0, d=d@entry=52428802, gc=0x0, image=image@entry=0xd26400, req_xoffset=req_xoffset@entry=0, req_yoffset=<optimized out>, req_yoffset@entry=0, x=x@entry=0, y=y@entry=0, req_width=req_width@entry=64, req_height=req_height@entry=21) at PutImage.c:1024 #1 0x000000000040eecc in ui_create_bitmap (width=64, height=21, data=data@entry=0xd2f610 "\020\204\020\204\020\204\020\204\020\204\020\204\020\204\020\204\020\204\020\204\020\204\020\204\020\204\020\204\020\204\020\204\020\204\020\204\020\204\020\204\020\204\020\204\020\204\020\204\020\204\020\204\020\204\020\204\020\204\020\204\020\204\020\204\020\204\020\204\020\204\020\204\020\204\020\204\020\204\020\204\020\204\020\204\020\204\020\204\020\204\020\204\020\204\020\204\020\204\020\204\020\204\020\204\020\204\020\204\020\204\020\204\020\204\020\204\020\204\020\204\020\204\020\204\020\204\020\204\bB\bB\bB\bB\bB\bB\bB\bB\bB\bB\bB\bB\bB\bB\bB\bB\bB\bB\bB\bB\bB\bB\bB\bB\bB\bB\bB\bB\bB\bB\bB\bB\bB\bB\bB\bB"...) at xwin.c:2753 #2 0x0000000000430b3a in pstcache_load_bitmap (cache_id=cache_id@entry=2 '\002', cache_idx=cache_idx@entry=0) at pstcache.c:72 #3 0x0000000000430e01 in pstcache_enumerate (id=id@entry=2 '\002', keylist=keylist@entry=0x7fff1e4d43b0) at pstcache.c:136 #4 0x00000000004202f3 in rdp_enum_bmpcache2 () at rdp.c:585 #5 0x0000000000421a25 in process_demand_active (s=0x6cc5c0 <g_in>) at rdp.c:1067 #6 rdp_loop (deactivated=deactivated@entry=0x7fff1e4d9480, ext_disc_reason=ext_disc_reason@entry=0x7fff1e4d9484) at rdp.c:1611 #7 0x00000000004222e5 in rdp_connect (server=server@entry=0x7fff1e4d9600 "xx.xx.xx.xx", flags=flags@entry=51, domain=domain@entry=0x7fff1e4d96c0 "", password=password@entry=0x7fff1e4d9680 "", command=command@entry=0x7fff1e4d97c0 "", directory=directory@entry=0x7fff1e4d98c0 "", reconnect=0) at rdp.c:1653 #8 0x0000000000407e8e in main (argc=<optimized out>, argv=<optimized out>) at rdesktop.c:1105 (gdb)
Same problem here, my stack trace as follows; very little difference. Program terminated with signal 11, Segmentation fault. #0 0x00000030d9e36fe7 in XPutImage (dpy=0xb1b090, d=d@entry=31457282, gc=0x0, image=image@entry=0xb61e00, req_xoffset=req_xoffset@entry=0, req_yoffset=<optimized out>, req_yoffset@entry=0, x=x@entry=0, y=y@entry=0, req_width=req_width@entry=64, req_height=req_height@entry=38) at PutImage.c:1024 1024 FlushGC(dpy, gc); (gdb) bt #0 0x00000030d9e36fe7 in XPutImage (dpy=0xb1b090, d=d@entry=31457282, gc=0x0, image=image@entry=0xb61e00, req_xoffset=req_xoffset@entry=0, req_yoffset=<optimized out>, req_yoffset@entry=0, x=x@entry=0, y=y@entry=0, req_width=req_width@entry=64, req_height=req_height@entry=38) at PutImage.c:1024 #1 0x000000000040eecc in ui_create_bitmap (width=64, height=38, data=data@entry=0xb5ce20 "\231", '֙' <repeats 98 times>, <incomplete sequence \326>...) at xwin.c:2753 #2 0x0000000000430b3a in pstcache_load_bitmap ( cache_id=cache_id@entry=2 '\002', cache_idx=cache_idx@entry=0) at pstcache.c:72 #3 0x0000000000430e01 in pstcache_enumerate (id=id@entry=2 '\002', keylist=keylist@entry=0x7fff48a90c50) at pstcache.c:136 #4 0x00000000004202f3 in rdp_enum_bmpcache2 () at rdp.c:585 #5 0x0000000000421a25 in process_demand_active (s=0x6cc5c0) at rdp.c:1067 #6 rdp_loop (deactivated=deactivated@entry=0x7fff48a95d20, ext_disc_reason=ext_disc_reason@entry=0x7fff48a95d24) at rdp.c:1611 #7 0x00000000004222e5 in rdp_connect ( server=server@entry=0x7fff48a95ea0 "xxxxxxxx.xxxx.xxx.xx", flags=flags@entry=699, domain=domain@entry=0x7fff48a95f60 "", password=password@entry=0x7fff48a95f20 "xxxxxxxx", command=command@entry=0x7fff48a96060 "", directory=directory@entry=0x7fff48a96160 "", reconnect=0) at rdp.c:1653 #8 0x0000000000407e8e in main (argc=<optimized out>, argv=<optimized out>) at rdesktop.c:1105
Created attachment 791548 [details] The pstcache_2_2 from my coredump The attached file is the rdesktop cache that caused the stacktrace I provided above.
I see this problem with 'rdesktop -P' with rdesktop-1.8.0-1.fc19.x86_64. Downgrading to rdesktop-1.7.1-2.fc19.x86_64 resolves the issue..
Some commit in rdesktop svn trunk fixes this (didn't check which one exactly).
Should be fixed in 1.8.1. I'll update shortly.
rdesktop-1.8.1-1.fc20 has been submitted as an update for Fedora 20. https://admin.fedoraproject.org/updates/rdesktop-1.8.1-1.fc20
rdesktop-1.8.1-1.fc19 has been submitted as an update for Fedora 19. https://admin.fedoraproject.org/updates/rdesktop-1.8.1-1.fc19
Package rdesktop-1.8.1-1.fc20: * should fix your issue, * was pushed to the Fedora 20 testing repository, * should be available at your local mirror within two days. Update it with: # su -c 'yum update --enablerepo=updates-testing rdesktop-1.8.1-1.fc20' as soon as you are able to. Please go to the following url: https://admin.fedoraproject.org/updates/FEDORA-2013-23910/rdesktop-1.8.1-1.fc20 then log in and leave karma (feedback).
rdesktop-1.8.1-1.fc19 has been pushed to the Fedora 19 stable repository. If problems still persist, please make note of it in this bug report.
rdesktop-1.8.1-1.fc20 has been pushed to the Fedora 20 stable repository. If problems still persist, please make note of it in this bug report.