! Please note that this is a snapshot of our old Bugzilla server, which is read only since May 29, 2020. Please go to gitlab.xfce.org for our new server !
xfce4-settings-helper crash with usb tablet
Status:
RESOLVED: DUPLICATE
Product:
Xfce4-settings
Component:
Settings Helper

Comments

Description Kevin Fenzi 2011-03-29 22:17:35 CEST
Downstream report: 

https://bugzilla.redhat.com/show_bug.cgi?id=691592

xfce4-settings-helper crashes whenever a usb tablet is attached: 

*** glibc detected *** xfce4-settings-helper: munmap_chunk(): invalid pointer: 0x0000000002031770 ***
...
#5  0x000000000040611c in xfce_pointers_helper_change_feedback (device=0x1d7d0f0, xdisplay=0x1d81000, threshold=4, acceleration=<value optimized out>) at pointers.c:391
        states = 0x1e00d90
        num_feedbacks = 3
        feedback = {class = 1, length = 40, id = 0, accelNum = 2, accelDenom = 1, threshold = 4}
        n = <value optimized out>
        mask = <value optimized out>
        num = <value optimized out>
        denom = <value optimized out>
#6  0x00000000004063e4 in xfce_pointers_helper_restore_devices (helper=0x1dd7b20 [XfcePointersHelper], xid=0x7ffff9ba7548) at pointers.c:484
        xdisplay = 0x1d81000
        device_list = 0x1e049f0
        device_info = 0x1e04b58
        device = 0x1d7d0f0
        n = <value optimized out>
        ndevices = 13
        righthanded_str = 0x1e00bf0 "/Wacom_BambooFun_2FG_4x5_Pen_eraser/RightHanded"
        threshold_str = 0x1e026e0 "/Wacom_BambooFun_2FG_4x5_Pen_eraser/Threshold"
        acceleration_str = 0x1e02470 "/Wacom_BambooFun_2FG_4x5_Pen_eraser/Acceleration"
        device_name = 0x1d7d140 "Wacom_BambooFun_2FG_4x5_Pen_eraser"
        reverse_scrolling_str = 0x1e00c70 "/Wacom_BambooFun_2FG_4x5_Pen_eraser/ReverseScrolling"
...

Happy to ask user to provide more info or test. 

Thanks
Comment 1 Jared Stafford 2011-04-03 05:02:52 CEST
Created attachment 3594 
Patch to fix multiple pointer crash

The problem occurs when multiple pointers are attached. The function xfce_pointers_helper_change_feedback advances the XFeedbackState* pointer to handle each device, then tries to free this final pointer instead of the original one.
Comment 2 Nick Schermer editbugs 2011-04-03 08:53:46 CEST

*** This bug has been marked as a duplicate of bug 6909 ***

Bug #7454

Reported by:
Kevin Fenzi
Reported on: 2011-03-29
Last modified on: 2011-04-03

People

Assignee:
Stephan Arts
CC List:
4 users

Version

Attachments

Patch to fix multiple pointer crash (1.09 KB, patch)
2011-04-03 05:02 CEST , Jared Stafford
no flags

Additional information