2024-05-31 07:09:54

by Amisha Jain (QUIC)

[permalink] [raw]
Subject: 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


2024-06-04 06:13:16

by Amisha Jain (QUIC)

[permalink] [raw]
Subject: RE: MAP server crash during connection

Hi,
Please help with the below issue.

> -----Original Message-----
> From: Amisha Jain (QUIC)
> Sent: Friday, May 31, 2024 12:34 PM
> To: '[email protected]' <[email protected]>
> Subject: 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

2024-06-07 07:00:40

by Amisha Jain (QUIC)

[permalink] [raw]
Subject: RE: MAP server crash during connection

Hi,
To resolve the MAP crash issue, We have added the below fix -


diff --git a/obexd/src/obex.c b/obexd/src/obex.c
index 3a68fd6..7c95075 100644
--- a/obexd/src/obex.c
+++ b/obexd/src/obex.c
@@ -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

> -----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 connection
>
> Hi,
> Please help with the below issue.
>
> > -----Original Message-----
> > From: Amisha Jain (QUIC)
> > Sent: Friday, May 31, 2024 12:34 PM
> > To: '[email protected]'
> > <[email protected]>
> > Subject: 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

2024-06-07 14:10:30

by Luiz Augusto von Dentz

[permalink] [raw]
Subject: Re: MAP server crash during connection

Hi Amisha,

On Fri, Jun 7, 2024 at 3:00 AM Amisha Jain (QUIC)
<[email protected]> wrote:
>
> Hi,
> To resolve the MAP crash issue, We have added the below fix -
>
>
> diff --git a/obexd/src/obex.c b/obexd/src/obex.c
> index 3a68fd6..7c95075 100644
> --- a/obexd/src/obex.c
> +++ b/obexd/src/obex.c
> @@ -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.

> os->path = g_strdup(filename);
> --
>
> Please review the above fix and let us know if we can go ahead with this change.
>
> Thanks,
> Amisha
>
> > -----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 connection
> >
> > Hi,
> > Please help with the below issue.
> >
> > > -----Original Message-----
> > > From: Amisha Jain (QUIC)
> > > Sent: Friday, May 31, 2024 12:34 PM
> > > To: '[email protected]'
> > > <[email protected]>
> > > Subject: 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
>


--
Luiz Augusto von Dentz