Re: [Touchd-devel] Interested by touchd
Status: Alpha
Brought to you by:
tannewt
From: Anthony C. <cal...@gm...> - 2008-05-09 19:53:47
|
Hey Scott, I found the culprit ! It was indeed openusb I tried with revision 139 and it's working ! Thanks for the help I will help somebody else as well LeTic On Fri, May 9, 2008 at 1:45 AM, Anthony Callegaro <cal...@gm...> wrote: > Hey Scott, > > I just tried the live 64bit Ubuntu recompile everything and I ran into the > same error, so the only difference I guess is openusb. I will try rev 138 > tomorrow, I'm running out of battery now ;o) > > FYI the lsusb you asked : > Bus 006 Device 001: ID 0000:0000 > Bus 007 Device 003: ID 05ac:0230 Apple Computer, Inc. > Bus 007 Device 002: ID 05ac:8242 Apple Computer, Inc. > Bus 007 Device 001: ID 0000:0000 > Bus 005 Device 001: ID 0000:0000 > Bus 002 Device 001: ID 0000:0000 > Bus 001 Device 003: ID 05ac:820f Apple Computer, Inc. > Bus 001 Device 002: ID 0a5c:4500 Broadcom Corp. > Bus 001 Device 001: ID 0000:0000 > Bus 004 Device 002: ID 05ac:8502 Apple Computer, Inc. > Bus 004 Device 001: ID 0000:0000 > Bus 003 Device 001: ID 0000:0000 > > Thanks for the answer > LeTic > > > On Wed, May 7, 2008 at 7:14 AM, Scott Shawcroft <sco...@gm...> > wrote: > >> Anthony, >> Here are what mine are. I'm not to sure why this is not working. >> However, I am using openusb from svn rev 138. The architecture is also >> different. >> ~Scott >> >> Anthony Callegaro wrote: >> >>> Hey Scott, >>> >>> It's a clean Ubuntu 8.04 i386 install (not in use yet except for testing) >>> the lspci and lspci -n output : >>> >> How bout a lsusb? >> >>> >>> >>> ~$ uname -a >>> Linux christelle-laptop 2.6.24-16-generic #1 SMP Thu Apr 10 13:23:42 UTC >>> 2008 i686 GNU/Linux >>> >> tannewt@wintergreen:~$ uname -a >> Linux wintergreen 2.6.24-16-generic #1 SMP Thu Apr 10 12:47:45 UTC 2008 >> x86_64 GNU/Linux >> >>> >>> ~$ dbus-daemon --version >>> D-Bus Message Bus Daemon 1.1.20 >>> >> tannewt@wintergreen:~$ 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 >>> >> tannewt@wintergreen:~$ apt-cache show dbus >> ... >> Architecture: amd64 >> Version: 1.1.20-1ubuntu1 >> >> >>> ~$ openusb-config --version >>> 1.0.1 >>> (downloaded and compiled) >>> >> tannewt@wintergreen:~$ openusb-config --version >> 1.0.1 >> >>> >>> 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... <mailto: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...> >>> <mailto: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...>> >>> <mailto: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> >>> <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 >>> >>> >>> >>> >>> > |