Re: [Touchd-devel] Interested by touchd
Status: Alpha
Brought to you by:
tannewt
From: Scott S. <sco...@gm...> - 2008-05-05 15:53:34
|
LeTic, What would help now is knowing more about your system. What distro? What architecture? An lspci. What version of dbus do you have? What version of OpenUSB? What kernel? I don't think its a problem with my code. However, theres always a chance there is. Thanks, Scott Anthony Callegaro wrote: > 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... <mailto: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...> > <mailto: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> > <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 > > > |