bthidd core dumped
Maksim Yevmenkin
maksim.yevmenkin at savvis.net
Wed May 18 13:57:19 PDT 2005
Eric,
>>>>>> This morning, I booted up and began using my laptop with my
>>>>>> bluetooth mouse. I've been using this mouse for several days now
>>>>>> without a single problem. Yesterday I added a new bluetooth
>>>>>> mouse (MS Intellimouse), and had both running simultaneously just
>>>>>> fine all day yesterday and last night. This morning, after my
>>>>>> machine was up for about 30-40 minutes, my mouse stopped working.
>>>>>> I hit the buttons, switched the on/off switch, etc. I was only
>>>>>> using one mouse at the time (however, my second mouse was
>>>>>> probably within range and I believe it was on in my backpack).
>>>>>> After messing with the switch a few times, bthidd core dumped. I
>>>>>> restarted it, and hit the switch on my mouse a few more times,
>>>>>> and then I got mouse services back.
>>>>>
>>>>> [...]
>>>>>
>>>>>> May 18 06:44:38 neutrino kernel: pid 482 (bthidd), uid 0: exited
>>>>>> on signal 6 (core dumped)
>>>>>
>>>>> signal 6 is SIGABRT (abort(3)). i bet one of the assert()'s fired.
>>>>> do you still have bthidd(8) core file? it should be in /. can you
>>>>> try to get a stack trace or at least assert()'s message? can you
>>>>> try to reproduce the problem with bthidd(8) running in foreground?
>>>>
>>>> Yes, I still have the core file, but I'm not sure what to do with it
>>>> :)
>>>
>>> gdb /path/to/executable/bthidd /path/to/code/bthidd.core
>>>
>>> and send me the output of gdb. then at (gdb) prompt type
>>>
>>> (gdb) where
>>>
>>> and send me the output
>>
>> # gdb /usr/sbin/bthidd /bthidd.core
>
> [...]
>
>> Is that what you needed?
>
> yes, thanks. just like i suspected one of the assert()s fired. i'm going
> to look at this. just one question: can you put the core file somewhere
> i can download it? if you can it would help me to troubleshoot the
> problem faster. if you cant - no big deal.
ok, i found the problem. i have attached the patch that should fix it.
please do
1) save attached patch somewhere
2) cd /usr/src/usr.sbin/bluetooth/bthidd
3) patch < /path/to/saved/bthidd.patch.txt
4) make cleandir && make depend && make && make install
this patch is against bthidd(8) sources committed to -current.
thanks,
max
>
> max
> _______________________________________________
> freebsd-bluetooth at freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-bluetooth
> To unsubscribe, send any mail to
> "freebsd-bluetooth-unsubscribe at freebsd.org"
-------------- next part --------------
Index: parser.y
===================================================================
RCS file: /home/ncvs/src/usr.sbin/bluetooth/bthidd/parser.y,v
retrieving revision 1.3
diff -u -r1.3 parser.y
--- parser.y 12 Jan 2005 20:06:16 -0000 1.3
+++ parser.y 18 May 2005 20:51:36 -0000
@@ -315,12 +315,12 @@
for (i = 0; i < desc->size; i ++) {
if ((i % 8) == 0)
- fprintf(stdout, "\n ");
+ fprintf(f, "\n ");
fprintf(f, "0x%2.2x ", desc->data[i]);
}
- fprintf(stdout,
+ fprintf(f,
"\n" \
" };\n" \
"}\n");
Index: server.c
===================================================================
RCS file: /home/ncvs/src/usr.sbin/bluetooth/bthidd/server.c,v
retrieving revision 1.2
diff -u -r1.2 server.c
--- server.c 18 Nov 2004 18:05:15 -0000 1.2
+++ server.c 18 May 2005 20:51:36 -0000
@@ -332,7 +332,8 @@
char data[1024];
int len;
- assert(s != NULL);
+ if (s == NULL)
+ return (0); /* can happen on device disconnect */
do {
len = read(fd, data, sizeof(data));
More information about the freebsd-bluetooth
mailing list