Re: [Touchd-devel] Interested by touchd
Status: Alpha
Brought to you by:
tannewt
From: Anthony C. <cal...@gm...> - 2008-05-06 19:55:19
|
Hey Scott, It's a clean Ubuntu 8.04 i386 install (not in use yet except for testing) the lspci and lspci -n output : ~$ lspci 00:00.0 Host bridge: Intel Corporation Mobile PM965/GM965/GL960 Memory Controller Hub (rev 03) 00:01.0 PCI bridge: Intel Corporation Mobile PM965/GM965/GL960 PCI Express Root Port (rev 03) 00:1a.0 USB Controller: Intel Corporation 82801H (ICH8 Family) USB UHCI Controller #4 (rev 03) 00:1a.1 USB Controller: Intel Corporation 82801H (ICH8 Family) USB UHCI Controller #5 (rev 03) 00:1a.7 USB Controller: Intel Corporation 82801H (ICH8 Family) USB2 EHCI Controller #2 (rev 03) 00:1b.0 Audio device: Intel Corporation 82801H (ICH8 Family) HD Audio Controller (rev 03) 00:1c.0 PCI bridge: Intel Corporation 82801H (ICH8 Family) PCI Express Port 1 (rev 03) 00:1c.2 PCI bridge: Intel Corporation 82801H (ICH8 Family) PCI Express Port 3 (rev 03) 00:1c.4 PCI bridge: Intel Corporation 82801H (ICH8 Family) PCI Express Port 5 (rev 03) 00:1c.5 PCI bridge: Intel Corporation 82801H (ICH8 Family) PCI Express Port 6 (rev 03) 00:1d.0 USB Controller: Intel Corporation 82801H (ICH8 Family) USB UHCI Controller #1 (rev 03) 00:1d.1 USB Controller: Intel Corporation 82801H (ICH8 Family) USB UHCI Controller #2 (rev 03) 00:1d.2 USB Controller: Intel Corporation 82801H (ICH8 Family) USB UHCI Controller #3 (rev 03) 00:1d.7 USB Controller: Intel Corporation 82801H (ICH8 Family) USB2 EHCI Controller #1 (rev 03) 00:1e.0 PCI bridge: Intel Corporation 82801 Mobile PCI Bridge (rev f3) 00:1f.0 ISA bridge: Intel Corporation 82801HEM (ICH8M) LPC Interface Controller (rev 03) 00:1f.1 IDE interface: Intel Corporation 82801HBM/HEM (ICH8M/ICH8M-E) IDE Controller (rev 03) 00:1f.2 IDE interface: Intel Corporation 82801HBM/HEM (ICH8M/ICH8M-E) SATA IDE Controller (rev 03) 00:1f.3 SMBus: Intel Corporation 82801H (ICH8 Family) SMBus Controller (rev 03) 01:00.0 VGA compatible controller: nVidia Corporation GeForce 8600M GT (rev a1) 0b:00.0 Network controller: Broadcom Corporation BCM4328 802.11a/b/g/n (rev 05) 0c:00.0 Ethernet controller: Marvell Technology Group Ltd. Marvell Yukon 88E8058 PCI-E Gigabit Ethernet Controller (rev 13) 0d:03.0 FireWire (IEEE 1394): Texas Instruments TSB82AA2 IEEE-1394b Link Layer Controller (rev 02) ~$ lspci -n 00:00.0 0600: 8086:2a00 (rev 03) 00:01.0 0604: 8086:2a01 (rev 03) 00:1a.0 0c03: 8086:2834 (rev 03) 00:1a.1 0c03: 8086:2835 (rev 03) 00:1a.7 0c03: 8086:283a (rev 03) 00:1b.0 0403: 8086:284b (rev 03) 00:1c.0 0604: 8086:283f (rev 03) 00:1c.2 0604: 8086:2843 (rev 03) 00:1c.4 0604: 8086:2847 (rev 03) 00:1c.5 0604: 8086:2849 (rev 03) 00:1d.0 0c03: 8086:2830 (rev 03) 00:1d.1 0c03: 8086:2831 (rev 03) 00:1d.2 0c03: 8086:2832 (rev 03) 00:1d.7 0c03: 8086:2836 (rev 03) 00:1e.0 0604: 8086:2448 (rev f3) 00:1f.0 0601: 8086:2815 (rev 03) 00:1f.1 0101: 8086:2850 (rev 03) 00:1f.2 0101: 8086:2828 (rev 03) 00:1f.3 0c05: 8086:283e (rev 03) 01:00.0 0300: 10de:0407 (rev a1) 0b:00.0 0280: 14e4:4328 (rev 05) 0c:00.0 0200: 11ab:436a (rev 13) 0d:03.0 0c00: 104c:8025 (rev 02) ~$ uname -a Linux christelle-laptop 2.6.24-16-generic #1 SMP Thu Apr 10 13:23:42 UTC 2008 i686 GNU/Linux ~$ dbus-daemon --version D-Bus Message Bus Daemon 1.1.20 ~$ apt-cache show dbus Package: dbus Priority: optional ... Architecture: i386 Version: 1.1.20-1ubuntu1 ~$ openusb-config --version 1.0.1 (downloaded and compiled) And a bit more information provided by MacOS : MacBook Pro 4.1 Intel Core 2 Duo 2.4 Boot ROM Version : MBP41.00C1.B00 LeTic On Mon, May 5, 2008 at 4:53 PM, Scott Shawcroft <sco...@gm...> wrote: > 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 >> >> >> >> |