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

[bluetooth-dev] seg fault in sdp_server



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?
	thanks, patrick

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