[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [bluetooth-dev] seg fault in sdp_server



"Patrick O. Murphy" wrote:

> After upgrading my system to kernel 2.4.3, sdp_server started seg faulting
> the first time it gets called by btd. btd still works great, but when a
> remote machine attempts service discovery, sdp_server begins its work then
> dies.
>
> I turned on all the debugging in sdp_server and sdp_parser- the last few
> debug line printed are:
>
> sdp_server: sdp_parse_data: SDP_SERVICESEARCH_REQ 8 bytes
> sdp_server: process_service_search_req: Got 8 bytes
> sdp_server: process_service_search_req: des_len: 3, new_p os: 2
> sdp_server: process_service_search_req: Found UUID16 0x11 09
> sdp_server: process_service_search_req:  max_rec_cnt: 256
> sdp_server: get_from_xml: Looking for attribute
>
> Then it seg faults. I added a bunch of printfs to track down the offending
> line of code, but I got stuck on a line in xmlparser.c (sdp_server calls
> sdp_parser which calls xmlparse.c which dies on a function call to a
> function in xmotok/xmlrole.h). My best guess at the offending line is 2043
> in xmlparse.c:
>   switch (XmlTokenRole(&prologState, tok, s, next, encoding)) {
>
> Where XmlTokenRole is defined in xmltok/xmlrole.h (line 104). I added
> printfs to every case in this switch- none ever get reached, but the
> switch never breaks (i.e. the printf after the switch {...} never gets
> called).
>
> any ideas?

Have you tried running sdp_server under gdb?

--gmcnutt

-
To unsubscribe from this list: send the line "unsubscribe bluetooth-dev" in
the body of a message to majordomo@xxxxxxx.com