Bug 799667
Summary: | [abrt] gnome-settings-daemon-3.3.90.1-1.fc17: g_logv: Process /usr/libexec/gnome-settings-daemon was killed by signal 5 (SIGTRAP) | ||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Product: | [Fedora] Fedora | Reporter: | Daniel Belton <danielbelton> | ||||||||||||||||||||||||
Component: | gnome-settings-daemon | Assignee: | Bastien Nocera <bnocera> | ||||||||||||||||||||||||
Status: | CLOSED ERRATA | QA Contact: | Fedora Extras Quality Assurance <extras-qa> | ||||||||||||||||||||||||
Severity: | high | Docs Contact: | |||||||||||||||||||||||||
Priority: | unspecified | ||||||||||||||||||||||||||
Version: | 17 | CC: | awilliam, bnocera, egore, kalevlember, mkasik, ofourdan, robatino, rstrode, tflink | ||||||||||||||||||||||||
Target Milestone: | --- | Keywords: | Triaged | ||||||||||||||||||||||||
Target Release: | --- | ||||||||||||||||||||||||||
Hardware: | x86_64 | ||||||||||||||||||||||||||
OS: | Unspecified | ||||||||||||||||||||||||||
Whiteboard: | abrt_hash:f8e1d78634ab1ac5f3886d9f390355f7ed2665c5 AcceptedNTH RejectedBlocker | ||||||||||||||||||||||||||
Fixed In Version: | libwacom-0.5-3.fc17 | Doc Type: | Bug Fix | ||||||||||||||||||||||||
Doc Text: | Story Points: | --- | |||||||||||||||||||||||||
Clone Of: | Environment: | ||||||||||||||||||||||||||
Last Closed: | 2012-05-16 02:59:01 UTC | Type: | --- | ||||||||||||||||||||||||
Regression: | --- | Mount Type: | --- | ||||||||||||||||||||||||
Documentation: | --- | CRM: | |||||||||||||||||||||||||
Verified Versions: | Category: | --- | |||||||||||||||||||||||||
oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |||||||||||||||||||||||||
Cloudforms Team: | --- | Target Upstream Version: | |||||||||||||||||||||||||
Embargoed: | |||||||||||||||||||||||||||
Bug Depends On: | |||||||||||||||||||||||||||
Bug Blocks: | 752653 | ||||||||||||||||||||||||||
Attachments: |
|
Description
Daniel Belton
2012-03-04 04:12:14 UTC
Created attachment 567361 [details]
File: dso_list
Created attachment 567362 [details]
File: maps
Created attachment 567363 [details]
File: var_log_messages
Created attachment 567364 [details]
File: backtrace
Created attachment 567365 [details]
.xsession-errors file
still occurring after updating to gnome-settings-daemon-3.3.91-1.fc17 Also, forgot to mention that if I have the wacom tablet plugged in when I boot, it prevents Gnome shell from starting. I get a black GDM background, and when I log in, I get the fail screen. Proposing as a potential final blocker if this affects any system with a Wacom tablet attached (to be established). GNOME guys, can you please look at this? It seems a significant bug. -- Fedora Bugzappers volunteer triage team https://fedoraproject.org/wiki/BugZappers I will be willing to provide whatever is needed for them to track down this bug. Just let me know what. I'm tired of having to unplug my tablet to start Gnome. :( None of the other desktop environments are affected, and I have switched to using KDM instead of GDM due to this issue. (Easy to switch back if you need me to run it when providing more information, though. and above information was running GDM) Created attachment 571333 [details]
Proposed patch
The crash is caused by a call to g_error() that triggers an abort. Error is triggered because the plugin fails to retrieve the settings for the stylus, because the stylus is not set (stylus = 0x0, stylus_settings = 0x0 frame #3 of thread #1 in the backtrace).
The stylus is obtained via the "last-stylus" property of the device, if the property is not set the valus is 0x0 and the associated settings can't be retrieved either.
The "last-stylus" property is not retrieved because it's not been previously set, as shows the error "Failed to get value for changed stylus ID" earleir in the logs (that warning will cause fhe function to return before settings the property in filter_events() from gsd-wacom-device.c).
So I think the best way to avoid such a crash is to actually check for the property in apply_stylus_settings() so that if the property has not been set we do not end up trying to retreive the settings of an undefined stylus which will rigthfully lead to an error.
Proposed patch attached.
Note: This patch is for gnome-settings-daemon where the affected source file belongs, but this very same file is duplicated in gnome-control-center when "make update-from-gsd" is run from within gnome-control-center/panels/wacom/ - So this needs to be fixed in both gnome-settings-daemon and gnome-control-center packages.
olivier: so the circumstance needed to trigger this bug is that you have to have a wacom tablet attached for which the 'last-stylus' property has not been previously set? In user experience terms, what circumstance is that? Any case where a tablet is connected that hasn't successfully been used in GNOME before? -- Fedora Bugzappers volunteer triage team https://fedoraproject.org/wiki/BugZappers I have been thinking back and trying to think of anything that might have caused this on my end, and can't think of anything. I do remember, the first boot after the install (alpha tc1) worked fine, Gnome started. But after that, I had to unplug the tablet to get Gnome to start. I didn't even try to go into the settings for the wacom tablet on that first boot, though. It was mainly just tweaking my network settings and getting my drive mounts set up correctly. (One of the first things I do since my data was backed up on a NFS share.) And it was a full, clean install. Not an upgrade. Pulled an old drive off the shelf, wiped it, threw Windows 7 on it, and then Fedora 17. (In reply to comment #10) > olivier: so the circumstance needed to trigger this bug is that you have to > have a wacom tablet attached for which the 'last-stylus' property has not been > previously set? In user experience terms, what circumstance is that? Any case > where a tablet is connected that hasn't successfully been used in GNOME before? Indeed, the proposed patch fixes the effect, not the root cause. A new device is detected yet the tool fails to retrieve the tool id of the stylus. I doubt it has to do with any previous use of the tablet in GNOME, as it's not related to gsettings as far as I can see, yet I am not entirely sure of the events that can lead to this error to occur. The function that returns the tool id is xdevice_get_last_tool_id() from gnome-setings-daemon/common/gsd-input-helper.c duplicated as gnome-control-panel/panels/wacom/gsd-input-helper.c but that function will return -1 (failure) on many different cases so I cannot tell what step failed by looking just at the logs or the backtrace. Yet, I wonder, what version of xorg-x11-drv-wacom is in use? I vaguely remember seeing something similar some time ago after the tool ID was added (versions 0.13.0-5, 0.13.0-6) but I cannot reproduce anymore using xorg-x11-drv-wacom-0.14.0-2 so the xorg-x11-drv-wacom might be of some influence as well. Olivier: I wasn't asking because I query the patch - it's for the purpose of evaluating whether this is a blocker bug or not. It's important to us to try and figure out how many people it will affect. -- Fedora Bugzappers volunteer triage team https://fedoraproject.org/wiki/BugZappers the version of xorg-x11-drv-wacom was 0.13.0-4.fc17 that was on the alpha install. Currently installed is version 0.14.0-2 (In reply to comment #14) > the version of xorg-x11-drv-wacom was 0.13.0-4.fc17 that was on the alpha > install. > > Currently installed is version 0.14.0-2 And the problem still occurs with xorg-x11-drv-wacom-0.14.0-2? yes, the problem is still occurring with xorg-x11-drv-wacom-0.14.0-2. Peter Hutterer found the culprit, it's in the definition of the bamboo pen and touch tablet in libwacom. Can you retry after changing the "Styli" definition of /usr/share/libwacom/bamboo-pen-and-touch.tablet as follows: Change: Styli=0xfffff to: Styli=0xfffff,0xffffe And retry. I made the change to /usr/share/libwacom/bamboo-pen-and-touch.tablet, but still I get the crash in the gnome-settings-daemon and gnome-control-center However, it does appear that progress was made, somewhat. I no longer get the GLib-CRITICAL messages in my .xsession-errors file Here is what I get now: --------------- ** (gnome-settings-daemon:3080): WARNING **: Name taken or bus went away - shutting down Gtk-Message: Failed to load module "pk-gtk-module" ** (dconf-editor:3519): WARNING **: dconf-schema.vala:401: Unknown tag <comment> ** (dconf-editor:3519): WARNING **: dconf-schema.vala:330: Unknown property on <schema>, extends ** (dconf-editor:3519): WARNING **: dconf-schema.vala:330: Unknown property on <schema>, extends ** (dconf-editor:3519): WARNING **: dconf-schema.vala:401: Unknown tag <comment> (gnome-control-center:4054): Gtk-DEBUG: Connecting to session manager ** (gnome-control-center:4054): WARNING **: Tablet 'usb:056a:0015' has no buttons defined, do something! ** (gnome-control-center:4054): WARNING **: Tablet 'usb:056a:0014' has no buttons defined, do something! ** (gnome-control-center:4054): WARNING **: Tablet 'usb:056a:0013' has no buttons defined, do something! (gnome-control-center:4054): wacom-cc-panel-WARNING **: Could not set the current stylus ID 0x0 for tablet 'Wacom Bamboo Pen & Touch', no general pen found ** wacom-cc-panel:ERROR:gsd-wacom-device.c:1491:gsd_wacom_device_set_current_stylus: assertion failed: (device->priv->styli) ------------- Compare this to what I was getting, and it does appear that some progress is being made :) (Just for comparison here is what I was getting. Notice I no longer am getting the critical messages) -------------- ** WARNING **: Tablet 'usb:056a:0015' has no buttons defined, do something! ** WARNING **: Tablet 'usb:056a:0014' has no buttons defined, do something! ** WARNING **: Tablet 'usb:056a:0013' has no buttons defined, do something! wacom-plugin-WARNING **: Failed to get value for changed stylus ID on device '11 wacom-plugin-CRITICAL **: gsd_wacom_stylus_get_name: assertion `GSD_IS_WACOM_STYLUS (stylus)' failed wacom-plugin-CRITICAL **: gsd_wacom_stylus_get_settings: assertion `GSD_IS_WACOM_STYLUS (stylus)' failed GLib-GIO-CRITICAL **: g_settings_get_value: assertion `G_IS_SETTINGS (settings)' failed GLib-CRITICAL **: g_variant_get_type: assertion `value != NULL' failed GLib-CRITICAL **: g_variant_type_is_subtype_of: assertion `g_variant_type_check (type)' failed GLib-CRITICAL **: g_variant_get_fixed_array: assertion `g_variant_is_of_type (value, G_VARIANT_TYPE_ARRAY)' failed GLib-CRITICAL **: g_variant_unref: assertion `value != NULL' failed wacom-plugin-ERROR **: Pressurecurve requires 4 values. gnome-session[1027]: WARNING: Application 'gnome-settings-daemon.desktop' killed by signal Created attachment 572267 [details]
New bactrace for gnome-control-center crash
New backtrace - crash in gnome-control-center
Created attachment 572272 [details]
Nwe backtrace for gnome-settings-daemon crash
Sorry, I think I gave you an incorrect procedure, can you use a semicolon as a separator instead of a comma in the tablet definition, ie: Styli=0xfffff;0xffffe Rationale: I think that should fix your issue, yet we still have g-s-d crashing when the tablet definition is not correct so the proposed patch is not sufficient. Created attachment 573075 [details]
Another fix for g-s-d if the stylus is not found in the libwacom database
I have opened a new bug upstream 672917 with this proposed patch.
Rationale is being that the assert() in gsd_wacom_device_set_current_stylus() can be reached because add_stylus_to_device() which is called from the cnstructor won't create the list if libwacom_stylus_get_for_id() fails and return NULL.
Note, gnome-control-center has a copy of gsd-wacom-device.c and will require a
similar fix as well.
Daniel, in the meantime, does using a semicolon (instead of a comma) in the tablet definition as suggested in comment #21 fix the issue in your case? using a semicolon instead of a comma does indeed fix my issue here. I can now have the tablet plugged in and Gnome shell starts properly, and the settings opens properly as well, without any signs of a crash so far. Everything seems to work as it is supposed to, at least so far anyway. So, I would say that an update with the changed /usr/share/libwacom/bamboo-pen-and-touch.tablet would be the correct thing to do. the corrected line that works: Styli=0xfffff;0xffffe issue still exists in libwacom-0.4-1.fc17, kibwacom-data-0.4-1.fc7, so I am not going to close this one yet. The fix is still the same, though. Discussed at 2012-04-20 blocker review meeting - http://meetbot.fedoraproject.org/fedora-bugzappers/2012-04-20/fedora-bugzappers.2012-04-20-17.01.log.txt . We don't have a clear consensus yet on whether this bug is a blocker (it's a subjective call as it's a question of how common the affected hardware is). We had a solid consensus to accept it as NTH. Olivier, it seems like we have a fix for this, so why the delay in implementing it? Can we get it into F17 asap? Thanks! Adam, the affected hardware would be all of the Bamboo Pen & Touch (CTH-460) Wacom tablets. These were very popular among the "low-end" wacom tablets so the affected users could be numerous. The way I see this bug, there are really 2 bugs here. 1: The incomplete stylus definition in the /usr/share/libwacom/bamboo-pen-and-touch.tablet file which the fix has already mentioned here. All it needs is to be put into the libwacom-data package and pushed into the repo as an update. 2: the resulting crash in gnome-settings-daemon and gnome-control-center. This crash was the result of the above incomplete stylus definition, but still should not have caused a crash. The patches to gnome-settings-daemon and gnome-control-center should be put in to prevent this from happening again in the future, but as far as the fix for this bug, would not have to be implemented to prevent the crash if the fix for the stylus is in place in libwacom-data. (I also get a warning on all of the graphire tablet files in /usr/share/libwacom/ but those aren't causing a crash to occur.) === copy from .xsession-errors === (gnome-settings-daemon:1128): libwacom-WARNING **: Tablet 'usb:056a:0015' has no buttons defined, do something! (gnome-settings-daemon:1128): libwacom-WARNING **: Tablet 'usb:056a:0014' has no buttons defined, do something! (gnome-settings-daemon:1128): libwacom-WARNING **: Tablet 'usb:056a:0013' has no buttons defined, do something! === end copy === I believe the fix to libwacom-data for the stylus definition in /usr/share/libwacom/bamboo-pen-and-touch.tablet should be fixed and pushed into the repo, and the other patches could wait until they are tested better (if that is the reason for the delay) since the error actually causing the crash would be fixed. Discussed in the 2012-05-01 blocker bug review meeting. There have been no new reports of this recently and we're leaning towards rejecting as a blocker for F17 final but will wait a little longer before doing so. If the fix mentioned above does work, it would be nice to see it as an update before code freeze. Same bug hit me hard this morning. Happens on a "056a:0015 Wacom Co., Ltd Graphire 4 4x5", too. This is the log message I get in advance before gnome-settings-daemon crashes: wacom-plugin-WARNING **: Could not set the current stylus ID 0x0 for tablet 'Wacom Graphire4 4x5', no general pen found I think replacing the g_assert with a log message (see Comment 22) might be a good idea. Having gnome-settings-deamon crash is pretty awefull. (In reply to comment #26) [...] > Olivier, it seems like we have a fix for this, so why the delay in implementing > it? Can we get it into F17 asap? Thanks! Unfortuantely, the fix is not yet accepted upstream, see upstream bug [1] [1] http://bugzilla.gnome.org/show_bug.cgi?id=672917 (In reply to comment #29) > Same bug hit me hard this morning. Happens on a "056a:0015 Wacom Co., Ltd > Graphire 4 4x5", too. Yes, there was an update to libwacom and libwacom-data to version 0.5-1 which causes a lot of problems since it basically throws any wacom tablet without a stylus defined right into the same place as this bug. (It sets a default stylus of 0xfffff if there is no stylus defined, which is what is causing this bug. An incomplete stylus definition) (In reply to comment #30) > This is the log message I get in advance before gnome-settings-daemon crashes: > > wacom-plugin-WARNING **: Could not set the current stylus ID 0x0 for tablet > 'Wacom Graphire4 4x5', no general pen found Could you capture the device description using "evemu-describe" and attach it to this bugzilla so we can try to reproduce although without the hardware? evemu-describe is part of the utouch-evemu package in Fedora. Discussed at 2012-05-03 blocker review meeting. This was a close call, but agreed it's ultimately too much of a corner case to be considered a blocker, especially as it can be 'easily' worked around (unplug the tablet) if you know the cause. It will be documented in common bugs if not fixed by release. It remains an NTH bug. -- Fedora Bugzappers volunteer triage team https://fedoraproject.org/wiki/BugZappers libwacom-0.5-2.fc17 has been submitted as an update for Fedora 17. https://admin.fedoraproject.org/updates/FEDORA-2012-7203/libwacom-0.5-2.fc17 The libwacom/libwacom-data 0.5-2 update finally fixes the cause of this crash. The /usr/share/libwacom/bamboo-pen-and-touch.tablet has been updated to have a valid stylus definition (as referenced above, it was changed to "Styli=0xfffff;0xffffe" I am assuming that gnome-settings-daemon and gnome-control-center haven't been patched yet to prevent crashes if this occurs again, but the reason for this bug appears to be fixed. Adam, should this bug remain open since the gnome-settings-daemon and gnome-control-center haven't been patched yet, and it's had quite a bit of discussion here? Or should it be closed (once determined this fix doesn't cause big issues someplace) since the root cause of this bug has been fixed? Daniel, would it be possible for you to provide the device description for your "Bamboo Pen & Touch" tablet using "evemu-describe" as per comment #33? That could help with testing, for those who don't have the device at hand. Sure can. [root@tower20 libwacom]# evemu-describe /dev/input/event5 N: Wacom Bamboo 2FG 4x5 Pen I: 0003 056a 00d1 0106 P: 01 00 00 00 00 00 00 00 B: 00 0b 00 00 00 00 00 00 00 B: 01 00 00 00 00 00 00 00 00 B: 01 00 00 00 00 00 00 00 00 B: 01 00 00 00 00 00 00 00 00 B: 01 00 00 00 00 00 00 00 00 B: 01 00 00 00 00 00 00 00 00 B: 01 03 1c 00 00 00 00 00 00 B: 01 00 00 00 00 00 00 00 00 B: 01 00 00 00 00 00 00 00 00 B: 01 00 00 00 00 00 00 00 00 B: 01 00 00 00 00 00 00 00 00 B: 01 00 00 00 00 00 00 00 00 B: 01 00 00 00 00 00 00 00 00 B: 02 00 00 00 00 00 00 00 00 B: 03 03 00 00 03 00 00 00 00 B: 04 00 00 00 00 00 00 00 00 B: 05 00 00 00 00 00 00 00 00 B: 11 00 00 00 00 00 00 00 00 B: 12 00 00 00 00 00 00 00 00 B: 15 00 00 00 00 00 00 00 00 B: 15 00 00 00 00 00 00 00 00 A: 00 0 14720 4 0 A: 01 0 9200 4 0 A: 18 0 1023 0 0 A: 19 0 31 0 0 [root@tower20 libwacom]# evemu-describe /dev/input/event6 N: Wacom Bamboo 2FG 4x5 Finger I: 0003 056a 00d1 0106 P: 01 00 00 00 00 00 00 00 B: 00 0b 00 00 00 00 00 00 00 B: 01 00 00 00 00 00 00 00 00 B: 01 00 00 00 00 00 00 00 00 B: 01 00 00 00 00 00 00 00 00 B: 01 00 00 00 00 00 00 00 00 B: 01 00 00 63 00 00 00 00 00 B: 01 20 24 00 00 00 00 00 00 B: 01 00 00 00 00 00 00 00 00 B: 01 00 00 00 00 00 00 00 00 B: 01 00 00 00 00 00 00 00 00 B: 01 00 00 00 00 00 00 00 00 B: 01 00 00 00 00 00 00 00 00 B: 01 00 00 00 00 00 00 00 00 B: 02 00 00 00 00 00 00 00 00 B: 03 03 00 00 00 00 80 60 02 B: 04 00 00 00 00 00 00 00 00 B: 05 00 00 00 00 00 00 00 00 B: 11 00 00 00 00 00 00 00 00 B: 12 00 00 00 00 00 00 00 00 B: 15 00 00 00 00 00 00 00 00 B: 15 00 00 00 00 00 00 00 00 A: 00 0 15360 128 0 A: 01 0 10240 128 0 A: 2f 0 1 0 0 A: 35 0 15360 128 0 A: 36 0 10240 128 0 A: 39 0 65535 0 0 Is this all you need, or do you need more? also, output from lsusb: Bus 002 Device 005: ID 056a:00d1 Wacom Co., Ltd Bamboo Pen & Touch (CTH-460-DE) Device Descriptor: bLength 18 bDescriptorType 1 bcdUSB 2.00 bDeviceClass 0 (Defined at Interface level) bDeviceSubClass 0 bDeviceProtocol 0 bMaxPacketSize0 64 idVendor 0x056a Wacom Co., Ltd idProduct 0x00d1 Bamboo Pen & Touch (CTH-460-DE) bcdDevice 1.06 iManufacturer 1 Wacom Co.,Ltd. iProduct 2 CTH-460 iSerial 0 bNumConfigurations 1 Configuration Descriptor: bLength 9 bDescriptorType 2 wTotalLength 59 bNumInterfaces 2 bConfigurationValue 1 iConfiguration 0 bmAttributes 0x80 (Bus Powered) MaxPower 98mA Interface Descriptor: bLength 9 bDescriptorType 4 bInterfaceNumber 0 bAlternateSetting 0 bNumEndpoints 1 bInterfaceClass 3 Human Interface Device bInterfaceSubClass 1 Boot Interface Subclass bInterfaceProtocol 2 Mouse iInterface 0 HID Device Descriptor: bLength 9 bDescriptorType 33 bcdHID 1.00 bCountryCode 0 Not supported bNumDescriptors 1 bDescriptorType 34 Report wDescriptorLength 176 Report Descriptors: ** UNAVAILABLE ** Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x81 EP 1 IN bmAttributes 3 Transfer Type Interrupt Synch Type None Usage Type Data wMaxPacketSize 0x0009 1x 9 bytes bInterval 4 Interface Descriptor: bLength 9 bDescriptorType 4 bInterfaceNumber 1 bAlternateSetting 0 bNumEndpoints 1 bInterfaceClass 3 Human Interface Device bInterfaceSubClass 0 No Subclass bInterfaceProtocol 0 None iInterface 0 HID Device Descriptor: bLength 9 bDescriptorType 33 bcdHID 1.00 bCountryCode 0 Not supported bNumDescriptors 1 bDescriptorType 34 Report wDescriptorLength 75 Report Descriptors: ** UNAVAILABLE ** Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x82 EP 2 IN bmAttributes 3 Transfer Type Interrupt Synch Type None Usage Type Data wMaxPacketSize 0x0040 1x 64 bytes bInterval 4 Device Status: 0x0000 (Bus Powered) Created attachment 582209 [details]
output of evemu-descirbe as txt file
Output of evemu-describe for the Wacom Bamboo Pen & Touch as a txt file
Created attachment 582210 [details]
output of evemu-describe as txt file
Output of evemu-describe for the Wacom Bamboo Pen & Touch as a txt file
I added the 2 outputs of evemu-describe as txt file atachemnts above. One for the Pen and one for the Finger devices. libwacom-0.5-3.fc17 has been submitted as an update for Fedora 17. https://admin.fedoraproject.org/updates/libwacom-0.5-3.fc17 Package libwacom-0.5-3.fc17: * should fix your issue, * was pushed to the Fedora 17 testing repository, * should be available at your local mirror within two days. Update it with: # su -c 'yum update --enablerepo=updates-testing libwacom-0.5-3.fc17' as soon as you are able to. Please go to the following url: https://admin.fedoraproject.org/updates/FEDORA-2012-7509/libwacom-0.5-3.fc17 then log in and leave karma (feedback). Daniel: can you please test and provide karma for the update? We need it to ensure it gets in the release. thanks! -- Fedora Bugzappers volunteer triage team https://fedoraproject.org/wiki/BugZappers Works fine for me here, Adam. I wasn't affected by bug 819191 and the libwacom 0.5-2 fixed the issues in this bug. 0.5-3 remains fixed and working. libwacom-0.5-3.fc17 has been pushed to the Fedora 17 stable repository. If problems still persist, please make note of it in this bug report. |