Crash when using Bluetooth
Lauri Laanmets
lauri.laanmets at proekspert.ee
Thu Jan 3 15:00:28 UTC 2013
Hello, all
I'm sorry that I have been so inactive. Kate, you have done a great job,
I took a little time to briefly go through the changes and gave my
humble comments. Hopefully I get my own set-up also up and running at
some point.
Regards
Lauri
On 3.01.2013 15:59, Kate Alhola wrote:
> On Wed, Dec 26, 2012 at 7:33 PM, Dominique Rety
> <dominiquerety at hotmail.fr <mailto:dominiquerety at hotmail.fr>> wrote:
>
> Hi Kate,
> Thank you for your answer.
> I tried some traces and modifications into the lib QtConnectivity
> without success. It seems to me that functions into the library
> already contain calls to JNIThreadHelper class that should setup
> the Java environment by performing jvm->AttachCurrentThread(), but
> this doesn't solve the problem.
> At the same time, I performed some basic bluetooth tests directly
> through Java Eclipse (BluetoothAdapter.getDefaultAdapter.getName),
> which work fine on Nexus 7 with Android 4.2.
> However, our project contains some legacy parts that have already
> been developed in C, and using Qt would be the very best way to
> integrate them. Therefore I will only envision to implement a
> direct bridge between Java and C parts as a last resort if I can't
> find a viable solution with Qt.
> Consequently, I am very interested by your patches even before the
> next release, which could be helpful for us to take a decision for
> our development. Overriding and deploying the default Necessitas
> lib QtConnectivity is not a problem for me, at least for test purpose.
>
>
> Now patches are on Review board
> https://git.reviewboard.kde.org/r/108113/ . I would be happy if you
> could try them.
>
> Sorry about delays publishing them
>
>
> Kate
>
> Regards,
> Dominique
>
> ----- Original Message -----
> *From:* Kate Alhola <mailto:kate.alhola at gmail.com>
> *To:* Dominique Rety <mailto:dominiquerety at hotmail.fr>
> *Cc:* <necessitas-devel at kde.org>
> <mailto:necessitas-devel at kde.org%3E>
> *Sent:* Wednesday, December 26, 2012 4:36 PM
> *Subject:* Re: Crash when using Bluetooth
>
> On 13.12.2012, at 16.41, Dominique Rety
> <dominiquerety at hotmail.fr <mailto:dominiquerety at hotmail.fr>>
> wrote:
>
>> Hi,
>> I am currently developing a telecommunication project
>> involving Blutooth communication between Android devices. For
>> this purpose, I'm trying to use Necessitas Bluetooth support
>> and I experiment very similar problems that are described in
>> the "Crash when using Bluetooth" (Kate Alhola) archive thread.
>
> There is several issues in current necessitas
> libQtConnectivity version. I have hopefully fixed most of them
> and i have version of libQtConnectivity that least works with
> my own applocation. I try to deliver patches to necessitas
> project so that fixes could be included in next release.
>
>> Environment:
>> Java JDK 1.7.0_09
>> Qt Creator 2.5.83 Based on Qt 4.8.3 running on Linux Suze
>> Kit = Necessitas Qt 4.8.2 for Android armv7a
>> Compiler = Android GCC (arm-4.4.3)
>> Android target SDK = android-16
>> Deploy to Nexus 7 with Android version 4.2.
>> I firstly tried to deploy the btchat sample and I faced the
>> same problem:
>> JNI ERROR (app bug): accessed stale local reference
>> 0xe680001d (index 7 in a table of size 4)
>> VM aborting
>> Fatal signal 11 (SIGSEGV) at 0xdeadd00d (code=1), thread
>> 13965 (.example.btchat)
>> Setting traces in different source files of the connectivity
>> library, I also noticed that the error happens when trying to
>> use some member functions of QBluetoothLocalDevice (btchat
>> sample requests for the local device name from the main
>> function).
>> I tried to bypass this problem by only creating the
>> QBluetoothLocalDevice without requesting for the device name
>> in the btchat application. The program then starts correctly.
>> In the btchat application, the "Connect" button calls the
>> QBluetoothServiceDiscoveryAgent::start function. This
>> function randomly processes the request because it relies on
>> discoveryState and deviceAddress members, which seem not to
>> be initialized : either the discovery process freezes or the
>> program aborts with an error (if luckily discoveryState and
>> deviceAddress members get consistent values). I didn't try
>> any further investigation. It seems to me that the
>> connectivity library is compiled with
>> qbluetoothlocaldevice_p.cpp, which just contains empty
>> functions for the QBluetoothLocalDevice class, instead of a
>> customized source for Android.
>
> Yes, that's case. The QBluetoothLocalDevice initializes static
> handles to java virtual machine that are then referenced by
> other modules. I have made fixes to several parts of
> libQtConnectivity
>
>
>> Is Bluetooth support for Android in Necessitas complete ?
>
> Most of, some functions are still missing but there are some
> bugs in current version
>
>> Is the btchat sample expected to work properly with Android ?
>
> I have not tried that one
>
>> Is there any specific configuration issue I could miss ?
>
> That's good question, what is origin of the bugs, does it work
> with older android
> Versions ? The source reason of bugs is JNI handles alocation
> that conflict with
> Current thread structure and some that handles are expired
> when used. I have only tested with
> Android 4.x
>
>> Is there any corrective or complement software I could download ?
>
> I could make my patches avaiable before next release but
> overriding default necessitas libQtConnectivity requires some
> tricks
>
>> How can I progress on this issue ? What is the best way to
>> get help and advices ?
>
> This list works fine.
>
> Kate
>
>> Regards,
>> Dominique RETY
>> dominiquerety at hotmail.fr
>> _______________________________________________
>> Necessitas-devel mailing list
>> Necessitas-devel at kde.org <mailto:Necessitas-devel at kde.org>
>> https://mail.kde.org/mailman/listinfo/necessitas-devel
>
>
>
>
> _______________________________________________
> Necessitas-devel mailing list
> Necessitas-devel at kde.org
> https://mail.kde.org/mailman/listinfo/necessitas-devel
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/necessitas-devel/attachments/20130103/80b378c2/attachment-0001.html>
More information about the Necessitas-devel
mailing list