Re: [Touchd-devel] Interested by touchd
Status: Alpha
Brought to you by:
tannewt
From: Anthony C. <cal...@gm...> - 2008-05-05 12:26:16
|
Hey Scott, Cheers for that. I used your new code and here is the result of my investigation : If I run touchd in the terminal this is what I get : ./touchd ** (process:27596): DEBUG: Running touchd version alpha 2. ** (process:27596): DEBUG: Connecting to the Session D-Bus. ** (process:27596): DEBUG: Registering the well-known name (org.tannewt.touchd). ** (process:27596): DEBUG: RequestName returned 1. ** (process:27596): DEBUG: Creating one Touchd object. ** (process:27596): DEBUG: Initializing Touchd class. ** (process:27596): DEBUG: Creating the signals. ** (process:27596): DEBUG: Binding to GLib/D-Bus. ** (process:27596): DEBUG: Initializing TouchdObject. ** (process:27596): DEBUG: Registering it on the D-Bus. ** (process:27596): DEBUG: Ready to serve requests. ** (process:27596): DEBUG: Setting up uinput device. ** (process:27596): DEBUG: Running the device. ** (process:27596): DEBUG: Initializing the hardware. Segmentation fault I next tried in gdb : (gdb) run Starting program: /home/letic/Desktop/touchd-svn/src/touchd [Thread debugging using libthread_db enabled] ** (process:8084): DEBUG: Running touchd version alpha 2. ** (process:8084): DEBUG: Connecting to the Session D-Bus. ** (process:8084): DEBUG: Registering the well-known name (org.tannewt.touchd). ** (process:8084): DEBUG: RequestName returned 1. ** (process:8084): DEBUG: Creating one Touchd object. ** (process:8084): DEBUG: Initializing Touchd class. ** (process:8084): DEBUG: Creating the signals. ** (process:8084): DEBUG: Binding to GLib/D-Bus. ** (process:8084): DEBUG: Initializing TouchdObject. ** (process:8084): DEBUG: Registering it on the D-Bus. ** (process:8084): DEBUG: Ready to serve requests. ** (process:8084): DEBUG: Setting up uinput device. ** (process:8084): DEBUG: Running the device. [New Thread 0xb7bd5720 (LWP 8084)] [New Thread 0xb7bd4b90 (LWP 8093)] ** (process:8084): DEBUG: Initializing the hardware. [New Thread 0xb73d3b90 (LWP 8095)] [New Thread 0xb6bacb90 (LWP 8101)] Program received signal SIGSEGV, Segmentation fault. [Switching to Thread 0xb6bacb90 (LWP 8101)] 0xb7ca6463 in memmove () from /lib/tls/i686/cmov/libc.so.6 (gdb) bt #0 0xb7ca6463 in memmove () from /lib/tls/i686/cmov/libc.so.6 #1 0xb7ed13b2 in ?? () from /usr/lib/libdbus-1.so.3 #2 0x080674a0 in ?? () #3 0x0806947f in ?? () #4 0xffffe021 in ?? () #5 0xb7ecf479 in ?? () from /usr/lib/libdbus-1.so.3 #6 0x08059be0 in ?? () #7 0x0805a470 in ?? () #8 0x00000000 in ?? () As I don't know gdb that well I then used nemiver (gnome frontend for gdb) to get the source backtrace manually and here is what I get : So in touchd.c it hangs on line 274 : MultitouchData* md = multitouch_init(touchdObj->device->queue); multitouch.c line 67 : int32_t result = openusb_init(0 , &handle ); usb.c line 618 : usbi_rescan_devices(); devices.c line 258 : ibus->ops->refresh_devices(ibus); linux.c line 2214 : device_names = libhal_get_all_devices (hal_ctx, &num_devices, &error); I can't get any further than this. I guess I would need to download hal sources to follow... Let me know if I can give you more information, and what you would need. Cheers LeTic On Fri, May 2, 2008 at 3:11 AM, Scott Shawcroft <sco...@gm...> wrote: > LeTic, > I totally forgot! I also checked it into subversion. > Thanks, > Scott > > Anthony Callegaro wrote: > >> Hey Scott, >> >> Thanks for the answer but you must have forgot the attachment :o) I >> thought it was in the SVN... Could you send me your new version of touchd.c >> so I could try to debug a bit further ? >> >> Cheers >> LeTic >> >> On Thu, May 1, 2008 at 3:54 AM, Scott Shawcroft < >> sco...@gm... <mailto:sco...@gm...>> wrote: >> >> LeTic, >> Neat! I've never had that problem before. Are you running Hardy >> Heron? I agree with you that the main loop was in device_new but >> am uncertain thats where the problem was because the backtrace had >> dbus stuff in it. In fact you can see the segfault comes from >> process 6531 and the uinput stuff should be in 6512 still. >> >> I've attached a new version of touchd.c with more debug >> statements. They'll give us a better idea about how far the main >> loop is getting. However, I think its a dbus problem. >> Thanks, >> Scott >> >> P.S. I cced the touchd-devel mailing list to archive the issue. >> You can join it through the sourceforge project page at >> sf.net/projects/touchd <http://sf.net/projects/touchd>. >> >> >> >> >> Anthony Callegaro wrote: >> >> Hi Tannewt, >> >> My girlfriend bought a MacBook Pro 4.1 like yours being used >> to have Debian on our home box I installed Ubuntu for her. >> When trying to get touchd working I hit some issues. >> >> ./touchd >> ** (process:6418): DEBUG: Running touchd version alpha 2. >> ** (process:6418): DEBUG: Connecting to the Session D-Bus. >> ** (process:6418): DEBUG: Registering the well-known name >> (org.tannewt.touchd). >> ** (process:6418): DEBUG: RequestName returned 1. >> ** (process:6418): DEBUG: Creating one Touchd object. >> ** (process:6418): DEBUG: Initializing Touchd class. >> ** (process:6418): DEBUG: Creating the signals. >> ** (process:6418): DEBUG: Binding to GLib/D-Bus. >> ** (process:6418): DEBUG: Initializing TouchdObject. >> ** (process:6418): DEBUG: Registering it on the D-Bus. >> ** (process:6418): DEBUG: Ready to serve requests. >> ** (process:6418): DEBUG: Setting up uinput device. >> Segmentation fault >> >> The backtrace in gdb isn't very verbose >> ** (process:6512): DEBUG: Setting up uinput device. >> [New Thread 0xb7cab720 (LWP 6512)] >> [New Thread 0xb7caab90 (LWP 6523)] >> [New Thread 0xb74a9b90 (LWP 6528)] >> [New Thread 0xb6c82b90 (LWP 6531)] >> >> Program received signal SIGSEGV, Segmentation fault. >> [Switching to Thread 0xb6c82b90 (LWP 6531)] >> 0xb7d7c463 in memmove () from /lib/tls/i686/cmov/libc.so.6 >> (gdb) bt >> #0 0xb7d7c463 in memmove () from /lib/tls/i686/cmov/libc.so.6 >> #1 0xb7fa73b2 in ?? () from /usr/lib/libdbus-1.so.3 >> #2 0x080672a0 in ?? () >> #3 0x0806927f in ?? () >> #4 0xffffe042 in ?? () >> #5 0xb7fa5479 in ?? () from /usr/lib/libdbus-1.so.3 >> #6 0x08059b60 in ?? () >> #7 0x0805a3f0 in ?? () >> #8 0x00000000 in ?? () >> >> It might be coming from : >> touchdObj->device = device_new(); >> >> But my uinput device is correctly created in /dev/input/uinput >> >> Any idea to get me started ? >> >> Anyway I would be very interested in helping you in this >> project. Let me know what I can do. >> Cheers >> LeTic >> >> >> |