MAP server crash during connection
Hi bluez team,
I have been trying to verify MAP Server obex profile on bluez 5.65.
While trying connection, I have noticed the crash on the server side (connection initiated from client side) and hence connection is failing. Please find the backtrace of the crash -
assertion failed "i == len" file "../../dbus-1.14.8/dbus/dbus-object-tree.c" line 1321 function _dbus_decompose_path /usr/lib/libdbus-1.so.3(_dbus_print_backtrace+0x28) [0xfffff7f4cc9c] /usr/lib/libdbus-1.so.3(_dbus_abort+0x14) [0xfffff7f4fe3c]
/usr/lib/libdbus-1.so.3(+0x4a9cc) [0xfffff7f3a9cc]
/usr/lib/libdbus-1.so.3(+0x36c5c) [0xfffff7f26c5c] /usr/lib/libdbus-1.so.3(dbus_connection_get_object_path_data+0xc4) [0xfffff7f0f818] /usr/libexec/bluetooth/obexd(g_dbus_emit_property_changed_full+0x30) [0x450dc4] /usr/libexec/bluetooth/obexd(g_dbus_emit_property_changed+0x14) [0x450ec0] /usr/libexec/bluetooth/obexd(manager_emit_transfer_property+0x34) [0x429408] /usr/libexec/bluetooth/obexd(obex_put_stream_start+0xc8) [0x42b314] /usr/libexec/bluetooth/obexd() [0x425f58]
/usr/libexec/bluetooth/obexd() [0x42adcc]
/usr/libexec/bluetooth/obexd() [0x4171dc]
/usr/libexec/bluetooth/obexd() [0x418078]
/usr/lib/libglib-2.0.so.0(+0xb20cc) [0xfffff7e420cc]
/usr/lib/libglib-2.0.so.0(+0x54a30) [0xfffff7de4a30] /usr/lib/libglib-2.0.so.0(g_main_context_dispatch+0x44) [0xfffff7de850c] /usr/lib/libglib-2.0.so.0(+0x5868c) [0xfffff7de868c] /usr/lib/libglib-2.0.so.0(g_main_loop_run+0x1ac) [0xfffff7de8b08] /usr/libexec/bluetooth/obexd(main+0x128) [0x427d6c]
/lib/libc.so.6(+0x2affc) [0xfffff7c0affc]
/lib/libc.so.6(__libc_start_main+0x90) [0xfffff7c0b0c4]
/usr/libexec/bluetooth/obexd(_start+0x30) [0x4101b0]
Program received signal SIGABRT, Aborted.
__pthread_kill_implementation (threadid=<optimized out>, signo=signo@entry=6, no_tid=no_tid@entry=0) at pthread_kill.c:4
Please help support the issue.
Thanks,
Amisha
Hi,
Please help with the below issue.
Quoted 50 lines
-----Original Message-----
From: Amisha Jain (QUIC)
Sent: Friday, May 31, 2024 12:34 PM
To: '[email protected]' <[email protected]>
Subject: MAP server crash during connectionHi bluez team,
I have been trying to verify MAP Server obex profile on bluez 5.65. While trying connection, I have noticed the crash on the server side (connection initiated from client side) and hence connection is failing. Please find the backtrace of the crash -assertion failed "i == len" file "
../../dbus-1.14.8/dbus/dbus-object-tree.c" line 1321 function_dbus_decompose_path/usr/lib/libdbus-1.so.3(_dbus_print_backtrace+0x28) [0xfffff7f4cc9c] /usr/lib/libdbus-1.so.3(_dbus_abort+0x14) [0xfffff7f4fe3c] /usr/lib/libdbus-1.so.3(+0x4a9cc) [0xfffff7f3a9cc] /usr/lib/libdbus-1.so.3(+0x36c5c) [0xfffff7f26c5c] /usr/lib/libdbus-1.so.3(dbus_connection_get_object_path_data+0xc4) [0xfffff7f0f818] /usr/libexec/bluetooth/obexd(g_dbus_emit_property_changed_full+0x30) [0x450dc4] /usr/libexec/bluetooth/obexd(g_dbus_emit_property_changed+0x14) [0x450ec0] /usr/libexec/bluetooth/obexd(manager_emit_transfer_property+0x34) [0x429408] /usr/libexec/bluetooth/obexd(obex_put_stream_start+0xc8) [0x42b314] /usr/libexec/bluetooth/obexd() [0x425f58] /usr/libexec/bluetooth/obexd() [0x42adcc] /usr/libexec/bluetooth/obexd() [0x4171dc] /usr/libexec/bluetooth/obexd() [0x418078] /usr/lib/libglib-2.0.so.0(+0xb20cc) [0xfffff7e420cc] /usr/lib/libglib-2.0.so.0(+0x54a30) [0xfffff7de4a30] /usr/lib/libglib-2.0.so.0(g_main_context_dispatch+0x44) [0xfffff7de850c] /usr/lib/libglib-2.0.so.0(+0x5868c) [0xfffff7de868c] /usr/lib/libglib-2.0.so.0(g_main_loop_run+0x1ac) [0xfffff7de8b08] /usr/libexec/bluetooth/obexd(main+0x128) [0x427d6c] /lib/libc.so.6(+0x2affc) [0xfffff7c0affc] /lib/libc.so.6(__libc_start_main+0x90) [0xfffff7c0b0c4] /usr/libexec/bluetooth/obexd(_start+0x30) [0x4101b0]Program received signal SIGABRT, Aborted.
__pthread_kill_implementation (threadid=<optimized out>, signo=signo@entry=6, no_tid=no_tid@entry=0) at pthread_kill.c:4
Please help support the issue.
Thanks,
Amisha
Hi,
To resolve the MAP crash issue, We have added the below fix -
obexd/src/obex.c +1 -1
@@ -716,7 +716,7 @@ int obex_put_stream_start(struct obex_session *os, const char *filename)return err; } -if (os->size !=OBJECT_SIZE_DELETE && os->size !=OBJECT_SIZE_UNKNOWN ) +if (os->size !=OBJECT_SIZE_DELETE && os->size !=OBJECT_SIZE_UNKNOWN &&strcmp (os->service->name,"Message Access server" ) !=0 )manager_emit_transfer_property (os->service_data,"Size" ); os->path =g_strdup (filename);
--
Please review the above fix and let us know if we can go ahead with this change.
Thanks,
Amisha
Quoted 61 lines
-----Original Message-----
From: Amisha Jain (QUIC)
Sent: Tuesday, June 4, 2024 11:43 AM
To: '[email protected]' <[email protected]>
Subject: RE: MAP server crash during connectionHi,
Please help with the below issue.Quoted 52 lines
-----Original Message-----
From: Amisha Jain (QUIC)
Sent: Friday, May 31, 2024 12:34 PM
To: '[email protected]'
<[email protected]>
Subject: MAP server crash during connectionHi bluez team,
I have been trying to verify MAP Server obex profile on bluez 5.65. While trying connection, I have noticed the crash on the server side (connection initiated from client side) and hence connection is failing. Please find the backtrace of the crash -assertion failed "i == len" file "
../../dbus-1.14.8/dbus/dbus-object-tree.c" line 1321 function_dbus_decompose_path/usr/lib/libdbus-1.so.3(_dbus_print_backtrace+0x28) [0xfffff7f4cc9c] /usr/lib/libdbus-1.so.3(_dbus_abort+0x14) [0xfffff7f4fe3c] /usr/lib/libdbus-1.so.3(+0x4a9cc) [0xfffff7f3a9cc] /usr/lib/libdbus-1.so.3(+0x36c5c) [0xfffff7f26c5c] /usr/lib/libdbus-1.so.3(dbus_connection_get_object_path_data+0xc4) [0xfffff7f0f818] /usr/libexec/bluetooth/obexd(g_dbus_emit_property_changed_full+0x30) [0x450dc4] /usr/libexec/bluetooth/obexd(g_dbus_emit_property_changed+0x14) [0x450ec0] /usr/libexec/bluetooth/obexd(manager_emit_transfer_property+0x34) [0x429408] /usr/libexec/bluetooth/obexd(obex_put_stream_start+0xc8) [0x42b314] /usr/libexec/bluetooth/obexd() [0x425f58] /usr/libexec/bluetooth/obexd() [0x42adcc] /usr/libexec/bluetooth/obexd() [0x4171dc] /usr/libexec/bluetooth/obexd() [0x418078] /usr/lib/libglib-2.0.so.0(+0xb20cc) [0xfffff7e420cc] /usr/lib/libglib-2.0.so.0(+0x54a30) [0xfffff7de4a30] /usr/lib/libglib-2.0.so.0(g_main_context_dispatch+0x44) [0xfffff7de850c]
/usr/lib/libglib-2.0.so.0(+0x5868c) [0xfffff7de868c] /usr/lib/libglib-2.0.so.0(g_main_loop_run+0x1ac) [0xfffff7de8b08] /usr/libexec/bluetooth/obexd(main+0x128) [0x427d6c] /lib/libc.so.6(+0x2affc) [0xfffff7c0affc] /lib/libc.so.6(__libc_start_main+0x90) [0xfffff7c0b0c4] /usr/libexec/bluetooth/obexd(_start+0x30) [0x4101b0]Program received signal SIGABRT, Aborted.
__pthread_kill_implementation (threadid=<optimized out>, signo=signo@entry=6, no_tid=no_tid@entry=0) at pthread_kill.c:4
Please help support the issue.
Thanks,
Amisha
Luiz Augusto von Dentz
maintainerHi Amisha,
Quoted 10 lines · Amisha Jain (QUIC)
Hi,
To resolve the MAP crash issue, We have added the below fix -obexd/src/obex.c +0
-0
obexd/src/obex.c int obex_put_stream_start(struct obex_session *os, const char *filename) · line 720
Quoted 6 lines
obexd/src/obex.c +1
-1@@ -716,7 +716,7 @@ int obex_put_stream_start(struct obex_session *os, const char *filename)return err; } -if (os->size !=OBJECT_SIZE_DELETE && os->size !=OBJECT_SIZE_UNKNOWN ) +if (os->size !=OBJECT_SIZE_DELETE && os->size !=OBJECT_SIZE_UNKNOWN &&strcmp (os->service->name,"Message Access server" ) !=0 )manager_emit_transfer_property (os->service_data,"Size" );
It has been a while I don't look into MAP implementation but the impression I have is that Size is not being set properly for MAP which then causes the problem, so this is more like a workaround it seems, and if MAP don't really want to track the object size then it shall set OBJECT_SIZE_UNKNOWN.
Quoted 70 lines
obexd/src/obex.c +0
-1os->path =g_strdup (filename); --Please review the above fix and let us know if we can go ahead with this change.
Thanks,
AmishaQuoted 61 lines
-----Original Message-----
From: Amisha Jain (QUIC)
Sent: Tuesday, June 4, 2024 11:43 AM
To: '[email protected]' <[email protected]>
Subject: RE: MAP server crash during connectionHi,
Please help with the below issue.Quoted 52 lines
-----Original Message-----
From: Amisha Jain (QUIC)
Sent: Friday, May 31, 2024 12:34 PM
To: '[email protected]'
<[email protected]>
Subject: MAP server crash during connectionHi bluez team,
I have been trying to verify MAP Server obex profile on bluez 5.65. While trying connection, I have noticed the crash on the server side (connection initiated from client side) and hence connection is failing. Please find the backtrace of the crash -assertion failed "i == len" file "
../../dbus-1.14.8/dbus/dbus-object-tree.c"
line 1321 function_dbus_decompose_path
/usr/lib/libdbus-1.so.3(_dbus_print_backtrace+0x28) [0xfffff7f4cc9c] /usr/lib/libdbus-1.so.3(_dbus_abort+0x14) [0xfffff7f4fe3c] /usr/lib/libdbus-1.so.3(+0x4a9cc) [0xfffff7f3a9cc] /usr/lib/libdbus-1.so.3(+0x36c5c) [0xfffff7f26c5c] /usr/lib/libdbus-1.so.3(dbus_connection_get_object_path_data+0xc4)
[0xfffff7f0f818]
/usr/libexec/bluetooth/obexd(g_dbus_emit_property_changed_full+0x30)
[0x450dc4]
/usr/libexec/bluetooth/obexd(g_dbus_emit_property_changed+0x14)
[0x450ec0]
/usr/libexec/bluetooth/obexd(manager_emit_transfer_property+0x34)
[0x429408]
/usr/libexec/bluetooth/obexd(obex_put_stream_start+0xc8) [0x42b314] /usr/libexec/bluetooth/obexd() [0x425f58] /usr/libexec/bluetooth/obexd() [0x42adcc] /usr/libexec/bluetooth/obexd() [0x4171dc] /usr/libexec/bluetooth/obexd() [0x418078] /usr/lib/libglib-2.0.so.0(+0xb20cc) [0xfffff7e420cc] /usr/lib/libglib-2.0.so.0(+0x54a30) [0xfffff7de4a30] /usr/lib/libglib-2.0.so.0(g_main_context_dispatch+0x44)
[0xfffff7de850c]
/usr/lib/libglib-2.0.so.0(+0x5868c) [0xfffff7de868c] /usr/lib/libglib-2.0.so.0(g_main_loop_run+0x1ac) [0xfffff7de8b08] /usr/libexec/bluetooth/obexd(main+0x128) [0x427d6c] /lib/libc.so.6(+0x2affc) [0xfffff7c0affc] /lib/libc.so.6(__libc_start_main+0x90) [0xfffff7c0b0c4] /usr/libexec/bluetooth/obexd(_start+0x30) [0x4101b0]Program received signal SIGABRT, Aborted.
__pthread_kill_implementation(threadid=<optimized out>,
signo=signo@entry=6, no_tid=no_tid@entry=0) at pthread_kill.c:4Please help support the issue.
Thanks,
Amisha
Signature · 1 line
Luiz Augusto von Dentz