Hi ,

I'm adding the hot-plug support to the joystick input driver, but when
running in "multi-mode" with "linux-fusion-8.7.0", I'm getting a crash
after the first "plug/unplug/plug" below is the full trace:
Starting program: /usr/local/bin/df_input
--dfb:system=sdl,disable-module=linux_input
[Thread debugging using libthread_db enabled]

   ~~~~~~~~~~~~~~~~~~~~~~~~~~| DirectFB 1.6.0-pre1
|~~~~~~~~~~~~~~~~~~~~~~~~~~
        (c) 2001-2010  The world wide DirectFB Open Source Community
        (c) 2000-2004  Convergence (integrated media) GmbH
      ----------------------------------------------------------------

(*) DirectFB/Core: Multi Application Core. (2011-10-22 20:47) [ DEBUG ]
(*) Fusion/SHM: Using MADV_REMOVE (2.6.40.6 >= 2.6.19.2)
[New Thread 0xb7fd7b70 (LWP 9174)]
(*) Direct/Thread: Started 'Fusion Dispatch' (-1) [MESSAGING OTHER/OTHER
0/0] <8388608>...
[New Thread 0xb77d6b70 (LWP 9175)]
(*) Direct/Thread: Started 'Fusion Deferred' (-1) [MESSAGING OTHER/OTHER
0/0] <8388608>...
(!) Direct/Modules: Unable to dlopen
`/usr/local/lib/directfb-1.6-0/inputdrivers/libdirectfb_input_hub.so'!
    --> /usr/local/lib/directfb-1.6-0/inputdrivers/libdirectfb_input_hub.so:
undefined symbol: CoreInputHubClient_Activate
(*) Direct/Modules: suppress module 'linux_input'
[New Thread 0xb6d1db70 (LWP 9176)]
(*) Direct/Thread: Started 'SDL Input' (-1) [INPUT OTHER/OTHER 0/0]
<8388608>...
(*) DirectFB/Input: SDL Input 0.1 (Denis Oliver Kropp)
[New Thread 0xb651cb70 (LWP 9177)]
(*) Direct/Thread: Started 'Hotplug with Joystick' (-1) [INPUT OTHER/OTHER
0/0] <8388608>...
(*) DirectFB/Input: Hot-plug detection enabled with Joystick Driver
(*) DirectFB/Genefx: MMX detected and enabled
(*) DirectFB/Graphics: SDL Graphics 0.1 (directfb.org)
[New Thread 0xb5d1bb70 (LWP 9178)]
(*) Direct/Thread: Started 'Screen Update' (-1) [OUTPUT OTHER/OTHER 0/0]
<8388608>...
(*) DirectFB/Core/WM: Default 0.3 (directfb.org)
(*) Direct/Interface: Loaded 'FT2' implementation of 'IDirectFBFont'.
(*) Direct/Interface: Loaded 'PNG' implementation of
'IDirectFBImageProvider'.
[New Thread 0xb4fffb70 (LWP 9190)]
(*) Direct/Thread: Started 'Joystick Input' (-1) [INPUT OTHER/OTHER 0/0]
<8388608>...
(*) DirectFB/Input: Logitech Logitech RumblePad 2 US  (0) 0.9 (directfb.org)
 (!!!)  *** ONCE [Joystick sends JS_EVENT_INIT events, make sure it has been
calibrated using 'jscal -c'
] *** [joystick.c:117 in joystick_handle_event()]
(*)  closing device 0xb5000470
[Thread 0xb4fffb70 (LWP 9190) exited]
(!) [Hotplug with Joystick 1319330927.466] ( 9177) *** Assertion
[call->handler != NULL || call->handler3 != NULL] failed *** [call.c:478 in
fusion_call_destroy()]
(-) [Hotplug with Joy 1319330927.466,624] ( 9177) Direct/Trap:
Raising signal 5 from Assertion...

Program received signal SIGTRAP, Trace/breakpoint trap.
[Switching to Thread 0xb651cb70 (LWP 9177)]
0x00110424 in __kernel_vsyscall ()
Missing separate debuginfos, use: debuginfo-install SDL-1.2.14-12.fc15.i686
freetype-2.4.4-4.fc15.i686 freetype-2.4.4-5.fc15.i686 glibc-2.13.90-9.i686
libX11-1.4.3-1.fc15.i686 libXau-1.0.6-2.fc15.i686
libXcursor-1.1.11-3.fc15.i686 libXdamage-1.1.3-2.fc15.i686
libXext-1.2.0-2.fc15.i686 libXfixes-5.0-1.fc15.i686
libXrandr-1.3.1-2.fc15.i686 libXrender-0.9.6-2.fc15.i686
libXxf86vm-1.1.1-2.fc15.i686 libdrm-2.4.25-1.fc15.i686
libgcc-4.6.0-6.fc15.i686 libjpeg-turbo-1.1.0-2.fc15.i686
libpng-1.2.44-3.fc15.i686 libpng-1.2.46-1.fc15.i686
libstdc++-4.6.0-6.fc15.i686 libxcb-1.7-2.fc15.i686
mesa-libGL-7.11-0.9.20110509.0.fc15.i686 zlib-1.2.5-3.fc15.i686
(gdb) bt
#0  0x00110424 in __kernel_vsyscall ()
#1  0x4bd5d9d0 in sigqueue () from /lib/libc.so.6
#2  0x00312876 in direct_trap (domain=0x3155d6 "Assertion", sig=5) at
system.c:116
#3  0x002f406b in direct_assertion (exp=0x2e35d0 "call->handler != NULL ||
call->handler3 != NULL", func=0x2e3758 "fusion_call_destroy", file=0x2e32d8
"call.c", line=478)
    at debug.c:144
#4  0x002c33c8 in fusion_call_destroy (call=0x20199b24) at call.c:478
#5  0x00187753 in dfb_input_remove_device (device_index=0,
driver_in=0x809e938) at input.c:1812
#6  0x0032ac5d in js_hotplug_EventThread (thread=0x809e9d8,
hotplug_data=0x809c698) at joystick.c:475
#7  0x00314480 in direct_thread_main (arg=0x809e9d8) at thread.c:439
#8  0x4bec3c5e in start_thread () from /lib/libpthread.so.0
#9  0x4be07b4e in clone () from /lib/libc.so.6
(gdb)


in the src/core/input.c there is a call to " fusion_call_destroy(
&shared->call )" in "dfb_input_remove_device()"

but I was not able to understand how the "shared->call" is recreated after
the device is re-plugged.

regards.
Haithem.





-- 
*
"If you ask a question - you will be a fool for 5 minutes, otherwise
ignorant for rest of your life"
*
_______________________________________________
directfb-dev mailing list
directfb-dev@directfb.org
http://mail.directfb.org/cgi-bin/mailman/listinfo/directfb-dev

Reply via email to