Bug 998630 - rdesktop 1.8.0 segfault when caching of bitmaps is enabled
Summary: rdesktop 1.8.0 segfault when caching of bitmaps is enabled
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Fedora
Classification: Fedora
Component: rdesktop
Version: 19
Hardware: x86_64
OS: Linux
unspecified
high
Target Milestone: ---
Assignee: Søren Sandmann Pedersen
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2013-08-19 16:03 UTC by GV
Modified: 2014-06-18 09:16 UTC (History)
6 users (show)

Fixed In Version: rdesktop-1.8.1-1.fc20
Clone Of:
Environment:
Last Closed: 2013-12-25 02:36:31 UTC
Type: Bug
Embargoed:


Attachments (Terms of Use)
The pstcache_2_2 from my coredump (21.68 KB, application/x-gzip)
2013-08-28 22:58 UTC, Colin Panisset
no flags Details

Description GV 2013-08-19 16:03:50 UTC
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)

Comment 1 Colin Panisset 2013-08-28 22:56:36 UTC
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

Comment 2 Colin Panisset 2013-08-28 22:58:38 UTC
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.

Comment 3 Satish Balay 2013-09-09 17:57:40 UTC
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..

Comment 4 Arkadiusz Miskiewicz 2013-10-24 07:27:30 UTC
Some commit in rdesktop svn trunk fixes this (didn't check which one exactly).

Comment 5 Dominik 'Rathann' Mierzejewski 2013-12-23 00:43:16 UTC
Should be fixed in 1.8.1. I'll update shortly.

Comment 6 Fedora Update System 2013-12-23 01:15:07 UTC
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

Comment 7 Fedora Update System 2013-12-23 01:15:30 UTC
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

Comment 8 Fedora Update System 2013-12-24 03:39:55 UTC
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).

Comment 9 Fedora Update System 2013-12-25 02:36:31 UTC
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.

Comment 10 Fedora Update System 2014-01-01 08:59:50 UTC
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.


Note You need to log in before you can comment on or make changes to this bug.