Summary: | Wacom Tablet kded module crashed | ||
---|---|---|---|
Product: | [Plasma] wacomtablet | Reporter: | Oldřich Jedlička <oldium.pro> |
Component: | general | Assignee: | Jörg Ehrichs <Joerg.Ehrichs> |
Status: | RESOLVED FIXED | ||
Severity: | crash | CC: | gokcen.eraslan, gokuhpirata |
Priority: | NOR | ||
Version: | unspecified | ||
Target Milestone: | --- | ||
Platform: | Compiled Sources | ||
OS: | Linux | ||
Latest Commit: | Version Fixed In: | ||
Sentry Crash Report: |
Description
Oldřich Jedlička
2011-05-15 17:08:31 UTC
This belongs to wacomtablet application, version 1.3.1, but DrKonqi didn't offer me to change it even I know it is there. There is problem in handling XGenericEventCookie - accessing cookie->data without first calling XGetEventData. So the cookie->data is null and there is a segmentation fault as a result. This happens when I change things in a hurry. Still wonder why this didn't chrash my Kubuntu system though. I have to find the reason why my tablet wasn't recognized since I changed to Kubuntu Natty than. Short Question, does the 1.3.0 work for you? The only Change inbetween them is the line that cause the seg fault. (In reply to comment #2) > Short Question, does the 1.3.0 work for you? The only Change inbetween them is > the line that cause the seg fault. Short answer - yes. From the documentation (man page of XGetEventData) the cookie->data is null until you call XGetEventData. The data have to be freed with a call to XFreeEventData. The code in 1.3.1 doesn't call XGetEventData, but it calls XFreeEventData - this looks wrong. The question might be why the data pointer is usable when you access it on Kubuntu Natty without calling XGetEventData first (maybe somebody called it before you). I'm just guessing, I have actually no experience in this area. Somehow the coockie data is retrieved somewhere else before my routine runs. Thats why XGetEventData retrusn false and does not detect a tablet anymore on my system and my "fix" didn't crash the system. Nonetheless, I call XGetEventData again and now check if the data pointer is valid. This should again work for all systems. Could you please get the latest version from git and check this. Don't want to release another crashy release into the wild *** Bug 274346 has been marked as a duplicate of this bug. *** *** Bug 274608 has been marked as a duplicate of this bug. *** I will test it during this week, thanks. I've reviewed the patch and I think you should actually call XFreeEventData only in case the XGetEventData returned TRUE. I've tested the current git master and it works for me. It looks fine now, thanks :-) *** Bug 274935 has been marked as a duplicate of this bug. *** |