briar issueshttps://code.briarproject.org/briar/briar/-/issues2023-09-07T14:13:30Zhttps://code.briarproject.org/briar/briar/-/issues/2238Upgrade h22023-09-07T14:13:30ZSebastianUpgrade h2While working on https://code.briarproject.org/briar/briar-mailbox/-/merge_requests/46 we discovered some things relevant to upgrading H2 in briarWhile working on https://code.briarproject.org/briar/briar-mailbox/-/merge_requests/46 we discovered some things relevant to upgrading H2 in briarhttps://code.briarproject.org/briar/briar/-/issues/2237Pending contact list doesn't show "No internet connection" if list contains f...2021-12-01T10:43:02ZakwizgranPending contact list doesn't show "No internet connection" if list contains failed pending contactsIf the pending contact list contains a mixture of failed and not-failed pending contacts, the "No internet connection" snackbar isn't shown when the device is offline. If the failed pending contacts are removed, leaving only not-failed o...If the pending contact list contains a mixture of failed and not-failed pending contacts, the "No internet connection" snackbar isn't shown when the device is offline. If the failed pending contacts are removed, leaving only not-failed ones, the snackbar appears.https://code.briarproject.org/briar/briar/-/issues/2236Contact list doesn't scroll to top after adding contact2021-11-30T12:19:21ZakwizgranContact list doesn't scroll to top after adding contactA user reported that the contact list doesn't scroll to the top after adding a contact, so the new contact isn't visible. This makes it unclear whether the contact was added or not.
Similarly, the list doesn't scroll to the top after re...A user reported that the contact list doesn't scroll to the top after adding a contact, so the new contact isn't visible. This makes it unclear whether the contact was added or not.
Similarly, the list doesn't scroll to the top after returning from a private conversation. If messages have been sent or received in the conversation, moving it to the top of the list, then it may no longer be visible when returning to the contact list.https://code.briarproject.org/briar/briar/-/issues/2235"Contact deleted" toast is not shown2021-11-30T12:16:54Zakwizgran"Contact deleted" toast is not shownA user reported that the "contact deleted" toast was not shown after deleting a contact. (The pending contacts snackbar was visible, in case that's relevant.)A user reported that the "contact deleted" toast was not shown after deleting a contact. (The pending contacts snackbar was visible, in case that's relevant.)https://code.briarproject.org/briar/briar/-/issues/2234Abstract task for calling an API endpoint2022-06-17T13:34:16ZakwizgranAbstract task for calling an API endpointCreate an abstract task for calling an API endpoint. The task should block until the API call succeeds or permanently fails. Temporary failures should be retried automatically with backoff, and it should be possible to cancel the task be...Create an abstract task for calling an API endpoint. The task should block until the API call succeeds or permanently fails. Temporary failures should be retried automatically with backoff, and it should be possible to cancel the task between tries.Mailboxakwizgranakwizgranhttps://code.briarproject.org/briar/briar/-/issues/2233Method for deleting a file from a mailbox2022-03-25T17:18:28ZakwizgranMethod for deleting a file from a mailboxDepends on briar-mailbox#3, briar-mailbox#53.Depends on briar-mailbox#3, briar-mailbox#53.Mailbox: File management APITorsten GroteTorsten Grotehttps://code.briarproject.org/briar/briar/-/issues/2232Method for downloading a file from a mailbox2022-03-25T17:18:28ZakwizgranMethod for downloading a file from a mailboxDepends on briar-mailbox#3, briar-mailbox#52.Depends on briar-mailbox#3, briar-mailbox#52.Mailbox: File management APITorsten GroteTorsten Grotehttps://code.briarproject.org/briar/briar/-/issues/2231Method for uploading a file to a mailbox2022-03-25T16:03:18ZakwizgranMethod for uploading a file to a mailboxDepends on briar-mailbox#3, briar-mailbox#54.Depends on briar-mailbox#3, briar-mailbox#54.Mailbox: File management APITorsten GroteTorsten Grotehttps://code.briarproject.org/briar/briar/-/issues/2230Add DB methods for tracking pending uploads2022-03-30T14:29:01ZakwizgranAdd DB methods for tracking pending uploadsAdd database methods for storing the contact ID and filename of pending mailbox uploads. It should be possible to query by contact ID (for use when a mailbox becomes reachable and we want to retry failed uploads) and to delete by contact...Add database methods for storing the contact ID and filename of pending mailbox uploads. It should be possible to query by contact ID (for use when a mailbox becomes reachable and we want to retry failed uploads) and to delete by contact ID and filename (for use when an upload succeeds).Mailbox: Manage mailbox connectionsTorsten GroteTorsten Grotehttps://code.briarproject.org/briar/briar/-/issues/2229Mailbox client superclass2022-06-20T11:20:55ZakwizgranMailbox client superclassMailbox clients for communicating with our own mailbox and contacts' mailboxes are managed by a singleton mailbox client manager (#2228).
We'll need different client implementations for our own mailbox (#2290) and contacts' mailboxes (#...Mailbox clients for communicating with our own mailbox and contacts' mailboxes are managed by a singleton mailbox client manager (#2228).
We'll need different client implementations for our own mailbox (#2290) and contacts' mailboxes (#2289), but there will be a shared interface and some shared code. This ticket covers the code shared between the client for our own mailbox and the client for a contact's mailbox.
Interface:
* The manager can create and destroy clients
* The manager can assign/deassign contacts for upload or download
* The client's upload and download workers can request connectivity checks
Implementation:
* At any given time the client may have multiple upload workers and/or a single download worker
* The client has a connectivity check method, which takes an observer as an argument
* The client stores the time of the latest successful connectivity check, a reference to the current connectivity check task, if any, and a list of observers waiting for the result of a connectivity check
When the client is destroyed:
* If a connectivity check task is running:
* Cancel the connectivity check task
* Destroy the upload workers, if any
* Destroy the download worker, if any
When the connectivity check method is called:
* Compare the current time to the time of the latest successful connectivity check
* If a connectivity check has recently succeeded:
* Notify the observer
* Else if a connectivity check task is running:
* Add the observer to the list of waiting observers
* Else:
* Add the observer to the list of waiting observers
* Start a connectivity check task
When a connectivity check task succeeds:
* Update the time of the latest successful connectivity check
* Notify any waiting observers
* Clear the list of waiting observersMailbox: Manage mailbox connectionsakwizgranakwizgranhttps://code.briarproject.org/briar/briar/-/issues/2228Mailbox client manager2022-08-16T14:20:43ZakwizgranMailbox client manager* Create a singleton mailbox client manager
* This component manages a set of mailbox clients (#2229): one client for each mailbox we know about
* The manager creates the clients when we come online and destroys them when we go offline
*...* Create a singleton mailbox client manager
* This component manages a set of mailbox clients (#2229): one client for each mailbox we know about
* The manager creates the clients when we come online and destroys them when we go offline
* The manager is responsible for assigning contacts to mailboxes for upload and/or download - so each client has a set of contacts assigned for upload and a (possibly different) set of contacts assigned for download
* These assignments can change based on pairing/unpairing a mailbox, learning which API versions our own mailbox supports, a contact being added/removed, or receiving new mailbox properties from a contact
* The assignments don't change based on connecting to a contact or disconnecting from a contact
* A contact's mailbox is "usable" if it supports an API version that we and the contact can both use, according to our hardcoded client-supported versions and the latest server-supported and client-supported versions received from the contact
* Our own mailbox is "usable" by a contact if it supports an API version that we and the contact can both use, according to our hardcoded client-supported versions, the latest server-supported versions fetched from our own mailbox, and the latest client-supported versions received from the contact
* If we have a mailbox, we always have a client for it regardless of whether our hardcoded client-supported versions are compatible with the latest server-supported versions fetched from the mailbox
* If a contact has a mailbox, we only have a client for it if it's usable
When we come online:
* For each contact:
* If the contact has a usable mailbox:
* Create a client for the contact's mailbox
* Assign the contact to the contact's mailbox for upload
* If we don't have a mailbox that's usable by the contact:
* Assign the contact to the contact's mailbox for download
* If we have our own mailbox:
* Create a client for our own mailbox
* For each contact:
* If our own mailbox is usable by the contact:
* Assign the contact to our own mailbox for download
* If the contact doesn't have a usable mailbox:
* Assign the contact to our own mailbox for upload
When we go offline:
* Destroy all clients
When we pair a mailbox:
* If we're online:
* Create a client for our own mailbox
* For each contact:
* If the contact has a usable mailbox:
* If our own mailbox is usable by the contact:
* Reassign the contact from the contact's mailbox to our own mailbox for download
* (The contact remains assigned to the contact's mailbox for upload)
* Else, if our own mailbox is usable by the contact:
* Assign the contact to our own mailbox for upload and download
When we unpair a mailbox:
* If we're online:
* For each contact:
* If the contact has a usable mailbox:
* If the contact is assigned to our own mailbox for download:
* Reassign the contact from our own mailbox to the contact's mailbox for download
* (The contact is already assigned to the contact's mailbox for upload)
* Destroy the client for our own mailbox
When a contact is added:
* Assumption: the contact has no mailbox properties yet, as the event informing us of the contact's first mailbox update is always delivered after the event informing us that the contact was added
* Wait until we receive the contact's first mailbox update before deciding how to assign the contact for upload and download
When a contact is removed:
* If we're online:
* If we have a client for the contact's mailbox:
* Destroy the client for the contact's mailbox
* If the contact is assigned to our own mailbox for download:
* Deassign the contact from our own mailbox for download
* If the contact is assigned to our own mailbox for upload:
* Deassign the contact from our own mailbox for upload
When we receive a mailbox update from a contact:
* If we're online:
* If the contact didn't previously have a usable mailbox and now has one:
* Create a client for the contact's mailbox
* If we have a mailbox that's usable by the contact:
* Reassign the contact from our own mailbox to the contact's mailbox for upload
* (The contact remains assigned to our own mailbox for download)
* Else:
* Assign the contact to the contact's mailbox for upload and download
* Else if the contact previously had a usable mailbox and no longer has one:
* If we have a mailbox that's usable by the contact:
* Reassign the contact from the contact's mailbox to our own mailbox for upload
* (The contact remains assigned to our own mailbox for download)
* Destroy the client for the contact's mailbox
* Else if the contact previously had a usable mailbox and now has a different mailbox that's also usable:
* Destroy the client for the contact's mailbox
* Create a new client for the contact's mailbox
* Assign the contact to the contact's mailbox for upload
* If we don't have a mailbox that's usable by the contact:
* Assign the contact to the contact's mailbox for downloadMailbox: Manage mailbox connectionsakwizgranakwizgranhttps://code.briarproject.org/briar/briar/-/issues/2227some RSS feeds are not detected2022-02-28T22:03:08ZJeremie Larivieresome RSS feeds are not detectedBriar gives an error when importing Some feeds, specifically several on Substack, e.g. https://edwardsnowden.substack.com/ or https://cryptobeat.substack.com/.
Substack seems to have /feed , /feed.xml , /feed.rss , and none of those wo...Briar gives an error when importing Some feeds, specifically several on Substack, e.g. https://edwardsnowden.substack.com/ or https://cryptobeat.substack.com/.
Substack seems to have /feed , /feed.xml , /feed.rss , and none of those work for me in Briar. Substack's support said I should reach out to Briar since the substack feeds work in other readers they tried.
I haven't had an error on other feeds I've tried, it imports both RSS & Atom from Tails' blog (https://tails.boum.org/news/index.en.rss or https://tails.boum.org/news/index.en.atom)
It also works with Signal & FlowCrypt's blogs (https://signal.org/blog/rss.xml and https://flowcrypt.com/blog/feed.xml).https://code.briarproject.org/briar/briar/-/issues/2225Error handling for mailbox downloads2021-12-10T14:45:35ZakwizgranError handling for mailbox downloadsWhen communicating via mailboxes, the max latency and thus the retransmission interval are very long, so we need to be careful about any circumstances that could cause messages to be lost.
On the receiver side, if an error (such as an I...When communicating via mailboxes, the max latency and thus the retransmission interval are very long, so we need to be careful about any circumstances that could cause messages to be lost.
On the receiver side, if an error (such as an IO error, app shutdown, app crash or device crash) occurs while we're reading messages from a file, we need to ensure that the file can be read again after recovering from the error. Reading the file twice isn't possible with the current protocol stack because the pseudo-random tag at the start of the file is recognised on the first read and can't be recognised again.
To fix this we should divide the process of recognising a tag into two steps. The first step looks up the tag and returns the keys needed for authenticating and decrypting the stream header. The second step marks the tag as recognised and updates the reordering window.
When processing a file downloaded from a mailbox, we should defer the second step until the file has been completely processed.Mailboxhttps://code.briarproject.org/briar/briar/-/issues/2224briar doesn't build with JDK 172022-06-20T18:12:14ZSebastianbriar doesn't build with JDK 17Running the tests reveals a few problemsRunning the tests reveals a few problemshttps://code.briarproject.org/briar/briar/-/issues/2223Improve cleanup after lifecycle startup errors2021-11-17T15:50:26ZakwizgranImprove cleanup after lifecycle startup errorsLifecycleManager#startServices() can return various error values. Currently the Android app doesn't call stopServices() unless startup succeeded, whereas the headless app calls stopServices() regardless.
If the system clock is unreasona...LifecycleManager#startServices() can return various error values. Currently the Android app doesn't call stopServices() unless startup succeeded, whereas the headless app calls stopServices() regardless.
If the system clock is unreasonable, LifecycleManagerImpl#startServices() doesn't release the startStopSemaphore before returning, so stopServices() will block indefinitely - but the semaphore is released in the case of other errors.
We should tidy all of this up so that either stopServices() doesn't need to be called if startup fails, or so that it can be called safely and without blocking indefinitely, and so that services and the DB have a clear contract for whether they will be started and/or stopped if an error happens.
Related to #2222.https://code.briarproject.org/briar/briar/-/issues/2222Headless BriarService doesn't check for lifecycle startup errors2022-01-03T16:38:00ZakwizgranHeadless BriarService doesn't check for lifecycle startup errorsBriarService.kt doesn't check the return value of LifecycleManager#startServices(), and stopServices() is called regardless of whether startup succeeded.BriarService.kt doesn't check the return value of LifecycleManager#startServices(), and stopServices() is called regardless of whether startup succeeded.https://code.briarproject.org/briar/briar/-/issues/2220GroupCount contains wrong timestamp for test data2021-12-03T12:17:34ZMikolai GütschowGroupCount contains wrong timestamp for test dataRoot cause of https://code.briarproject.org/briar/briar-desktop/-/issues/103
The `conversationManager.getGroupCount()` always returns a group count with the current time as timestamp, even if the newest message is generated as being sen...Root cause of https://code.briarproject.org/briar/briar-desktop/-/issues/103
The `conversationManager.getGroupCount()` always returns a group count with the current time as timestamp, even if the newest message is generated as being sent/received in the past.
This can be reproduced by changing line 344 of `TestDataCreatorImpl.java` as follows:
```diff
- long timestamp = clock.currentTimeMillis() - num * 60 * 1000;
+ long timestamp = clock.currentTimeMillis() - num * 60 * 1000 - 24 * 60 * 60 * 1000;
```
Starting the Android app and creating test data results in the following screens: The contact list shows "now" despite the last message being sent/received exactly one day ago.
![Screenshot_1636666735](/uploads/081efea134b2e86d257d8c9191cd56ef/Screenshot_1636666735.png)
![Screenshot_1636666744](/uploads/66d5406e095842458c2c014e15585ad9/Screenshot_1636666744.png)https://code.briarproject.org/briar/briar/-/issues/2219OverlappingFileLockException and OOM when loading large forum2021-11-11T16:08:35ZakwizgranOverlappingFileLockException and OOM when loading large forumThis OOM looks similar to #1607, and even includes an RSS fetch in the log, but it also has some unusual exceptions in the log that deserve further investigation.
* Android version: 8.1.0
* Phone model: Samsung SM-T835 (gts4lltexx)
* Br...This OOM looks similar to #1607, and even includes an RSS fetch in the log, but it also has some unusual exceptions in the log that deserve further investigation.
* Android version: 8.1.0
* Phone model: Samsung SM-T835 (gts4lltexx)
* Briar version: 1.3.6 (445ef08)
* User feedback: "Crash after a long loading time, large forum."
Stacktrace:
```
Failed to allocate a 80 byte allocation with 32 free bytes and 32B until OOM, max allowed footprint 268435456, growth limit 268435456
java.lang.OutOfMemoryError: Failed to allocate a 80 byte allocation with 32 free bytes and 32B until OOM, max allowed footprint 268435456, growth limit 268435456
at java.util.HashMap.resize(HashMap.java:703)
at java.util.HashMap.putVal(HashMap.java:628)
at java.util.HashMap.put(HashMap.java:611)
at java.util.HashSet.add(HashSet.java:219)
at androidx.constraintlayout.solver.widgets.ConstraintAnchor.connect(ConstraintAnchor.java:227)
at androidx.constraintlayout.solver.widgets.ConstraintWidget.immediateConnect(ConstraintWidget.java:1621)
at androidx.constraintlayout.widget.ConstraintLayout.applyConstraintsFromLayoutParams(ConstraintLayout.java:1349)
at androidx.constraintlayout.widget.ConstraintLayout.setChildrenConstraints(ConstraintLayout.java:1253)
at androidx.constraintlayout.widget.ConstraintLayout.updateHierarchy(ConstraintLayout.java:1149)
at androidx.constraintlayout.widget.ConstraintLayout.onMeasure(ConstraintLayout.java:1685)
at android.view.View.measure(View.java:23393)
at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:6966)
at android.widget.LinearLayout.measureChildBeforeLayout(LinearLayout.java:1514)
at android.widget.LinearLayout.measureHorizontal(LinearLayout.java:1167)
at android.widget.LinearLayout.onMeasure(LinearLayout.java:687)
at android.view.View.measure(View.java:23393)
at androidx.recyclerview.widget.RecyclerView$LayoutManager.measureChildWithMargins(RecyclerView.java:9384)
at androidx.recyclerview.widget.LinearLayoutManager.layoutChunk(LinearLayoutManager.java:1653)
at androidx.recyclerview.widget.LinearLayoutManager.fill(LinearLayoutManager.java:1587)
at androidx.recyclerview.widget.LinearLayoutManager.onLayoutChildren(LinearLayoutManager.java:665)
at androidx.recyclerview.widget.RecyclerView.dispatchLayoutStep2(RecyclerView.java:4134)
at androidx.recyclerview.widget.RecyclerView.dispatchLayout(RecyclerView.java:3851)
at androidx.recyclerview.widget.RecyclerView.onLayout(RecyclerView.java:4404)
at android.view.View.layout(View.java:20950)
at android.view.ViewGroup.layout(ViewGroup.java:6439)
at androidx.constraintlayout.widget.ConstraintLayout.onLayout(ConstraintLayout.java:1855)
at android.view.View.layout(View.java:20950)
at android.view.ViewGroup.layout(ViewGroup.java:6439)
at android.widget.FrameLayout.layoutChildren(FrameLayout.java:323)
at android.widget.FrameLayout.onLayout(FrameLayout.java:261)
at android.view.View.layout(View.java:20950)
at android.view.ViewGroup.layout(ViewGroup.java:6439)
at android.widget.FrameLayout.layoutChildren(FrameLayout.java:323)
at android.widget.FrameLayout.onLayout(FrameLayout.java:261)
at android.view.View.layout(View.java:20950)
at android.view.ViewGroup.layout(ViewGroup.java:6439)
at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1791)
at android.widget.LinearLayout.layoutVertical(LinearLayout.java:1635)
at android.widget.LinearLayout.onLayout(LinearLayout.java:1544)
at android.view.View.layout(View.java:20950)
at android.view.ViewGroup.layout(ViewGroup.java:6439)
at android.widget.FrameLayout.layoutChildren(FrameLayout.java:323)
at android.widget.FrameLayout.onLayout(FrameLayout.java:261)
at android.view.View.layout(View.java:20950)
at android.view.ViewGroup.layout(ViewGroup.java:6439)
at android.widget.FrameLayout.layoutChildren(FrameLayout.java:323)
at android.widget.FrameLayout.onLayout(FrameLayout.java:261)
at android.view.View.layout(View.java:20950)
at android.view.ViewGroup.layout(ViewGroup.java:6439)
at android.widget.FrameLayout.layoutChildren(FrameLayout.java:323)
at android.widget.FrameLayout.onLayout(FrameLayout.java:261)
at android.view.View.layout(View.java:20950)
at android.view.ViewGroup.layout(ViewGroup.java:6439)
at android.widget.FrameLayout.layoutChildren(FrameLayout.java:323)
at android.widget.FrameLayout.onLayout(FrameLayout.java:261)
at android.view.View.layout(View.java:20950)
at android.view.ViewGroup.layout(ViewGroup.java:6439)
at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1791)
at android.widget.LinearLayout.layoutVertical(LinearLayout.java:1635)
at android.widget.LinearLayout.onLayout(LinearLayout.java:1544)
at android.view.View.layout(View.java:20950)
at android.view.ViewGroup.layout(ViewGroup.java:6439)
at android.widget.FrameLayout.layoutChildren(FrameLayout.java:323)
at android.widget.FrameLayout.onLayout(FrameLayout.java:261)
at com.android.internal.policy.DecorView.onLayout(DecorView.java:961)
at android.view.View.layout(View.java:20950)
at android.view.ViewGroup.layout(ViewGroup.java:6439)
at android.view.ViewRootImpl.performLayout(ViewRootImpl.java:3027)
at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:2714)
at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1843)
at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:7978)
at android.view.Choreographer$CallbackRecord.run(Choreographer.java:911)
at android.view.Choreographer.doCallbacks(Choreographer.java:723)
at android.view.Choreographer.doFrame(Choreographer.java:658)
at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:897)
at android.os.Handler.handleCallback(Handler.java:790)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:164)
at android.app.ActivityThread.main(ActivityThread.java:7002)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:441)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1408)
```
Log:
```
11-07 15:47:30.508 I/TcpPlugin: 192.168.43.1 is not connectable from 192.168.178.22
11-07 15:47:30.508 I/TcpPlugin: 192.168.49.1 is not connectable from 192.168.178.22
11-07 15:47:30.508 I/TcpPlugin: Connecting to fe[scrubbed]21
11-07 15:47:30.508 I/TcpPlugin: Could not connect to fe[scrubbed]0d
11-07 15:47:30.508 I/TcpPlugin: Could not connect to fe[scrubbed]21
11-07 15:47:30.508 I/TcpPlugin: Connecting to fe[scrubbed]12
11-07 15:47:30.508 I/TcpPlugin: Could not connect to fe[scrubbed]12
11-07 15:47:30.508 I/TcpPlugin: Connecting to fe[scrubbed]58
11-07 15:47:30.508 I/TcpPlugin: Connecting to fe[scrubbed]e5
11-07 15:47:30.509 I/TcpPlugin: Could not connect to fe[scrubbed]e5
11-07 15:47:30.509 I/TcpPlugin: Could not connect to fe[scrubbed]58
11-07 15:47:30.509 I/TcpPlugin: 192.168.0.101 is not connectable from 192.168.178.22
11-07 15:47:30.509 I/TcpPlugin: 192.168.43.1 is not connectable from 192.168.178.22
11-07 15:47:30.509 I/TcpPlugin: 192.168.49.1 is not connectable from 192.168.178.22
11-07 15:47:30.510 I/TcpPlugin: Connecting to fe[scrubbed]e5
11-07 15:47:30.510 I/TcpPlugin: Could not connect to fe[scrubbed]e5
11-07 15:47:32.257 I/BaseActivity: Destroying SplashScreenActivity
11-07 15:47:34.262 I/DuplexOutgoingSession: Generated offer: false
11-07 15:47:35.154 I/DuplexOutgoingSession: Generated offer: false
11-07 15:47:36.030 I/BaseActivity: Pausing NavDrawerActivity
11-07 15:47:36.041 I/BaseActivity: Creating ForumActivity
11-07 15:47:36.074 I/BaseActivity: Starting ForumActivity
11-07 15:47:36.074 I/BaseActivity: Resuming ForumActivity
11-07 15:47:37.804 I/BaseActivity: Stopping NavDrawerActivity
11-07 15:47:44.582 I/DuplexOutgoingSession: Sending keepalive
11-07 15:47:48.196 I/DuplexOutgoingSession: Sending keepalive
11-07 15:47:58.961 I/RenewableWakeLock: Renewing wake lock org.briarproject.briar.android
11-07 15:48:00.596 I/AndroidTaskScheduler: Alarm
11-07 15:48:00.602 I/AndroidTaskScheduler: Running 0 due tasks
11-07 15:48:20.911 I/DuplexOutgoingSession: Sending keepalive
11-07 15:48:20.911 I/DuplexOutgoingSession: Sending keepalive
11-07 15:48:22.088 I/DuplexOutgoingSession: Generated offer: false
11-07 15:48:22.994 I/DuplexOutgoingSession: Generated offer: false
11-07 15:48:23.883 I/ThreadListViewModel: Loaded last top visible message id MessageId(0F16B9EDD7FC27DB06ED03075CF923C58EE3D1A9948708B25F7FED7FDAAEF91D)
11-07 15:48:24.460 I/AndroidTaskScheduler: Running 1 due tasks
11-07 15:48:24.799 I/AndroidTaskScheduler: Task is 0 ms overdue
11-07 15:48:24.805 I/AndroidLanTcpPlugin: Connected to wifi
11-07 15:48:24.816 I/TorPlugin: Online: true, wifi: true, IPv6 only: false
11-07 15:48:24.816 I/TorPlugin: Country code: DE
11-07 15:48:24.816 I/TorPlugin: Charging: true
11-07 15:48:24.816 I/TorPlugin: Enabling network
11-07 15:48:24.816 I/TorPlugin: Not using bridges
11-07 15:48:24.816 I/TorPlugin: Enabling connection padding
11-07 15:48:24.820 W/PluginManagerImpl: org.briarproject.bramble.api.db.DbException: org.h2.jdbc.JdbcSQLException: Datenbank wird wahrscheinlich bereits benutzt: null. Mögliche Lösungen: alle Verbindungen schliessen; Server Modus verwenden
Database may be already in use: null. Possible solutions: close all other connection(s); use the server mode [90020-192]
org.briarproject.bramble.api.db.DbException: org.h2.jdbc.JdbcSQLException: Datenbank wird wahrscheinlich bereits benutzt: null. Mögliche Lösungen: alle Verbindungen schliessen; Server Modus verwenden
Database may be already in use: null. Possible solutions: close all other connection(s); use the server mode [90020-192]
at org.briarproject.bramble.db.JdbcDatabase.startTransaction(JdbcDatabase.java:612)
at org.briarproject.bramble.db.JdbcDatabase.startTransaction(JdbcDatabase.java:101)
at org.briarproject.bramble.db.DatabaseComponentImpl.startTransaction(DatabaseComponentImpl.java:163)
at org.briarproject.bramble.db.DatabaseComponentImpl.transactionWithResult(DatabaseComponentImpl.java:210)
at org.briarproject.bramble.properties.TransportPropertyManagerImpl.getLocalProperties(TransportPropertyManagerImpl.java:217)
at org.briarproject.bramble.plugin.PluginManagerImpl$Callback.getLocalProperties(PluginManagerImpl.java:311)
at org.briarproject.bramble.plugin.tcp.LanTcpPlugin.getLocalSocketAddresses(LanTcpPlugin.java:133)
at org.briarproject.bramble.plugin.tcp.TcpPlugin.bind(TcpPlugin.java:162)
at org.briarproject.bramble.plugin.tcp.TcpPlugin.lambda$bind$0(TcpPlugin.java:154)
at org.briarproject.bramble.plugin.tcp.TcpPlugin.lambda$bind$0$TcpPlugin(Unknown Source:0)
at org.briarproject.bramble.plugin.tcp.-$$Lambda$TcpPlugin$IG7OujafuxmUKGD9Z35IgV8DTwo.run(Unknown Source:2)
at org.briarproject.bramble.PoliteExecutor.lambda$execute$0(PoliteExecutor.java:57)
at org.briarproject.bramble.PoliteExecutor.lambda$execute$0$PoliteExecutor(Unknown Source:0)
at org.briarproject.bramble.-$$Lambda$PoliteExecutor$wSvuPL6t_HUoaaqCVexrhJX_RSg.run(Unknown Source:6)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1162)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:636)
at java.lang.Thread.run(Thread.java:764)
Caused by: org.h2.jdbc.JdbcSQLException: Datenbank wird wahrscheinlich bereits benutzt: null. Mögliche Lösungen: alle Verbindungen schliessen; Server Modus verwenden
Database may be already in use: null. Possible solutions: close all other connection(s); use the server mode [90020-192]
at org.h2.mvstore.db.MVTableEngine$Store.convertIllegalStateException(MVTableEngine.java:187)
at org.h2.mvstore.db.MVTableEngine$Store.open(MVTableEngine.java:167)
at org.h2.mvstore.db.MVTableEngine.init(MVTableEngine.java:99)
at org.h2.engine.Database.getPageStore(Database.java:2463)
at org.h2.engine.Database.open(Database.java:692)
at org.h2.engine.Database.openDatabase(Database.java:270)
at org.h2.engine.Database.<init>(Database.java:264)
at org.h2.engine.Engine.openSession(Engine.java:64)
at org.h2.engine.Engine.openSession(Engine.java:176)
at org.h2.engine.Engine.createSessionAndValidate(Engine.java:154)
at org.h2.engine.Engine.createSession(Engine.java:137)
at org.h2.engine.Engine.createSession(Engine.java:27)
at org.h2.engine.SessionRemote.connectEmbeddedOrServer(SessionRemote.java:349)
at org.h2.jdbc.JdbcConnection.<init>(JdbcConnection.java:118)
at org.h2.jdbc.JdbcConnection.<init>(JdbcConnection.java:102)
at org.h2.Driver.connect(Driver.java:72)
at java.sql.DriverManager.getConnection(DriverManager.java:569)
at java.sql.DriverManager.getConnection(DriverManager.java:191)
at org.briarproject.bramble.db.H2Database.createConnection(H2Database.java:108)
at org.briarproject.bramble.db.JdbcDatabase.startTransaction(JdbcDatabase.java:602)
at org.briarproject.bramble.db.JdbcDatabase.startTransaction(JdbcDatabase.java:101)
at org.briarproject.bramble.db.DatabaseComponentImpl.startTransaction(DatabaseComponentImpl.java:163)
at org.briarproject.bramble.db.DatabaseComponentImpl.transactionWithResult(DatabaseComponentImpl.java:210)
at org.briarproject.bramble.properties.TransportPropertyManagerImpl.getLocalProperties(TransportPropertyManagerImpl.java:217)
at org.briarproject.bramble.plugin.PluginManagerImpl$Callback.getLocalProperties(PluginManagerImpl.java:311)
at org.briarproject.bramble.plugin.tcp.LanTcpPlugin.getLocalSocketAddresses(LanTcpPlugin.java:133)
at org.briarproject.bramble.plugin.tcp.TcpPlugin.bind(TcpPlugin.java:162)
at org.briarproject.bramble.plugin.tcp.TcpPlugin.lambda$bind$0(TcpPlugin.java:154)
at org.briarproject.bramble.plugin.tcp.TcpPlugin.lambda$bind$0$TcpPlugin(Unknown Source:0)
at org.briarproject.bramble.plugin.tcp.-$$Lambda$TcpPlugin$IG7OujafuxmUKGD9Z35IgV8DTwo.run(Unknown Source:2)
at org.briarproject.bramble.PoliteExecutor.lambda$execute$0(PoliteExecutor.java:57)
at org.briarproject.bramble.PoliteExecutor.lambda$execute$0$PoliteExecutor(Unknown Source:0)
at org.briarproject.bramble.-$$Lambda$PoliteExecutor$wSvuPL6t_HUoaaqCVexrhJX_RSg.run(Unknown Source:6)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1162)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:636)
at java.lang.Thread.run(Thread.java:764)
Caused by: java.lang.IllegalStateException: The file is locked: split:30:/data/data/org.briarproject.briar.android/app_db/db.mv.db [1.4.192/7]
at org.h2.mvstore.DataUtils.newIllegalStateException(DataUtils.java:773)
at org.h2.mvstore.FileStore.open(FileStore.java:167)
at org.h2.mvstore.MVStore.<init>(MVStore.java:344)
at org.h2.mvstore.MVStore$Builder.open(MVStore.java:2893)
at org.h2.mvstore.db.MVTableEngine$Store.open(MVTableEngine.java:154)
at org.h2.mvstore.db.MVTableEngine.init(MVTableEngine.java:99)
at org.h2.engine.Database.getPageStore(Database.java:2463)
at org.h2.engine.Database.open(Database.java:692)
at org.h2.engine.Database.openDatabase(Database.java:270)
at org.h2.engine.Database.<init>(Database.java:264)
at org.h2.engine.Engine.openSession(Engine.java:64)
at org.h2.engine.Engine.openSession(Engine.java:176)
at org.h2.engine.Engine.createSessionAndValidate(Engine.java:154)
at org.h2.engine.Engine.createSession(Engine.java:137)
at org.h2.engine.Engine.createSession(Engine.java:27)
at org.h2.engine.SessionRemote.connectEmbeddedOrServer(SessionRemote.java:349)
at org.h2.jdbc.JdbcConnection.<init>(JdbcConnection.java:118)
at org.h2.jdbc.JdbcConnection.<init>(JdbcConnection.java:102)
at org.h2.Driver.connect(Driver.java:72)
at java.sql.DriverManager.getConnection(DriverManager.java:569)
at java.sql.DriverManager.getConnection(DriverManager.java:191)
at org.briarproject.bramble.db.H2Database.createConnection(H2Database.java:108)
at org.briarproject.bramble.db.JdbcDatabase.startTransaction(JdbcDatabase.java:602)
at org.briarproject.bramble.db.JdbcDatabase.startTransaction(JdbcDatabase.java:101)
at org.briarproject.bramble.db.DatabaseComponentImpl.startTransaction(DatabaseComponentImpl.java:163)
at org.briarproject.bramble.db.DatabaseComponentImpl.transactionWithResult(DatabaseComponentImpl.java:210)
at org.briarproject.bramble.properties.TransportPropertyManagerImpl.getLocalProperties(TransportPropertyManagerImpl.java:217)
at org.briarproject.bramble.plugin.PluginManagerImpl$Callback.getLocalProperties(PluginManagerImpl.java:311)
at org.briarproject.bramble.plugin.tcp.LanTcpPlugin.getLocalSocketAddresses(LanTcpPlugin.java:133)
at org.briarproject.bramble.plugin.tcp.TcpPlugin.bind(TcpPlugin.java:162)
at org.briarproject.bramble.plugin.tcp.TcpPlugin.lambda$bind$0(TcpPlugin.java:154)
at org.briarproject.bramble.plugin.tcp.TcpPlugin.lambda$bind$0$TcpPlugin(Unknown Source:0)
at org.briarproject.bramble.plugin.tcp.-$$Lambda$TcpPlugin$IG7OujafuxmUKGD9Z35IgV8DTwo.run(Unknown Source:2)
at org.briarproject.bramble.PoliteExecutor.lambda$execute$0(PoliteExecutor.java:57)
at org.briarproject.bramble.PoliteExecutor.lambda$execute$0$PoliteExecutor(Unknown Source:0)
at org.briarproject.bramble.-$$Lambda$PoliteExecutor$wSvuPL6t_HUoaaqCVexrhJX_RSg.run(Unknown Source:6)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1162)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:636)
at java.lang.Thread.run(Thread.java:764)
Caused by: java.nio.channels.OverlappingFileLockException
at sun.nio.ch.SharedFileLockTable.checkList(FileLockTable.java:255)
at sun.nio.ch.SharedFileLockTable.add(FileLockTable.java:152)
at sun.nio.ch.FileChannelImpl.tryLock(FileChannelImpl.java:1125)
at org.h2.store.fs.FileDisk.tryLock(FilePathDisk.java:447)
at org.h2.store.fs.FileSplit.tryLock(FilePathSplit.java:394)
at org.h2.store.fs.FilePathEncrypt$FileEncrypt.tryLock(FilePathEncrypt.java:399)
at org.h2.mvstore.cache.FilePathCache$FileCache.tryLock(FilePathCache.java:158)
at java.nio.channels.FileChannel.tryLock(FileChannel.java:1155)
at org.h2.mvstore.FileStore.open(FileStore.java:164)
at org.h2.mvstore.MVStore.<init>(MVStore.java:344)
at org.h2.mvstore.MVStore$Builder.open(MVStore.java:2893)
at org.h2.mvstore.db.MVTableEngine$Store.open(MVTableEngine.java:154)
at org.h2.mvstore.db.MVTableEngine.init(MVTableEngine.java:99)
at org.h2.engine.Database.getPageStore(Database.java:2463)
at org.h2.engine.Database.open(Database.java:692)
at org.h2.engine.Database.openDatabase(Database.java:270)
at org.h2.engine.Database.<init>(Database.java:264)
at org.h2.engine.Engine.openSession(Engine.java:64)
at org.h2.engine.Engine.openSession(Engine.java:176)
at org.h2.engine.Engine.createSessionAndValidate(Engine.java:154)
at org.h2.engine.Engine.createSession(Engine.java:137)
at org.h2.engine.Engine.createSession(Engine.java:27)
at org.h2.engine.SessionRemote.connectEmbeddedOrServer(SessionRemote.java:349)
at org.h2.jdbc.JdbcConnection.<init>(JdbcConnection.java:118)
at org.h2.jdbc.JdbcConnection.<init>(JdbcConnection.java:102)
at org.h2.Driver.connect(Driver.java:72)
at java.sql.DriverManager.getConnection(DriverManager.java:569)
at java.sql.DriverManager.getConnection(DriverManager.java:191)
at org.briarproject.bramble.db.H2Database.createConnection(H2Database.java:108)
at org.briarproject.bramble.db.JdbcDatabase.startTransaction(JdbcDatabase.java:602)
at org.briarproject.bramble.db.JdbcDatabase.startTransaction(JdbcDatabase.java:101)
at org.briarproject.bramble.db.DatabaseComponentImpl.startTransaction(DatabaseComponentImpl.java:163)
at org.briarproject.bramble.db.DatabaseComponentImpl.transactionWithResult(DatabaseComponentImpl.java:210)
at org.briarproject.bramble.properties.TransportPropertyManagerImpl.getLocalProperties(TransportPropertyManagerImpl.java:217)
at org.briarproject.bramble.plugin.PluginManagerImpl$Callback.getLocalProperties(PluginManagerImpl.java:311)
at org.briarproject.bramble.plugin.tcp.LanTcpPlugin.getLocalSocketAddresses(LanTcpPlugin.java:133)
at org.briarproject.bramble.plugin.tcp.TcpPlugin.bind(TcpPlugin.java:162)
at org.briarproject.bramble.plugin.tcp.TcpPlugin.lambda$bind$0(TcpPlugin.java:154)
at org.briarproject.bramble.plugin.tcp.TcpPlugin.lambda$bind$0$TcpPlugin(Unknown Source:0)
at org.briarproject.bramble.plugin.tcp.-$$Lambda$TcpPlugin$IG7OujafuxmUKGD9Z35IgV8DTwo.run(Unknown Source:2)
at org.briarproject.bramble.PoliteExecutor.lambda$execute$0(PoliteExecutor.java:57)
at org.briarproject.bramble.PoliteExecutor.lambda$execute$0$PoliteExecutor(Unknown Source:0)
at org.briarproject.bramble.-$$Lambda$PoliteExecutor$wSvuPL6t_HUoaaqCVexrhJX_RSg.run(Unknown Source:6)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1162)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:636)
at java.lang.Thread.run(Thread.java:764)
11-07 15:48:24.821 I/TcpPlugin: Closing redundant server socket
11-07 15:48:24.827 W/PluginManagerImpl: org.briarproject.bramble.api.db.DbException: org.h2.jdbc.JdbcSQLException: Datenbank wird wahrscheinlich bereits benutzt: null. Mögliche Lösungen: alle Verbindungen schliessen; Server Modus verwenden
Database may be already in use: null. Possible solutions: close all other connection(s); use the server mode [90020-192]
org.briarproject.bramble.api.db.DbException: org.h2.jdbc.JdbcSQLException: Datenbank wird wahrscheinlich bereits benutzt: null. Mögliche Lösungen: alle Verbindungen schliessen; Server Modus verwenden
Database may be already in use: null. Possible solutions: close all other connection(s); use the server mode [90020-192]
at org.briarproject.bramble.db.JdbcDatabase.startTransaction(JdbcDatabase.java:612)
at org.briarproject.bramble.db.JdbcDatabase.startTransaction(JdbcDatabase.java:101)
at org.briarproject.bramble.db.DatabaseComponentImpl.startTransaction(DatabaseComponentImpl.java:163)
at org.briarproject.bramble.db.DatabaseComponentImpl.transactionWithResult(DatabaseComponentImpl.java:210)
at org.briarproject.bramble.properties.TransportPropertyManagerImpl.getLocalProperties(TransportPropertyManagerImpl.java:217)
at org.briarproject.bramble.plugin.PluginManagerImpl$Callback.getLocalProperties(PluginManagerImpl.java:311)
at org.briarproject.bramble.plugin.tcp.LanTcpPlugin.getLocalSocketAddresses(LanTcpPlugin.java:133)
at org.briarproject.bramble.plugin.tcp.TcpPlugin.bind(TcpPlugin.java:162)
at org.briarproject.bramble.plugin.tcp.TcpPlugin.lambda$bind$0(TcpPlugin.java:155)
at org.briarproject.bramble.plugin.tcp.TcpPlugin.lambda$bind$0$TcpPlugin(Unknown Source:0)
at org.briarproject.bramble.plugin.tcp.-$$Lambda$TcpPlugin$IG7OujafuxmUKGD9Z35IgV8DTwo.run(Unknown Source:2)
at org.briarproject.bramble.PoliteExecutor.lambda$execute$0(PoliteExecutor.java:57)
at org.briarproject.bramble.PoliteExecutor.lambda$execute$0$PoliteExecutor(Unknown Source:0)
at org.briarproject.bramble.-$$Lambda$PoliteExecutor$wSvuPL6t_HUoaaqCVexrhJX_RSg.run(Unknown Source:6)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1162)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:636)
at java.lang.Thread.run(Thread.java:764)
Caused by: org.h2.jdbc.JdbcSQLException: Datenbank wird wahrscheinlich bereits benutzt: null. Mögliche Lösungen: alle Verbindungen schliessen; Server Modus verwenden
Database may be already in use: null. Possible solutions: close all other connection(s); use the server mode [90020-192]
at org.h2.mvstore.db.MVTableEngine$Store.convertIllegalStateException(MVTableEngine.java:187)
at org.h2.mvstore.db.MVTableEngine$Store.open(MVTableEngine.java:167)
at org.h2.mvstore.db.MVTableEngine.init(MVTableEngine.java:99)
at org.h2.engine.Database.getPageStore(Database.java:2463)
at org.h2.engine.Database.open(Database.java:692)
at org.h2.engine.Database.openDatabase(Database.java:270)
at org.h2.engine.Database.<init>(Database.java:264)
at org.h2.engine.Engine.openSession(Engine.java:64)
at org.h2.engine.Engine.openSession(Engine.java:176)
at org.h2.engine.Engine.createSessionAndValidate(Engine.java:154)
at org.h2.engine.Engine.createSession(Engine.java:137)
at org.h2.engine.Engine.createSession(Engine.java:27)
at org.h2.engine.SessionRemote.connectEmbeddedOrServer(SessionRemote.java:349)
at org.h2.jdbc.JdbcConnection.<init>(JdbcConnection.java:118)
at org.h2.jdbc.JdbcConnection.<init>(JdbcConnection.java:102)
at org.h2.Driver.connect(Driver.java:72)
at java.sql.DriverManager.getConnection(DriverManager.java:569)
at java.sql.DriverManager.getConnection(DriverManager.java:191)
at org.briarproject.bramble.db.H2Database.createConnection(H2Database.java:108)
at org.briarproject.bramble.db.JdbcDatabase.startTransaction(JdbcDatabase.java:602)
at org.briarproject.bramble.db.JdbcDatabase.startTransaction(JdbcDatabase.java:101)
at org.briarproject.bramble.db.DatabaseComponentImpl.startTransaction(DatabaseComponentImpl.java:163)
at org.briarproject.bramble.db.DatabaseComponentImpl.transactionWithResult(DatabaseComponentImpl.java:210)
at org.briarproject.bramble.properties.TransportPropertyManagerImpl.getLocalProperties(TransportPropertyManagerImpl.java:217)
at org.briarproject.bramble.plugin.PluginManagerImpl$Callback.getLocalProperties(PluginManagerImpl.java:311)
at org.briarproject.bramble.plugin.tcp.LanTcpPlugin.getLocalSocketAddresses(LanTcpPlugin.java:133)
at org.briarproject.bramble.plugin.tcp.TcpPlugin.bind(TcpPlugin.java:162)
at org.briarproject.bramble.plugin.tcp.TcpPlugin.lambda$bind$0(TcpPlugin.java:155)
at org.briarproject.bramble.plugin.tcp.TcpPlugin.lambda$bind$0$TcpPlugin(Unknown Source:0)
at org.briarproject.bramble.plugin.tcp.-$$Lambda$TcpPlugin$IG7OujafuxmUKGD9Z35IgV8DTwo.run(Unknown Source:2)
at org.briarproject.bramble.PoliteExecutor.lambda$execute$0(PoliteExecutor.java:57)
at org.briarproject.bramble.PoliteExecutor.lambda$execute$0$PoliteExecutor(Unknown Source:0)
at org.briarproject.bramble.-$$Lambda$PoliteExecutor$wSvuPL6t_HUoaaqCVexrhJX_RSg.run(Unknown Source:6)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1162)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:636)
at java.lang.Thread.run(Thread.java:764)
Caused by: java.lang.IllegalStateException: The file is locked: split:30:/data/data/org.briarproject.briar.android/app_db/db.mv.db [1.4.192/7]
at org.h2.mvstore.DataUtils.newIllegalStateException(DataUtils.java:773)
at org.h2.mvstore.FileStore.open(FileStore.java:167)
at org.h2.mvstore.MVStore.<init>(MVStore.java:344)
at org.h2.mvstore.MVStore$Builder.open(MVStore.java:2893)
at org.h2.mvstore.db.MVTableEngine$Store.open(MVTableEngine.java:154)
at org.h2.mvstore.db.MVTableEngine.init(MVTableEngine.java:99)
at org.h2.engine.Database.getPageStore(Database.java:2463)
at org.h2.engine.Database.open(Database.java:692)
at org.h2.engine.Database.openDatabase(Database.java:270)
at org.h2.engine.Database.<init>(Database.java:264)
at org.h2.engine.Engine.openSession(Engine.java:64)
at org.h2.engine.Engine.openSession(Engine.java:176)
at org.h2.engine.Engine.createSessionAndValidate(Engine.java:154)
at org.h2.engine.Engine.createSession(Engine.java:137)
at org.h2.engine.Engine.createSession(Engine.java:27)
at org.h2.engine.SessionRemote.connectEmbeddedOrServer(SessionRemote.java:349)
at org.h2.jdbc.JdbcConnection.<init>(JdbcConnection.java:118)
at org.h2.jdbc.JdbcConnection.<init>(JdbcConnection.java:102)
at org.h2.Driver.connect(Driver.java:72)
at java.sql.DriverManager.getConnection(DriverManager.java:569)
at java.sql.DriverManager.getConnection(DriverManager.java:191)
at org.briarproject.bramble.db.H2Database.createConnection(H2Database.java:108)
at org.briarproject.bramble.db.JdbcDatabase.startTransaction(JdbcDatabase.java:602)
at org.briarproject.bramble.db.JdbcDatabase.startTransaction(JdbcDatabase.java:101)
at org.briarproject.bramble.db.DatabaseComponentImpl.startTransaction(DatabaseComponentImpl.java:163)
at org.briarproject.bramble.db.DatabaseComponentImpl.transactionWithResult(DatabaseComponentImpl.java:210)
at org.briarproject.bramble.properties.TransportPropertyManagerImpl.getLocalProperties(TransportPropertyManagerImpl.java:217)
at org.briarproject.bramble.plugin.PluginManagerImpl$Callback.getLocalProperties(PluginManagerImpl.java:311)
at org.briarproject.bramble.plugin.tcp.LanTcpPlugin.getLocalSocketAddresses(LanTcpPlugin.java:133)
at org.briarproject.bramble.plugin.tcp.TcpPlugin.bind(TcpPlugin.java:162)
at org.briarproject.bramble.plugin.tcp.TcpPlugin.lambda$bind$0(TcpPlugin.java:155)
at org.briarproject.bramble.plugin.tcp.TcpPlugin.lambda$bind$0$TcpPlugin(Unknown Source:0)
at org.briarproject.bramble.plugin.tcp.-$$Lambda$TcpPlugin$IG7OujafuxmUKGD9Z35IgV8DTwo.run(Unknown Source:2)
at org.briarproject.bramble.PoliteExecutor.lambda$execute$0(PoliteExecutor.java:57)
at org.briarproject.bramble.PoliteExecutor.lambda$execute$0$PoliteExecutor(Unknown Source:0)
at org.briarproject.bramble.-$$Lambda$PoliteExecutor$wSvuPL6t_HUoaaqCVexrhJX_RSg.run(Unknown Source:6)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1162)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:636)
at java.lang.Thread.run(Thread.java:764)
Caused by: java.nio.channels.OverlappingFileLockException
at sun.nio.ch.SharedFileLockTable.checkList(FileLockTable.java:255)
at sun.nio.ch.SharedFileLockTable.add(FileLockTable.java:152)
at sun.nio.ch.FileChannelImpl.tryLock(FileChannelImpl.java:1125)
at org.h2.store.fs.FileDisk.tryLock(FilePathDisk.java:447)
at org.h2.store.fs.FileSplit.tryLock(FilePathSplit.java:394)
at org.h2.store.fs.FilePathEncrypt$FileEncrypt.tryLock(FilePathEncrypt.java:399)
at org.h2.mvstore.cache.FilePathCache$FileCache.tryLock(FilePathCache.java:158)
at java.nio.channels.FileChannel.tryLock(FileChannel.java:1155)
at org.h2.mvstore.FileStore.open(FileStore.java:164)
at org.h2.mvstore.MVStore.<init>(MVStore.java:344)
at org.h2.mvstore.MVStore$Builder.open(MVStore.java:2893)
at org.h2.mvstore.db.MVTableEngine$Store.open(MVTableEngine.java:154)
at org.h2.mvstore.db.MVTableEngine.init(MVTableEngine.java:99)
at org.h2.engine.Database.getPageStore(Database.java:2463)
at org.h2.engine.Database.open(Database.java:692)
at org.h2.engine.Database.openDatabase(Database.java:270)
at org.h2.engine.Database.<init>(Database.java:264)
at org.h2.engine.Engine.openSession(Engine.java:64)
at org.h2.engine.Engine.openSession(Engine.java:176)
at org.h2.engine.Engine.createSessionAndValidate(Engine.java:154)
at org.h2.engine.Engine.createSession(Engine.java:137)
at org.h2.engine.Engine.createSession(Engine.java:27)
at org.h2.engine.SessionRemote.connectEmbeddedOrServer(SessionRemote.java:349)
at org.h2.jdbc.JdbcConnection.<init>(JdbcConnection.java:118)
at org.h2.jdbc.JdbcConnection.<init>(JdbcConnection.java:102)
at org.h2.Driver.connect(Driver.java:72)
at java.sql.DriverManager.getConnection(DriverManager.java:569)
at java.sql.DriverManager.getConnection(DriverManager.java:191)
at org.briarproject.bramble.db.H2Database.createConnection(H2Database.java:108)
at org.briarproject.bramble.db.JdbcDatabase.startTransaction(JdbcDatabase.java:602)
at org.briarproject.bramble.db.JdbcDatabase.startTransaction(JdbcDatabase.java:101)
at org.briarproject.bramble.db.DatabaseComponentImpl.startTransaction(DatabaseComponentImpl.java:163)
at org.briarproject.bramble.db.DatabaseComponentImpl.transactionWithResult(DatabaseComponentImpl.java:210)
at org.briarproject.bramble.properties.TransportPropertyManagerImpl.getLocalProperties(TransportPropertyManagerImpl.java:217)
at org.briarproject.bramble.plugin.PluginManagerImpl$Callback.getLocalProperties(PluginManagerImpl.java:311)
at org.briarproject.bramble.plugin.tcp.LanTcpPlugin.getLocalSocketAddresses(LanTcpPlugin.java:133)
at org.briarproject.bramble.plugin.tcp.TcpPlugin.bind(TcpPlugin.java:162)
at org.briarproject.bramble.plugin.tcp.TcpPlugin.lambda$bind$0(TcpPlugin.java:155)
at org.briarproject.bramble.plugin.tcp.TcpPlugin.lambda$bind$0$TcpPlugin(Unknown Source:0)
at org.briarproject.bramble.plugin.tcp.-$$Lambda$TcpPlugin$IG7OujafuxmUKGD9Z35IgV8DTwo.run(Unknown Source:2)
at org.briarproject.bramble.PoliteExecutor.lambda$execute$0(PoliteExecutor.java:57)
at org.briarproject.bramble.PoliteExecutor.lambda$execute$0$PoliteExecutor(Unknown Source:0)
at org.briarproject.bramble.-$$Lambda$PoliteExecutor$wSvuPL6t_HUoaaqCVexrhJX_RSg.run(Unknown Source:6)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1162)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:636)
at java.lang.Thread.run(Thread.java:764)
11-07 15:48:24.833 I/TcpPlugin: Closing redundant server socket
11-07 15:48:44.583 I/DuplexOutgoingSession: Sending keepalive
11-07 15:48:48.197 I/DuplexOutgoingSession: Sending keepalive
11-07 15:48:55.861 I/AndroidTaskScheduler: Running 1 due tasks
11-07 15:48:55.861 I/AndroidTaskScheduler: Task is 1 ms overdue
11-07 15:48:56.612 I/PollerImpl: Polling plugin org.briarproject.bramble.lan
11-07 15:49:08.820 I/RenewableWakeLock: Renewing wake lock org.briarproject.briar.android
11-07 15:49:09.649 W/PollerImpl: org.briarproject.bramble.api.db.DbException: org.h2.jdbc.JdbcSQLException: Datenbank wird wahrscheinlich bereits benutzt: null. Mögliche Lösungen: alle Verbindungen schliessen; Server Modus verwenden
Database may be already in use: null. Possible solutions: close all other connection(s); use the server mode [90020-192]
org.briarproject.bramble.api.db.DbException: org.h2.jdbc.JdbcSQLException: Datenbank wird wahrscheinlich bereits benutzt: null. Mögliche Lösungen: alle Verbindungen schliessen; Server Modus verwenden
Database may be already in use: null. Possible solutions: close all other connection(s); use the server mode [90020-192]
at org.briarproject.bramble.db.JdbcDatabase.startTransaction(JdbcDatabase.java:612)
at org.briarproject.bramble.db.JdbcDatabase.startTransaction(JdbcDatabase.java:101)
at org.briarproject.bramble.db.DatabaseComponentImpl.startTransaction(DatabaseComponentImpl.java:163)
at org.briarproject.bramble.db.DatabaseComponentImpl.transactionWithResult(DatabaseComponentImpl.java:210)
at org.briarproject.bramble.properties.TransportPropertyManagerImpl.getRemoteProperties(TransportPropertyManagerImpl.java:238)
at org.briarproject.bramble.plugin.PollerImpl.poll(PollerImpl.java:221)
at org.briarproject.bramble.plugin.PollerImpl.access$1000(PollerImpl.java:57)
at org.briarproject.bramble.plugin.PollerImpl$PollTask.run(PollerImpl.java:277)
at org.briarproject.bramble.system.AndroidWakeLockManagerImpl.lambda$executeWakefully$0(AndroidWakeLockManagerImpl.java:73)
at org.briarproject.bramble.system.-$$Lambda$AndroidWakeLockManagerImpl$P0v7ccI1GqbvGyqUJX4idUffuJI.run(Unknown Source:4)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1162)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:636)
at java.lang.Thread.run(Thread.java:764)
Caused by: org.h2.jdbc.JdbcSQLException: Datenbank wird wahrscheinlich bereits benutzt: null. Mögliche Lösungen: alle Verbindungen schliessen; Server Modus verwenden
Database may be already in use: null. Possible solutions: close all other connection(s); use the server mode [90020-192]
at org.h2.mvstore.db.MVTableEngine$Store.convertIllegalStateException(MVTableEngine.java:187)
at org.h2.mvstore.db.MVTableEngine$Store.open(MVTableEngine.java:167)
at org.h2.mvstore.db.MVTableEngine.init(MVTableEngine.java:99)
at org.h2.engine.Database.getPageStore(Database.java:2463)
at org.h2.engine.Database.open(Database.java:692)
at org.h2.engine.Database.openDatabase(Database.java:270)
at org.h2.engine.Database.<init>(Database.java:264)
at org.h2.engine.Engine.openSession(Engine.java:64)
at org.h2.engine.Engine.openSession(Engine.java:176)
at org.h2.engine.Engine.createSessionAndValidate(Engine.java:154)
at org.h2.engine.Engine.createSession(Engine.java:137)
at org.h2.engine.Engine.createSession(Engine.java:27)
at org.h2.engine.SessionRemote.connectEmbeddedOrServer(SessionRemote.java:349)
at org.h2.jdbc.JdbcConnection.<init>(JdbcConnection.java:118)
at org.h2.jdbc.JdbcConnection.<init>(JdbcConnection.java:102)
at org.h2.Driver.connect(Driver.java:72)
at java.sql.DriverManager.getConnection(DriverManager.java:569)
at java.sql.DriverManager.getConnection(DriverManager.java:191)
at org.briarproject.bramble.db.H2Database.createConnection(H2Database.java:108)
at org.briarproject.bramble.db.JdbcDatabase.startTransaction(JdbcDatabase.java:602)
at org.briarproject.bramble.db.JdbcDatabase.startTransaction(JdbcDatabase.java:101)
at org.briarproject.bramble.db.DatabaseComponentImpl.startTransaction(DatabaseComponentImpl.java:163)
at org.briarproject.bramble.db.DatabaseComponentImpl.transactionWithResult(DatabaseComponentImpl.java:210)
at org.briarproject.bramble.properties.TransportPropertyManagerImpl.getRemoteProperties(TransportPropertyManagerImpl.java:238)
at org.briarproject.bramble.plugin.PollerImpl.poll(PollerImpl.java:221)
at org.briarproject.bramble.plugin.PollerImpl.access$1000(PollerImpl.java:57)
at org.briarproject.bramble.plugin.PollerImpl$PollTask.run(PollerImpl.java:277)
at org.briarproject.bramble.system.AndroidWakeLockManagerImpl.lambda$executeWakefully$0(AndroidWakeLockManagerImpl.java:73)
at org.briarproject.bramble.system.-$$Lambda$AndroidWakeLockManagerImpl$P0v7ccI1GqbvGyqUJX4idUffuJI.run(Unknown Source:4)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1162)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:636)
at java.lang.Thread.run(Thread.java:764)
Caused by: java.lang.IllegalStateException: The file is locked: split:30:/data/data/org.briarproject.briar.android/app_db/db.mv.db [1.4.192/7]
at org.h2.mvstore.DataUtils.newIllegalStateException(DataUtils.java:773)
at org.h2.mvstore.FileStore.open(FileStore.java:167)
at org.h2.mvstore.MVStore.<init>(MVStore.java:344)
at org.h2.mvstore.MVStore$Builder.open(MVStore.java:2893)
at org.h2.mvstore.db.MVTableEngine$Store.open(MVTableEngine.java:154)
at org.h2.mvstore.db.MVTableEngine.init(MVTableEngine.java:99)
at org.h2.engine.Database.getPageStore(Database.java:2463)
at org.h2.engine.Database.open(Database.java:692)
at org.h2.engine.Database.openDatabase(Database.java:270)
at org.h2.engine.Database.<init>(Database.java:264)
at org.h2.engine.Engine.openSession(Engine.java:64)
at org.h2.engine.Engine.openSession(Engine.java:176)
at org.h2.engine.Engine.createSessionAndValidate(Engine.java:154)
at org.h2.engine.Engine.createSession(Engine.java:137)
at org.h2.engine.Engine.createSession(Engine.java:27)
at org.h2.engine.SessionRemote.connectEmbeddedOrServer(SessionRemote.java:349)
at org.h2.jdbc.JdbcConnection.<init>(JdbcConnection.java:118)
at org.h2.jdbc.JdbcConnection.<init>(JdbcConnection.java:102)
at org.h2.Driver.connect(Driver.java:72)
at java.sql.DriverManager.getConnection(DriverManager.java:569)
at java.sql.DriverManager.getConnection(DriverManager.java:191)
at org.briarproject.bramble.db.H2Database.createConnection(H2Database.java:108)
at org.briarproject.bramble.db.JdbcDatabase.startTransaction(JdbcDatabase.java:602)
at org.briarproject.bramble.db.JdbcDatabase.startTransaction(JdbcDatabase.java:101)
at org.briarproject.bramble.db.DatabaseComponentImpl.startTransaction(DatabaseComponentImpl.java:163)
at org.briarproject.bramble.db.DatabaseComponentImpl.transactionWithResult(DatabaseComponentImpl.java:210)
at org.briarproject.bramble.properties.TransportPropertyManagerImpl.getRemoteProperties(TransportPropertyManagerImpl.java:238)
at org.briarproject.bramble.plugin.PollerImpl.poll(PollerImpl.java:221)
at org.briarproject.bramble.plugin.PollerImpl.access$1000(PollerImpl.java:57)
at org.briarproject.bramble.plugin.PollerImpl$PollTask.run(PollerImpl.java:277)
at org.briarproject.bramble.system.AndroidWakeLockManagerImpl.lambda$executeWakefully$0(AndroidWakeLockManagerImpl.java:73)
at org.briarproject.bramble.system.-$$Lambda$AndroidWakeLockManagerImpl$P0v7ccI1GqbvGyqUJX4idUffuJI.run(Unknown Source:4)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1162)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:636)
at java.lang.Thread.run(Thread.java:764)
Caused by: java.nio.channels.OverlappingFileLockException
at sun.nio.ch.SharedFileLockTable.checkList(FileLockTable.java:255)
at sun.nio.ch.SharedFileLockTable.add(FileLockTable.java:152)
at sun.nio.ch.FileChannelImpl.tryLock(FileChannelImpl.java:1125)
at org.h2.store.fs.FileDisk.tryLock(FilePathDisk.java:447)
at org.h2.store.fs.FileSplit.tryLock(FilePathSplit.java:394)
at org.h2.store.fs.FilePathEncrypt$FileEncrypt.tryLock(FilePathEncrypt.java:399)
at org.h2.mvstore.cache.FilePathCache$FileCache.tryLock(FilePathCache.java:158)
at java.nio.channels.FileChannel.tryLock(FileChannel.java:1155)
at org.h2.mvstore.FileStore.open(FileStore.java:164)
at org.h2.mvstore.MVStore.<init>(MVStore.java:344)
at org.h2.mvstore.MVStore$Builder.open(MVStore.java:2893)
at org.h2.mvstore.db.MVTableEngine$Store.open(MVTableEngine.java:154)
at org.h2.mvstore.db.MVTableEngine.init(MVTableEngine.java:99)
at org.h2.engine.Database.getPageStore(Database.java:2463)
at org.h2.engine.Database.open(Database.java:692)
at org.h2.engine.Database.openDatabase(Database.java:270)
at org.h2.engine.Database.<init>(Database.java:264)
at org.h2.engine.Engine.openSession(Engine.java:64)
at org.h2.engine.Engine.openSession(Engine.java:176)
at org.h2.engine.Engine.createSessionAndValidate(Engine.java:154)
at org.h2.engine.Engine.createSession(Engine.java:137)
at org.h2.engine.Engine.createSession(Engine.java:27)
at org.h2.engine.SessionRemote.connectEmbeddedOrServer(SessionRemote.java:349)
at org.h2.jdbc.JdbcConnection.<init>(JdbcConnection.java:118)
at org.h2.jdbc.JdbcConnection.<init>(JdbcConnection.java:102)
at org.h2.Driver.connect(Driver.java:72)
at java.sql.DriverManager.getConnection(DriverManager.java:569)
at java.sql.DriverManager.getConnection(DriverManager.java:191)
at org.briarproject.bramble.db.H2Database.createConnection(H2Database.java:108)
at org.briarproject.bramble.db.JdbcDatabase.startTransaction(JdbcDatabase.java:602)
at org.briarproject.bramble.db.JdbcDatabase.startTransaction(JdbcDatabase.java:101)
at org.briarproject.bramble.db.DatabaseComponentImpl.startTransaction(DatabaseComponentImpl.java:163)
at org.briarproject.bramble.db.DatabaseComponentImpl.transactionWithResult(DatabaseComponentImpl.java:210)
at org.briarproject.bramble.properties.TransportPropertyManagerImpl.getRemoteProperties(TransportPropertyManagerImpl.java:238)
at org.briarproject.bramble.plugin.PollerImpl.poll(PollerImpl.java:221)
at org.briarproject.bramble.plugin.PollerImpl.access$1000(PollerImpl.java:57)
at org.briarproject.bramble.plugin.PollerImpl$PollTask.run(PollerImpl.java:277)
at org.briarproject.bramble.system.AndroidWakeLockManagerImpl.lambda$executeWakefully$0(AndroidWakeLockManagerImpl.java:73)
at org.briarproject.bramble.system.-$$Lambda$AndroidWakeLockManagerImpl$P0v7ccI1GqbvGyqUJX4idUffuJI.run(Unknown Source:4)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1162)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:636)
at java.lang.Thread.run(Thread.java:764)
11-07 15:49:14.996 I/DuplexOutgoingSession: Sending keepalive
11-07 15:49:18.362 I/DuplexOutgoingSession: Sending keepalive
11-07 15:49:29.404 I/AndroidTaskScheduler: Running 1 due tasks
11-07 15:49:29.404 I/AndroidTaskScheduler: Task is 8874 ms overdue
11-07 15:49:29.404 I/FeedManagerImpl: Updating RSS feeds...
11-07 15:49:42.080 W/FeedManagerImpl: org.briarproject.bramble.api.db.DbException: org.h2.jdbc.JdbcSQLException: Datenbank wird wahrscheinlich bereits benutzt: null. Mögliche Lösungen: alle Verbindungen schliessen; Server Modus verwenden
Database may be already in use: null. Possible solutions: close all other connection(s); use the server mode [90020-192]
org.briarproject.bramble.api.db.DbException: org.h2.jdbc.JdbcSQLException: Datenbank wird wahrscheinlich bereits benutzt: null. Mögliche Lösungen: alle Verbindungen schliessen; Server Modus verwenden
Database may be already in use: null. Possible solutions: close all other connection(s); use the server mode [90020-192]
at org.briarproject.bramble.db.JdbcDatabase.startTransaction(JdbcDatabase.java:612)
at org.briarproject.bramble.db.JdbcDatabase.startTransaction(JdbcDatabase.java:101)
at org.briarproject.bramble.db.DatabaseComponentImpl.startTransaction(DatabaseComponentImpl.java:163)
at org.briarproject.bramble.db.DatabaseComponentImpl.transactionWithResult(DatabaseComponentImpl.java:210)
at org.briarproject.briar.feed.FeedManagerImpl.getFeeds(FeedManagerImpl.java:237)
at org.briarproject.briar.feed.FeedManagerImpl.fetchFeeds(FeedManagerImpl.java:299)
at org.briarproject.briar.feed.-$$Lambda$soycJ-g1Pc6L6zZvAe_6bNrzInY.run(Unknown Source:2)
at org.briarproject.bramble.system.AndroidTaskScheduler.lambda$scheduleWithFixedDelay$2(AndroidTaskScheduler.java:132)
at org.briarproject.bramble.system.AndroidTaskScheduler.lambda$scheduleWithFixedDelay$2$AndroidTaskScheduler(Unknown Source:0)
at org.briarproject.bramble.system.-$$Lambda$AndroidTaskScheduler$zbbtt4N8iq0vPb0Ftc1m3t4mPPE.run(Unknown Source:12)
at org.briarproject.bramble.system.AndroidWakeLockManagerImpl.lambda$executeWakefully$0(AndroidWakeLockManagerImpl.java:73)
at org.briarproject.bramble.system.-$$Lambda$AndroidWakeLockManagerImpl$P0v7ccI1GqbvGyqUJX4idUffuJI.run(Unknown Source:4)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1162)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:636)
at java.lang.Thread.run(Thread.java:764)
Caused by: org.h2.jdbc.JdbcSQLException: Datenbank wird wahrscheinlich bereits benutzt: null. Mögliche Lösungen: alle Verbindungen schliessen; Server Modus verwenden
Database may be already in use: null. Possible solutions: close all other connection(s); use the server mode [90020-192]
at org.h2.mvstore.db.MVTableEngine$Store.convertIllegalStateException(MVTableEngine.java:187)
at org.h2.mvstore.db.MVTableEngine$Store.open(MVTableEngine.java:167)
at org.h2.mvstore.db.MVTableEngine.init(MVTableEngine.java:99)
at org.h2.engine.Database.getPageStore(Database.java:2463)
at org.h2.engine.Database.open(Database.java:692)
at org.h2.engine.Database.openDatabase(Database.java:270)
at org.h2.engine.Database.<init>(Database.java:264)
at org.h2.engine.Engine.openSession(Engine.java:64)
at org.h2.engine.Engine.openSession(Engine.java:176)
at org.h2.engine.Engine.createSessionAndValidate(Engine.java:154)
at org.h2.engine.Engine.createSession(Engine.java:137)
at org.h2.engine.Engine.createSession(Engine.java:27)
at org.h2.engine.SessionRemote.connectEmbeddedOrServer(SessionRemote.java:349)
at org.h2.jdbc.JdbcConnection.<init>(JdbcConnection.java:118)
at org.h2.jdbc.JdbcConnection.<init>(JdbcConnection.java:102)
at org.h2.Driver.connect(Driver.java:72)
at java.sql.DriverManager.getConnection(DriverManager.java:569)
at java.sql.DriverManager.getConnection(DriverManager.java:191)
at org.briarproject.bramble.db.H2Database.createConnection(H2Database.java:108)
at org.briarproject.bramble.db.JdbcDatabase.startTransaction(JdbcDatabase.java:602)
at org.briarproject.bramble.db.JdbcDatabase.startTransaction(JdbcDatabase.java:101)
at org.briarproject.bramble.db.DatabaseComponentImpl.startTransaction(DatabaseComponentImpl.java:163)
at org.briarproject.bramble.db.DatabaseComponentImpl.transactionWithResult(DatabaseComponentImpl.java:210)
at org.briarproject.briar.feed.FeedManagerImpl.getFeeds(FeedManagerImpl.java:237)
at org.briarproject.briar.feed.FeedManagerImpl.fetchFeeds(FeedManagerImpl.java:299)
at org.briarproject.briar.feed.-$$Lambda$soycJ-g1Pc6L6zZvAe_6bNrzInY.run(Unknown Source:2)
at org.briarproject.bramble.system.AndroidTaskScheduler.lambda$scheduleWithFixedDelay$2(AndroidTaskScheduler.java:132)
at org.briarproject.bramble.system.AndroidTaskScheduler.lambda$scheduleWithFixedDelay$2$AndroidTaskScheduler(Unknown Source:0)
at org.briarproject.bramble.system.-$$Lambda$AndroidTaskScheduler$zbbtt4N8iq0vPb0Ftc1m3t4mPPE.run(Unknown Source:12)
at org.briarproject.bramble.system.AndroidWakeLockManagerImpl.lambda$executeWakefully$0(AndroidWakeLockManagerImpl.java:73)
at org.briarproject.bramble.system.-$$Lambda$AndroidWakeLockManagerImpl$P0v7ccI1GqbvGyqUJX4idUffuJI.run(Unknown Source:4)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1162)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:636)
at java.lang.Thread.run(Thread.java:764)
Caused by: java.lang.IllegalStateException: The file is locked: split:30:/data/data/org.briarproject.briar.android/app_db/db.mv.db [1.4.192/7]
at org.h2.mvstore.DataUtils.newIllegalStateException(DataUtils.java:773)
at org.h2.mvstore.FileStore.open(FileStore.java:167)
at org.h2.mvstore.MVStore.<init>(MVStore.java:344)
at org.h2.mvstore.MVStore$Builder.open(MVStore.java:2893)
at org.h2.mvstore.db.MVTableEngine$Store.open(MVTableEngine.java:154)
at org.h2.mvstore.db.MVTableEngine.init(MVTableEngine.java:99)
at org.h2.engine.Database.getPageStore(Database.java:2463)
at org.h2.engine.Database.open(Database.java:692)
at org.h2.engine.Database.openDatabase(Database.java:270)
at org.h2.engine.Database.<init>(Database.java:264)
at org.h2.engine.Engine.openSession(Engine.java:64)
at org.h2.engine.Engine.openSession(Engine.java:176)
at org.h2.engine.Engine.createSessionAndValidate(Engine.java:154)
at org.h2.engine.Engine.createSession(Engine.java:137)
at org.h2.engine.Engine.createSession(Engine.java:27)
at org.h2.engine.SessionRemote.connectEmbeddedOrServer(SessionRemote.java:349)
at org.h2.jdbc.JdbcConnection.<init>(JdbcConnection.java:118)
at org.h2.jdbc.JdbcConnection.<init>(JdbcConnection.java:102)
at org.h2.Driver.connect(Driver.java:72)
at java.sql.DriverManager.getConnection(DriverManager.java:569)
at java.sql.DriverManager.getConnection(DriverManager.java:191)
at org.briarproject.bramble.db.H2Database.createConnection(H2Database.java:108)
at org.briarproject.bramble.db.JdbcDatabase.startTransaction(JdbcDatabase.java:602)
at org.briarproject.bramble.db.JdbcDatabase.startTransaction(JdbcDatabase.java:101)
at org.briarproject.bramble.db.DatabaseComponentImpl.startTransaction(DatabaseComponentImpl.java:163)
at org.briarproject.bramble.db.DatabaseComponentImpl.transactionWithResult(DatabaseComponentImpl.java:210)
at org.briarproject.briar.feed.FeedManagerImpl.getFeeds(FeedManagerImpl.java:237)
at org.briarproject.briar.feed.FeedManagerImpl.fetchFeeds(FeedManagerImpl.java:299)
at org.briarproject.briar.feed.-$$Lambda$soycJ-g1Pc6L6zZvAe_6bNrzInY.run(Unknown Source:2)
at org.briarproject.bramble.system.AndroidTaskScheduler.lambda$scheduleWithFixedDelay$2(AndroidTaskScheduler.java:132)
at org.briarproject.bramble.system.AndroidTaskScheduler.lambda$scheduleWithFixedDelay$2$AndroidTaskScheduler(Unknown Source:0)
at org.briarproject.bramble.system.-$$Lambda$AndroidTaskScheduler$zbbtt4N8iq0vPb0Ftc1m3t4mPPE.run(Unknown Source:12)
at org.briarproject.bramble.system.AndroidWakeLockManagerImpl.lambda$executeWakefully$0(AndroidWakeLockManagerImpl.java:73)
at org.briarproject.bramble.system.-$$Lambda$AndroidWakeLockManagerImpl$P0v7ccI1GqbvGyqUJX4idUffuJI.run(Unknown Source:4)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1162)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:636)
at java.lang.Thread.run(Thread.java:764)
Caused by: java.nio.channels.OverlappingFileLockException
at sun.nio.ch.SharedFileLockTable.checkList(FileLockTable.java:255)
at sun.nio.ch.SharedFileLockTable.add(FileLockTable.java:152)
at sun.nio.ch.FileChannelImpl.tryLock(FileChannelImpl.java:1125)
at org.h2.store.fs.FileDisk.tryLock(FilePathDisk.java:447)
at org.h2.store.fs.FileSplit.tryLock(FilePathSplit.java:394)
at org.h2.store.fs.FilePathEncrypt$FileEncrypt.tryLock(FilePathEncrypt.java:399)
at org.h2.mvstore.cache.FilePathCache$FileCache.tryLock(FilePathCache.java:158)
at java.nio.channels.FileChannel.tryLock(FileChannel.java:1155)
at org.h2.mvstore.FileStore.open(FileStore.java:164)
at org.h2.mvstore.MVStore.<init>(MVStore.java:344)
at org.h2.mvstore.MVStore$Builder.open(MVStore.java:2893)
at org.h2.mvstore.db.MVTableEngine$Store.open(MVTableEngine.java:154)
at org.h2.mvstore.db.MVTableEngine.init(MVTableEngine.java:99)
at org.h2.engine.Database.getPageStore(Database.java:2463)
at org.h2.engine.Database.open(Database.java:692)
at org.h2.engine.Database.openDatabase(Database.java:270)
at org.h2.engine.Database.<init>(Database.java:264)
at org.h2.engine.Engine.openSession(Engine.java:64)
at org.h2.engine.Engine.openSession(Engine.java:176)
at org.h2.engine.Engine.createSessionAndValidate(Engine.java:154)
at org.h2.engine.Engine.createSession(Engine.java:137)
at org.h2.engine.Engine.createSession(Engine.java:27)
at org.h2.engine.SessionRemote.connectEmbeddedOrServer(SessionRemote.java:349)
at org.h2.jdbc.JdbcConnection.<init>(JdbcConnection.java:118)
at org.h2.jdbc.JdbcConnection.<init>(JdbcConnection.java:102)
at org.h2.Driver.connect(Driver.java:72)
at java.sql.DriverManager.getConnection(DriverManager.java:569)
at java.sql.DriverManager.getConnection(DriverManager.java:191)
at org.briarproject.bramble.db.H2Database.createConnection(H2Database.java:108)
at org.briarproject.bramble.db.JdbcDatabase.startTransaction(JdbcDatabase.java:602)
at org.briarproject.bramble.db.JdbcDatabase.startTransaction(JdbcDatabase.java:101)
at org.briarproject.bramble.db.DatabaseComponentImpl.startTransaction(DatabaseComponentImpl.java:163)
at org.briarproject.bramble.db.DatabaseComponentImpl.transactionWithResult(DatabaseComponentImpl.java:210)
at org.briarproject.briar.feed.FeedManagerImpl.getFeeds(FeedManagerImpl.java:237)
at org.briarproject.briar.feed.FeedManagerImpl.fetchFeeds(FeedManagerImpl.java:299)
at org.briarproject.briar.feed.-$$Lambda$soycJ-g1Pc6L6zZvAe_6bNrzInY.run(Unknown Source:2)
at org.briarproject.bramble.system.AndroidTaskScheduler.lambda$scheduleWithFixedDelay$2(AndroidTaskScheduler.java:132)
at org.briarproject.bramble.system.AndroidTaskScheduler.lambda$scheduleWithFixedDelay$2$AndroidTaskScheduler(Unknown Source:0)
at org.briarproject.bramble.system.-$$Lambda$AndroidTaskScheduler$zbbtt4N8iq0vPb0Ftc1m3t4mPPE.run(Unknown Source:12)
at org.briarproject.bramble.system.AndroidWakeLockManagerImpl.lambda$executeWakefully$0(AndroidWakeLockManagerImpl.java:73)
at org.briarproject.bramble.system.-$$Lambda$AndroidWakeLockManagerImpl$P0v7ccI1GqbvGyqUJX4idUffuJI.run(Unknown Source:4)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1162)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:636)
at java.lang.Thread.run(Thread.java:764)
11-07 15:49:44.609 I/DuplexOutgoingSession: Sending keepalive
11-07 15:49:48.198 I/DuplexOutgoingSession: Sending keepalive
11-07 15:49:56.189 I/AndroidTaskScheduler: Running 1 due tasks
11-07 15:49:56.189 I/AndroidTaskScheduler: Task is 900 ms overdue
11-07 15:49:56.190 I/PollerImpl: Polling plugin org.briarproject.bramble.tor
11-07 15:50:04.166 W/PollerImpl: org.briarproject.bramble.api.db.DbException: org.h2.jdbc.JdbcSQLException: Datenbank wird wahrscheinlich bereits benutzt: null. Mögliche Lösungen: alle Verbindungen schliessen; Server Modus verwenden
Database may be already in use: null. Possible solutions: close all other connection(s); use the server mode [90020-192]
org.briarproject.bramble.api.db.DbException: org.h2.jdbc.JdbcSQLException: Datenbank wird wahrscheinlich bereits benutzt: null. Mögliche Lösungen: alle Verbindungen schliessen; Server Modus verwenden
Database may be already in use: null. Possible solutions: close all other connection(s); use the server mode [90020-192]
at org.briarproject.bramble.db.JdbcDatabase.startTransaction(JdbcDatabase.java:612)
at org.briarproject.bramble.db.JdbcDatabase.startTransaction(JdbcDatabase.java:101)
at org.briarproject.bramble.db.DatabaseComponentImpl.startTransaction(DatabaseComponentImpl.java:163)
at org.briarproject.bramble.db.DatabaseComponentImpl.transactionWithResult(DatabaseComponentImpl.java:210)
at org.briarproject.bramble.properties.TransportPropertyManagerImpl.getRemoteProperties(TransportPropertyManagerImpl.java:238)
at org.briarproject.bramble.plugin.PollerImpl.poll(PollerImpl.java:221)
at org.briarproject.bramble.plugin.PollerImpl.access$1000(PollerImpl.java:57)
at org.briarproject.bramble.plugin.PollerImpl$PollTask.run(PollerImpl.java:277)
at org.briarproject.bramble.system.AndroidWakeLockManagerImpl.lambda$executeWakefully$0(AndroidWakeLockManagerImpl.java:73)
at org.briarproject.bramble.system.-$$Lambda$AndroidWakeLockManagerImpl$P0v7ccI1GqbvGyqUJX4idUffuJI.run(Unknown Source:4)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1162)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:636)
at java.lang.Thread.run(Thread.java:764)
Caused by: org.h2.jdbc.JdbcSQLException: Datenbank wird wahrscheinlich bereits benutzt: null. Mögliche Lösungen: alle Verbindungen schliessen; Server Modus verwenden
Database may be already in use: null. Possible solutions: close all other connection(s); use the server mode [90020-192]
at org.h2.mvstore.db.MVTableEngine$Store.convertIllegalStateException(MVTableEngine.java:187)
at org.h2.mvstore.db.MVTableEngine$Store.open(MVTableEngine.java:167)
at org.h2.mvstore.db.MVTableEngine.init(MVTableEngine.java:99)
at org.h2.engine.Database.getPageStore(Database.java:2463)
at org.h2.engine.Database.open(Database.java:692)
at org.h2.engine.Database.openDatabase(Database.java:270)
at org.h2.engine.Database.<init>(Database.java:264)
at org.h2.engine.Engine.openSession(Engine.java:64)
at org.h2.engine.Engine.openSession(Engine.java:176)
at org.h2.engine.Engine.createSessionAndValidate(Engine.java:154)
at org.h2.engine.Engine.createSession(Engine.java:137)
at org.h2.engine.Engine.createSession(Engine.java:27)
at org.h2.engine.SessionRemote.connectEmbeddedOrServer(SessionRemote.java:349)
at org.h2.jdbc.JdbcConnection.<init>(JdbcConnection.java:118)
at org.h2.jdbc.JdbcConnection.<init>(JdbcConnection.java:102)
at org.h2.Driver.connect(Driver.java:72)
at java.sql.DriverManager.getConnection(DriverManager.java:569)
at java.sql.DriverManager.getConnection(DriverManager.java:191)
at org.briarproject.bramble.db.H2Database.createConnection(H2Database.java:108)
at org.briarproject.bramble.db.JdbcDatabase.startTransaction(JdbcDatabase.java:602)
at org.briarproject.bramble.db.JdbcDatabase.startTransaction(JdbcDatabase.java:101)
at org.briarproject.bramble.db.DatabaseComponentImpl.startTransaction(DatabaseComponentImpl.java:163)
at org.briarproject.bramble.db.DatabaseComponentImpl.transactionWithResult(DatabaseComponentImpl.java:210)
at org.briarproject.bramble.properties.TransportPropertyManagerImpl.getRemoteProperties(TransportPropertyManagerImpl.java:238)
at org.briarproject.bramble.plugin.PollerImpl.poll(PollerImpl.java:221)
at org.briarproject.bramble.plugin.PollerImpl.access$1000(PollerImpl.java:57)
at org.briarproject.bramble.plugin.PollerImpl$PollTask.run(PollerImpl.java:277)
at org.briarproject.bramble.system.AndroidWakeLockManagerImpl.lambda$executeWakefully$0(AndroidWakeLockManagerImpl.java:73)
at org.briarproject.bramble.system.-$$Lambda$AndroidWakeLockManagerImpl$P0v7ccI1GqbvGyqUJX4idUffuJI.run(Unknown Source:4)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1162)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:636)
at java.lang.Thread.run(Thread.java:764)
Caused by: java.lang.IllegalStateException: The file is locked: split:30:/data/data/org.briarproject.briar.android/app_db/db.mv.db [1.4.192/7]
at org.h2.mvstore.DataUtils.newIllegalStateException(DataUtils.java:773)
at org.h2.mvstore.FileStore.open(FileStore.java:167)
at org.h2.mvstore.MVStore.<init>(MVStore.java:344)
at org.h2.mvstore.MVStore$Builder.open(MVStore.java:2893)
at org.h2.mvstore.db.MVTableEngine$Store.open(MVTableEngine.java:154)
at org.h2.mvstore.db.MVTableEngine.init(MVTableEngine.java:99)
at org.h2.engine.Database.getPageStore(Database.java:2463)
at org.h2.engine.Database.open(Database.java:692)
at org.h2.engine.Database.openDatabase(Database.java:270)
at org.h2.engine.Database.<init>(Database.java:264)
at org.h2.engine.Engine.openSession(Engine.java:64)
at org.h2.engine.Engine.openSession(Engine.java:176)
at org.h2.engine.Engine.createSessionAndValidate(Engine.java:154)
at org.h2.engine.Engine.createSession(Engine.java:137)
at org.h2.engine.Engine.createSession(Engine.java:27)
at org.h2.engine.SessionRemote.connectEmbeddedOrServer(SessionRemote.java:349)
at org.h2.jdbc.JdbcConnection.<init>(JdbcConnection.java:118)
at org.h2.jdbc.JdbcConnection.<init>(JdbcConnection.java:102)
at org.h2.Driver.connect(Driver.java:72)
at java.sql.DriverManager.getConnection(DriverManager.java:569)
at java.sql.DriverManager.getConnection(DriverManager.java:191)
at org.briarproject.bramble.db.H2Database.createConnection(H2Database.java:108)
at org.briarproject.bramble.db.JdbcDatabase.startTransaction(JdbcDatabase.java:602)
at org.briarproject.bramble.db.JdbcDatabase.startTransaction(JdbcDatabase.java:101)
at org.briarproject.bramble.db.DatabaseComponentImpl.startTransaction(DatabaseComponentImpl.java:163)
at org.briarproject.bramble.db.DatabaseComponentImpl.transactionWithResult(DatabaseComponentImpl.java:210)
at org.briarproject.bramble.properties.TransportPropertyManagerImpl.getRemoteProperties(TransportPropertyManagerImpl.java:238)
at org.briarproject.bramble.plugin.PollerImpl.poll(PollerImpl.java:221)
at org.briarproject.bramble.plugin.PollerImpl.access$1000(PollerImpl.java:57)
at org.briarproject.bramble.plugin.PollerImpl$PollTask.run(PollerImpl.java:277)
at org.briarproject.bramble.system.AndroidWakeLockManagerImpl.lambda$executeWakefully$0(AndroidWakeLockManagerImpl.java:73)
at org.briarproject.bramble.system.-$$Lambda$AndroidWakeLockManagerImpl$P0v7ccI1GqbvGyqUJX4idUffuJI.run(Unknown Source:4)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1162)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:636)
at java.lang.Thread.run(Thread.java:764)
Caused by: java.nio.channels.OverlappingFileLockException
at sun.nio.ch.SharedFileLockTable.checkList(FileLockTable.java:255)
at sun.nio.ch.SharedFileLockTable.add(FileLockTable.java:152)
at sun.nio.ch.FileChannelImpl.tryLock(FileChannelImpl.java:1125)
at org.h2.store.fs.FileDisk.tryLock(FilePathDisk.java:447)
at org.h2.store.fs.FileSplit.tryLock(FilePathSplit.java:394)
at org.h2.store.fs.FilePathEncrypt$FileEncrypt.tryLock(FilePathEncrypt.java:399)
at org.h2.mvstore.cache.FilePathCache$FileCache.tryLock(FilePathCache.java:158)
at java.nio.channels.FileChannel.tryLock(FileChannel.java:1155)
at org.h2.mvstore.FileStore.open(FileStore.java:164)
at org.h2.mvstore.MVStore.<init>(MVStore.java:344)
at org.h2.mvstore.MVStore$Builder.open(MVStore.java:2893)
at org.h2.mvstore.db.MVTableEngine$Store.open(MVTableEngine.java:154)
at org.h2.mvstore.db.MVTableEngine.init(MVTableEngine.java:99)
at org.h2.engine.Database.getPageStore(Database.java:2463)
at org.h2.engine.Database.open(Database.java:692)
at org.h2.engine.Database.openDatabase(Database.java:270)
at org.h2.engine.Database.<init>(Database.java:264)
at org.h2.engine.Engine.openSession(Engine.java:64)
at org.h2.engine.Engine.openSession(Engine.java:176)
at org.h2.engine.Engine.createSessionAndValidate(Engine.java:154)
at org.h2.engine.Engine.createSession(Engine.java:137)
at org.h2.engine.Engine.createSession(Engine.java:27)
at org.h2.engine.SessionRemote.connectEmbeddedOrServer(SessionRemote.java:349)
at org.h2.jdbc.JdbcConnection.<init>(JdbcConnection.java:118)
at org.h2.jdbc.JdbcConnection.<init>(JdbcConnection.java:102)
at org.h2.Driver.connect(Driver.java:72)
at java.sql.DriverManager.getConnection(DriverManager.java:569)
at java.sql.DriverManager.getConnection(DriverManager.java:191)
at org.briarproject.bramble.db.H2Database.createConnection(H2Database.java:108)
at org.briarproject.bramble.db.JdbcDatabase.startTransaction(JdbcDatabase.java:602)
at org.briarproject.bramble.db.JdbcDatabase.startTransaction(JdbcDatabase.java:101)
at org.briarproject.bramble.db.DatabaseComponentImpl.startTransaction(DatabaseComponentImpl.java:163)
at org.briarproject.bramble.db.DatabaseComponentImpl.transactionWithResult(DatabaseComponentImpl.java:210)
at org.briarproject.bramble.properties.TransportPropertyManagerImpl.getRemoteProperties(TransportPropertyManagerImpl.java:238)
at org.briarproject.bramble.plugin.PollerImpl.poll(PollerImpl.java:221)
at org.briarproject.bramble.plugin.PollerImpl.access$1000(PollerImpl.java:57)
at org.briarproject.bramble.plugin.PollerImpl$PollTask.run(PollerImpl.java:277)
at org.briarproject.bramble.system.AndroidWakeLockManagerImpl.lambda$executeWakefully$0(AndroidWakeLockManagerImpl.java:73)
at org.briarproject.bramble.system.-$$Lambda$AndroidWakeLockManagerImpl$P0v7ccI1GqbvGyqUJX4idUffuJI.run(Unknown Source:4)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1162)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:636)
at java.lang.Thread.run(Thread.java:764)
11-07 15:50:09.214 I/RenewableWakeLock: Renewing wake lock org.briarproject.briar.android
11-07 15:50:14.585 I/DuplexOutgoingSession: Sending keepalive
11-07 15:50:21.545 I/DuplexOutgoingSession: Sending keepalive
11-07 15:50:41.886 I/AndroidTaskScheduler: Running 1 due tasks
11-07 15:50:41.886 I/AndroidTaskScheduler: Task is 1594 ms overdue
11-07 15:50:44.432 I/PollerImpl: Polling plugin org.briarproject.bramble.lan
11-07 15:50:44.586 I/DuplexOutgoingSession: Sending keepalive
11-07 15:50:45.256 W/PollerImpl: org.briarproject.bramble.api.db.DbException: org.h2.jdbc.JdbcSQLException: Datenbank wird wahrscheinlich bereits benutzt: null. Mögliche Lösungen: alle Verbindungen schliessen; Server Modus verwenden
Database may be already in use: null. Possible solutions: close all other connection(s); use the server mode [90020-192]
org.briarproject.bramble.api.db.DbException: org.h2.jdbc.JdbcSQLException: Datenbank wird wahrscheinlich bereits benutzt: null. Mögliche Lösungen: alle Verbindungen schliessen; Server Modus verwenden
Database may be already in use: null. Possible solutions: close all other connection(s); use the server mode [90020-192]
at org.briarproject.bramble.db.JdbcDatabase.startTransaction(JdbcDatabase.java:612)
at org.briarproject.bramble.db.JdbcDatabase.startTransaction(JdbcDatabase.java:101)
at org.briarproject.bramble.db.DatabaseComponentImpl.startTransaction(DatabaseComponentImpl.java:163)
at org.briarproject.bramble.db.DatabaseComponentImpl.transactionWithResult(DatabaseComponentImpl.java:210)
at org.briarproject.bramble.properties.TransportPropertyManagerImpl.getRemoteProperties(TransportPropertyManagerImpl.java:238)
at org.briarproject.bramble.plugin.PollerImpl.poll(PollerImpl.java:221)
at org.briarproject.bramble.plugin.PollerImpl.access$1000(PollerImpl.java:57)
at org.briarproject.bramble.plugin.PollerImpl$PollTask.run(PollerImpl.java:277)
at org.briarproject.bramble.system.AndroidWakeLockManagerImpl.lambda$executeWakefully$0(AndroidWakeLockManagerImpl.java:73)
at org.briarproject.bramble.system.-$$Lambda$AndroidWakeLockManagerImpl$P0v7ccI1GqbvGyqUJX4idUffuJI.run(Unknown Source:4)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1162)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:636)
at java.lang.Thread.run(Thread.java:764)
Caused by: org.h2.jdbc.JdbcSQLException: Datenbank wird wahrscheinlich bereits benutzt: null. Mögliche Lösungen: alle Verbindungen schliessen; Server Modus verwenden
Database may be already in use: null. Possible solutions: close all other connection(s); use the server mode [90020-192]
at org.h2.mvstore.db.MVTableEngine$Store.convertIllegalStateException(MVTableEngine.java:187)
at org.h2.mvstore.db.MVTableEngine$Store.open(MVTableEngine.java:167)
at org.h2.mvstore.db.MVTableEngine.init(MVTableEngine.java:99)
at org.h2.engine.Database.getPageStore(Database.java:2463)
at org.h2.engine.Database.open(Database.java:692)
at org.h2.engine.Database.openDatabase(Database.java:270)
at org.h2.engine.Database.<init>(Database.java:264)
at org.h2.engine.Engine.openSession(Engine.java:64)
at org.h2.engine.Engine.openSession(Engine.java:176)
at org.h2.engine.Engine.createSessionAndValidate(Engine.java:154)
at org.h2.engine.Engine.createSession(Engine.java:137)
at org.h2.engine.Engine.createSession(Engine.java:27)
at org.h2.engine.SessionRemote.connectEmbeddedOrServer(SessionRemote.java:349)
at org.h2.jdbc.JdbcConnection.<init>(JdbcConnection.java:118)
at org.h2.jdbc.JdbcConnection.<init>(JdbcConnection.java:102)
at org.h2.Driver.connect(Driver.java:72)
at java.sql.DriverManager.getConnection(DriverManager.java:569)
at java.sql.DriverManager.getConnection(DriverManager.java:191)
at org.briarproject.bramble.db.H2Database.createConnection(H2Database.java:108)
at org.briarproject.bramble.db.JdbcDatabase.startTransaction(JdbcDatabase.java:602)
at org.briarproject.bramble.db.JdbcDatabase.startTransaction(JdbcDatabase.java:101)
at org.briarproject.bramble.db.DatabaseComponentImpl.startTransaction(DatabaseComponentImpl.java:163)
at org.briarproject.bramble.db.DatabaseComponentImpl.transactionWithResult(DatabaseComponentImpl.java:210)
at org.briarproject.bramble.properties.TransportPropertyManagerImpl.getRemoteProperties(TransportPropertyManagerImpl.java:238)
at org.briarproject.bramble.plugin.PollerImpl.poll(PollerImpl.java:221)
at org.briarproject.bramble.plugin.PollerImpl.access$1000(PollerImpl.java:57)
at org.briarproject.bramble.plugin.PollerImpl$PollTask.run(PollerImpl.java:277)
at org.briarproject.bramble.system.AndroidWakeLockManagerImpl.lambda$executeWakefully$0(AndroidWakeLockManagerImpl.java:73)
at org.briarproject.bramble.system.-$$Lambda$AndroidWakeLockManagerImpl$P0v7ccI1GqbvGyqUJX4idUffuJI.run(Unknown Source:4)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1162)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:636)
at java.lang.Thread.run(Thread.java:764)
Caused by: java.lang.IllegalStateException: The file is locked: split:30:/data/data/org.briarproject.briar.android/app_db/db.mv.db [1.4.192/7]
at org.h2.mvstore.DataUtils.newIllegalStateException(DataUtils.java:773)
at org.h2.mvstore.FileStore.open(FileStore.java:167)
at org.h2.mvstore.MVStore.<init>(MVStore.java:344)
at org.h2.mvstore.MVStore$Builder.open(MVStore.java:2893)
at org.h2.mvstore.db.MVTableEngine$Store.open(MVTableEngine.java:154)
at org.h2.mvstore.db.MVTableEngine.init(MVTableEngine.java:99)
at org.h2.engine.Database.getPageStore(Database.java:2463)
at org.h2.engine.Database.open(Database.java:692)
at org.h2.engine.Database.openDatabase(Database.java:270)
at org.h2.engine.Database.<init>(Database.java:264)
at org.h2.engine.Engine.openSession(Engine.java:64)
at org.h2.engine.Engine.openSession(Engine.java:176)
at org.h2.engine.Engine.createSessionAndValidate(Engine.java:154)
at org.h2.engine.Engine.createSession(Engine.java:137)
at org.h2.engine.Engine.createSession(Engine.java:27)
at org.h2.engine.SessionRemote.connectEmbeddedOrServer(SessionRemote.java:349)
at org.h2.jdbc.JdbcConnection.<init>(JdbcConnection.java:118)
at org.h2.jdbc.JdbcConnection.<init>(JdbcConnection.java:102)
at org.h2.Driver.connect(Driver.java:72)
at java.sql.DriverManager.getConnection(DriverManager.java:569)
at java.sql.DriverManager.getConnection(DriverManager.java:191)
at org.briarproject.bramble.db.H2Database.createConnection(H2Database.java:108)
at org.briarproject.bramble.db.JdbcDatabase.startTransaction(JdbcDatabase.java:602)
at org.briarproject.bramble.db.JdbcDatabase.startTransaction(JdbcDatabase.java:101)
at org.briarproject.bramble.db.DatabaseComponentImpl.startTransaction(DatabaseComponentImpl.java:163)
at org.briarproject.bramble.db.DatabaseComponentImpl.transactionWithResult(DatabaseComponentImpl.java:210)
at org.briarproject.bramble.properties.TransportPropertyManagerImpl.getRemoteProperties(TransportPropertyManagerImpl.java:238)
at org.briarproject.bramble.plugin.PollerImpl.poll(PollerImpl.java:221)
at org.briarproject.bramble.plugin.PollerImpl.access$1000(PollerImpl.java:57)
at org.briarproject.bramble.plugin.PollerImpl$PollTask.run(PollerImpl.java:277)
at org.briarproject.bramble.system.AndroidWakeLockManagerImpl.lambda$executeWakefully$0(AndroidWakeLockManagerImpl.java:73)
at org.briarproject.bramble.system.-$$Lambda$AndroidWakeLockManagerImpl$P0v7ccI1GqbvGyqUJX4idUffuJI.run(Unknown Source:4)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1162)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:636)
at java.lang.Thread.run(Thread.java:764)
Caused by: java.nio.channels.OverlappingFileLockException
at sun.nio.ch.SharedFileLockTable.checkList(FileLockTable.java:255)
at sun.nio.ch.SharedFileLockTable.add(FileLockTable.java:152)
at sun.nio.ch.FileChannelImpl.tryLock(FileChannelImpl.java:1125)
at org.h2.store.fs.FileDisk.tryLock(FilePathDisk.java:447)
at org.h2.store.fs.FileSplit.tryLock(FilePathSplit.java:394)
at org.h2.store.fs.FilePathEncrypt$FileEncrypt.tryLock(FilePathEncrypt.java:399)
at org.h2.mvstore.cache.FilePathCache$FileCache.tryLock(FilePathCache.java:158)
at java.nio.channels.FileChannel.tryLock(FileChannel.java:1155)
at org.h2.mvstore.FileStore.open(FileStore.java:164)
at org.h2.mvstore.MVStore.<init>(MVStore.java:344)
at org.h2.mvstore.MVStore$Builder.open(MVStore.java:2893)
at org.h2.mvstore.db.MVTableEngine$Store.open(MVTableEngine.java:154)
at org.h2.mvstore.db.MVTableEngine.init(MVTableEngine.java:99)
at org.h2.engine.Database.getPageStore(Database.java:2463)
at org.h2.engine.Database.open(Database.java:692)
at org.h2.engine.Database.openDatabase(Database.java:270)
at org.h2.engine.Database.<init>(Database.java:264)
at org.h2.engine.Engine.openSession(Engine.java:64)
at org.h2.engine.Engine.openSession(Engine.java:176)
at org.h2.engine.Engine.createSessionAndValidate(Engine.java:154)
at org.h2.engine.Engine.createSession(Engine.java:137)
at org.h2.engine.Engine.createSession(Engine.java:27)
at org.h2.engine.SessionRemote.connectEmbeddedOrServer(SessionRemote.java:349)
at org.h2.jdbc.JdbcConnection.<init>(JdbcConnection.java:118)
at org.h2.jdbc.JdbcConnection.<init>(JdbcConnection.java:102)
at org.h2.Driver.connect(Driver.java:72)
at java.sql.DriverManager.getConnection(DriverManager.java:569)
at java.sql.DriverManager.getConnection(DriverManager.java:191)
at org.briarproject.bramble.db.H2Database.createConnection(H2Database.java:108)
at org.briarproject.bramble.db.JdbcDatabase.startTransaction(JdbcDatabase.java:602)
at org.briarproject.bramble.db.JdbcDatabase.startTransaction(JdbcDatabase.java:101)
at org.briarproject.bramble.db.DatabaseComponentImpl.startTransaction(DatabaseComponentImpl.java:163)
at org.briarproject.bramble.db.DatabaseComponentImpl.transactionWithResult(DatabaseComponentImpl.java:210)
at org.briarproject.bramble.properties.TransportPropertyManagerImpl.getRemoteProperties(TransportPropertyManagerImpl.java:238)
at org.briarproject.bramble.plugin.PollerImpl.poll(PollerImpl.java:221)
at org.briarproject.bramble.plugin.PollerImpl.access$1000(PollerImpl.java:57)
at org.briarproject.bramble.plugin.PollerImpl$PollTask.run(PollerImpl.java:277)
at org.briarproject.bramble.system.AndroidWakeLockManagerImpl.lambda$executeWakefully$0(AndroidWakeLockManagerImpl.java:73)
at org.briarproject.bramble.system.-$$Lambda$AndroidWakeLockManagerImpl$P0v7ccI1GqbvGyqUJX4idUffuJI.run(Unknown Source:4)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1162)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:636)
at java.lang.Thread.run(Thread.java:764)
11-07 15:50:48.199 I/DuplexOutgoingSession: Sending keepalive
11-07 15:51:10.035 I/RenewableWakeLock: Renewing wake lock org.briarproject.briar.android
11-07 15:51:16.316 I/DuplexOutgoingSession: Sending keepalive
11-07 15:51:18.778 I/DuplexOutgoingSession: Sending keepalive
11-07 15:51:44.587 I/DuplexOutgoingSession: Sending keepalive
11-07 15:51:49.991 I/DuplexOutgoingSession: Sending keepalive
11-07 15:52:30.551 I/RenewableWakeLock: Renewing wake lock org.briarproject.briar.android
11-07 15:52:30.552 I/DuplexOutgoingSession: Sending keepalive
11-07 15:52:30.552 I/AndroidTaskScheduler: Running 1 due tasks
11-07 15:52:30.552 I/AndroidTaskScheduler: Task is 3351 ms overdue
11-07 15:52:31.440 I/DuplexOutgoingSession: Sending keepalive
11-07 15:52:31.441 I/PollerImpl: Polling plugin org.briarproject.bramble.lan
11-07 15:52:36.375 W/PollerImpl: org.briarproject.bramble.api.db.DbException: org.h2.jdbc.JdbcSQLException: Datenbank wird wahrscheinlich bereits benutzt: null. Mögliche Lösungen: alle Verbindungen schliessen; Server Modus verwenden
Database may be already in use: null. Possible solutions: close all other connection(s); use the server mode [90020-192]
org.briarproject.bramble.api.db.DbException: org.h2.jdbc.JdbcSQLException: Datenbank wird wahrscheinlich bereits benutzt: null. Mögliche Lösungen: alle Verbindungen schliessen; Server Modus verwenden
Database may be already in use: null. Possible solutions: close all other connection(s); use the server mode [90020-192]
at org.briarproject.bramble.db.JdbcDatabase.startTransaction(JdbcDatabase.java:612)
at org.briarproject.bramble.db.JdbcDatabase.startTransaction(JdbcDatabase.java:101)
at org.briarproject.bramble.db.DatabaseComponentImpl.startTransaction(DatabaseComponentImpl.java:163)
at org.briarproject.bramble.db.DatabaseComponentImpl.transactionWithResult(DatabaseComponentImpl.java:210)
at org.briarproject.bramble.properties.TransportPropertyManagerImpl.getRemoteProperties(TransportPropertyManagerImpl.java:238)
at org.briarproject.bramble.plugin.PollerImpl.poll(PollerImpl.java:221)
at org.briarproject.bramble.plugin.PollerImpl.access$1000(PollerImpl.java:57)
at org.briarproject.bramble.plugin.PollerImpl$PollTask.run(PollerImpl.java:277)
at org.briarproject.bramble.system.AndroidWakeLockManagerImpl.lambda$executeWakefully$0(AndroidWakeLockManagerImpl.java:73)
at org.briarproject.bramble.system.-$$Lambda$AndroidWakeLockManagerImpl$P0v7ccI1GqbvGyqUJX4idUffuJI.run(Unknown Source:4)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1162)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:636)
at java.lang.Thread.run(Thread.java:764)
Caused by: org.h2.jdbc.JdbcSQLException: Datenbank wird wahrscheinlich bereits benutzt: null. Mögliche Lösungen: alle Verbindungen schliessen; Server Modus verwenden
Database may be already in use: null. Possible solutions: close all other connection(s); use the server mode [90020-192]
at org.h2.mvstore.db.MVTableEngine$Store.convertIllegalStateException(MVTableEngine.java:187)
at org.h2.mvstore.db.MVTableEngine$Store.open(MVTableEngine.java:167)
at org.h2.mvstore.db.MVTableEngine.init(MVTableEngine.java:99)
at org.h2.engine.Database.getPageStore(Database.java:2463)
at org.h2.engine.Database.open(Database.java:692)
at org.h2.engine.Database.openDatabase(Database.java:270)
at org.h2.engine.Database.<init>(Database.java:264)
at org.h2.engine.Engine.openSession(Engine.java:64)
at org.h2.engine.Engine.openSession(Engine.java:176)
at org.h2.engine.Engine.createSessionAndValidate(Engine.java:154)
at org.h2.engine.Engine.createSession(Engine.java:137)
at org.h2.engine.Engine.createSession(Engine.java:27)
at org.h2.engine.SessionRemote.connectEmbeddedOrServer(SessionRemote.java:349)
at org.h2.jdbc.JdbcConnection.<init>(JdbcConnection.java:118)
at org.h2.jdbc.JdbcConnection.<init>(JdbcConnection.java:102)
at org.h2.Driver.connect(Driver.java:72)
at java.sql.DriverManager.getConnection(DriverManager.java:569)
at java.sql.DriverManager.getConnection(DriverManager.java:191)
at org.briarproject.bramble.db.H2Database.createConnection(H2Database.java:108)
at org.briarproject.bramble.db.JdbcDatabase.startTransaction(JdbcDatabase.java:602)
at org.briarproject.bramble.db.JdbcDatabase.startTransaction(JdbcDatabase.java:101)
at org.briarproject.bramble.db.DatabaseComponentImpl.startTransaction(DatabaseComponentImpl.java:163)
at org.briarproject.bramble.db.DatabaseComponentImpl.transactionWithResult(DatabaseComponentImpl.java:210)
at org.briarproject.bramble.properties.TransportPropertyManagerImpl.getRemoteProperties(TransportPropertyManagerImpl.java:238)
at org.briarproject.bramble.plugin.PollerImpl.poll(PollerImpl.java:221)
at org.briarproject.bramble.plugin.PollerImpl.access$1000(PollerImpl.java:57)
at org.briarproject.bramble.plugin.PollerImpl$PollTask.run(PollerImpl.java:277)
at org.briarproject.bramble.system.AndroidWakeLockManagerImpl.lambda$executeWakefully$0(AndroidWakeLockManagerImpl.java:73)
at org.briarproject.bramble.system.-$$Lambda$AndroidWakeLockManagerImpl$P0v7ccI1GqbvGyqUJX4idUffuJI.run(Unknown Source:4)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1162)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:636)
at java.lang.Thread.run(Thread.java:764)
Caused by: java.lang.IllegalStateException: The file is locked: split:30:/data/data/org.briarproject.briar.android/app_db/db.mv.db [1.4.192/7]
at org.h2.mvstore.DataUtils.newIllegalStateException(DataUtils.java:773)
at org.h2.mvstore.FileStore.open(FileStore.java:167)
at org.h2.mvstore.MVStore.<init>(MVStore.java:344)
at org.h2.mvstore.MVStore$Builder.open(MVStore.java:2893)
at org.h2.mvstore.db.MVTableEngine$Store.open(MVTableEngine.java:154)
at org.h2.mvstore.db.MVTableEngine.init(MVTableEngine.java:99)
at org.h2.engine.Database.getPageStore(Database.java:2463)
at org.h2.engine.Database.open(Database.java:692)
at org.h2.engine.Database.openDatabase(Database.java:270)
at org.h2.engine.Database.<init>(Database.java:264)
at org.h2.engine.Engine.openSession(Engine.java:64)
at org.h2.engine.Engine.openSession(Engine.java:176)
at org.h2.engine.Engine.createSessionAndValidate(Engine.java:154)
at org.h2.engine.Engine.createSession(Engine.java:137)
at org.h2.engine.Engine.createSession(Engine.java:27)
at org.h2.engine.SessionRemote.connectEmbeddedOrServer(SessionRemote.java:349)
at org.h2.jdbc.JdbcConnection.<init>(JdbcConnection.java:118)
at org.h2.jdbc.JdbcConnection.<init>(JdbcConnection.java:102)
at org.h2.Driver.connect(Driver.java:72)
at java.sql.DriverManager.getConnection(DriverManager.java:569)
at java.sql.DriverManager.getConnection(DriverManager.java:191)
at org.briarproject.bramble.db.H2Database.createConnection(H2Database.java:108)
at org.briarproject.bramble.db.JdbcDatabase.startTransaction(JdbcDatabase.java:602)
at org.briarproject.bramble.db.JdbcDatabase.startTransaction(JdbcDatabase.java:101)
at org.briarproject.bramble.db.DatabaseComponentImpl.startTransaction(DatabaseComponentImpl.java:163)
at org.briarproject.bramble.db.DatabaseComponentImpl.transactionWithResult(DatabaseComponentImpl.java:210)
at org.briarproject.bramble.properties.TransportPropertyManagerImpl.getRemoteProperties(TransportPropertyManagerImpl.java:238)
at org.briarproject.bramble.plugin.PollerImpl.poll(PollerImpl.java:221)
at org.briarproject.bramble.plugin.PollerImpl.access$1000(PollerImpl.java:57)
at org.briarproject.bramble.plugin.PollerImpl$PollTask.run(PollerImpl.java:277)
at org.briarproject.bramble.system.AndroidWakeLockManagerImpl.lambda$executeWakefully$0(AndroidWakeLockManagerImpl.java:73)
at org.briarproject.bramble.system.-$$Lambda$AndroidWakeLockManagerImpl$P0v7ccI1GqbvGyqUJX4idUffuJI.run(Unknown Source:4)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1162)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:636)
at java.lang.Thread.run(Thread.java:764)
Caused by: java.nio.channels.OverlappingFileLockException
at sun.nio.ch.SharedFileLockTable.checkList(FileLockTable.java:255)
at sun.nio.ch.SharedFileLockTable.add(FileLockTable.java:152)
at sun.nio.ch.FileChannelImpl.tryLock(FileChannelImpl.java:1125)
at org.h2.store.fs.FileDisk.tryLock(FilePathDisk.java:447)
at org.h2.store.fs.FileSplit.tryLock(FilePathSplit.java:394)
at org.h2.store.fs.FilePathEncrypt$FileEncrypt.tryLock(FilePathEncrypt.java:399)
at org.h2.mvstore.cache.FilePathCache$FileCache.tryLock(FilePathCache.java:158)
at java.nio.channels.FileChannel.tryLock(FileChannel.java:1155)
at org.h2.mvstore.FileStore.open(FileStore.java:164)
at org.h2.mvstore.MVStore.<init>(MVStore.java:344)
at org.h2.mvstore.MVStore$Builder.open(MVStore.java:2893)
at org.h2.mvstore.db.MVTableEngine$Store.open(MVTableEngine.java:154)
at org.h2.mvstore.db.MVTableEngine.init(MVTableEngine.java:99)
at org.h2.engine.Database.getPageStore(Database.java:2463)
at org.h2.engine.Database.open(Database.java:692)
at org.h2.engine.Database.openDatabase(Database.java:270)
at org.h2.engine.Database.<init>(Database.java:264)
at org.h2.engine.Engine.openSession(Engine.java:64)
at org.h2.engine.Engine.openSession(Engine.java:176)
at org.h2.engine.Engine.createSessionAndValidate(Engine.java:154)
at org.h2.engine.Engine.createSession(Engine.java:137)
at org.h2.engine.Engine.createSession(Engine.java:27)
at org.h2.engine.SessionRemote.connectEmbeddedOrServer(SessionRemote.java:349)
at org.h2.jdbc.JdbcConnection.<init>(JdbcConnection.java:118)
at org.h2.jdbc.JdbcConnection.<init>(JdbcConnection.java:102)
at org.h2.Driver.connect(Driver.java:72)
at java.sql.DriverManager.getConnection(DriverManager.java:569)
at java.sql.DriverManager.getConnection(DriverManager.java:191)
at org.briarproject.bramble.db.H2Database.createConnection(H2Database.java:108)
at org.briarproject.bramble.db.JdbcDatabase.startTransaction(JdbcDatabase.java:602)
at org.briarproject.bramble.db.JdbcDatabase.startTransaction(JdbcDatabase.java:101)
at org.briarproject.bramble.db.DatabaseComponentImpl.startTransaction(DatabaseComponentImpl.java:163)
at org.briarproject.bramble.db.DatabaseComponentImpl.transactionWithResult(DatabaseComponentImpl.java:210)
at org.briarproject.bramble.properties.TransportPropertyManagerImpl.getRemoteProperties(TransportPropertyManagerImpl.java:238)
at org.briarproject.bramble.plugin.PollerImpl.poll(PollerImpl.java:221)
at org.briarproject.bramble.plugin.PollerImpl.access$1000(PollerImpl.java:57)
at org.briarproject.bramble.plugin.PollerImpl$PollTask.run(PollerImpl.java:277)
at org.briarproject.bramble.system.AndroidWakeLockManagerImpl.lambda$executeWakefully$0(AndroidWakeLockManagerImpl.java:73)
at org.briarproject.bramble.system.-$$Lambda$AndroidWakeLockManagerImpl$P0v7ccI1GqbvGyqUJX4idUffuJI.run(Unknown Source:4)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1162)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:636)
at java.lang.Thread.run(Thread.java:764)
11-07 15:52:45.396 I/DuplexOutgoingSession: Sending keepalive
11-07 15:52:45.400 I/ThreadScrollListener: Updating unread count: top=0 bottom=0
11-07 15:52:50.329 I/DuplexOutgoingSession: Sending keepalive
11-07 15:53:18.774 I/DuplexOutgoingSession: Sending keepalive
11-07 15:53:19.023 I/DuplexOutgoingSession: Sending keepalive
11-07 15:53:50.324 I/TorPlugin: OR connection LAUNCHED $F38FB55A8CCA6A00CDD024A5EA2CFECB38A48E15~Ichotolot64
11-07 15:53:50.324 I/DuplexOutgoingSession: Sending keepalive
11-07 15:53:50.324 I/RenewableWakeLock: Renewing wake lock org.briarproject.briar.android
11-07 15:53:54.439 I/DuplexOutgoingSession: Sending keepalive
11-07 15:54:03.918 I/TorPlugin: OR connection CONNECTED $F38FB55A8CCA6A00CDD024A5EA2CFECB38A48E15~Ichotolot64
11-07 15:54:37.686 I/DuplexOutgoingSession: Sending keepalive
11-07 15:54:37.687 I/DuplexOutgoingSession: Sending keepalive
11-07 15:54:39.083 W/ValidationManagerImpl: org.briarproject.bramble.api.db.DbException: org.h2.jdbc.JdbcSQLException: Nicht genug Hauptspeicher.
Out of memory.; SQL statement:
COMMIT [90108-192]
org.briarproject.bramble.api.db.DbException: org.h2.jdbc.JdbcSQLException: Nicht genug Hauptspeicher.
Out of memory.; SQL statement:
COMMIT [90108-192]
at org.briarproject.bramble.db.JdbcDatabase.commitTransaction(JdbcDatabase.java:648)
at org.briarproject.bramble.db.JdbcDatabase.commitTransaction(JdbcDatabase.java:101)
at org.briarproject.bramble.db.DatabaseComponentImpl.commitTransaction(DatabaseComponentImpl.java:176)
at org.briarproject.bramble.db.DatabaseComponentImpl.transaction(DatabaseComponentImpl.java:201)
at org.briarproject.bramble.sync.validation.ValidationManagerImpl.shareNextMessage(ValidationManagerImpl.java:375)
at org.briarproject.bramble.sync.validation.ValidationManagerImpl.lambda$shareNextMessageAsync$7(ValidationManagerImpl.java:369)
at org.briarproject.bramble.sync.validation.ValidationManagerImpl.lambda$shareNextMessageAsync$7$ValidationManagerImpl(Unknown Source:0)
at org.briarproject.bramble.sync.validation.-$$Lambda$ValidationManagerImpl$J4QHNieVQib5bjd901cZcemMbXY.run(Unknown Source:4)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1162)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:636)
at java.lang.Thread.run(Thread.java:764)
Caused by: org.h2.jdbc.JdbcSQLException: Nicht genug Hauptspeicher.
Out of memory.; SQL statement:
COMMIT [90108-192]
at org.h2.command.Command.executeUpdate(Command.java:264)
at org.h2.jdbc.JdbcConnection.commit(JdbcConnection.java:481)
at org.briarproject.bramble.db.JdbcDatabase.commitTransaction(JdbcDatabase.java:646)
at org.briarproject.bramble.db.JdbcDatabase.commitTransaction(JdbcDatabase.java:101)
at org.briarproject.bramble.db.DatabaseComponentImpl.commitTransaction(DatabaseComponentImpl.java:176)
at org.briarproject.bramble.db.DatabaseComponentImpl.transaction(DatabaseComponentImpl.java:201)
at org.briarproject.bramble.sync.validation.ValidationManagerImpl.shareNextMessage(ValidationManagerImpl.java:375)
at org.briarproject.bramble.sync.validation.ValidationManagerImpl.lambda$shareNextMessageAsync$7(ValidationManagerImpl.java:369)
at org.briarproject.bramble.sync.validation.ValidationManagerImpl.lambda$shareNextMessageAsync$7$ValidationManagerImpl(Unknown Source:0)
at org.briarproject.bramble.sync.validation.-$$Lambda$ValidationManagerImpl$J4QHNieVQib5bjd901cZcemMbXY.run(Unknown Source:4)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1162)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:636)
at java.lang.Thread.run(Thread.java:764)
Caused by: java.lang.OutOfMemoryError: OutOfMemoryError thrown while trying to throw OutOfMemoryError; no stack trace available
```
Observations:
* There's a lot going on here
* ForumActivity is created, started and resumed at 15:47:36
* We don't see any log messages related to loading the forum's stored message ID, headers or bodies
* This could mean that those tasks never ran, or it could mean that the ViewModel was reused
* Based on keepalives, a couple of contacts seem to be connected - we don't get clear confirmation of this, as the poller tasks keep failing
* Some DB tasks seem to be succeeding at the start of the log ("Generated offer: false")
* Maybe DB tasks started failing after the start of the log - or maybe some tasks were already failing and others succeeding when the log started
* The first DB exception is logged at 15:48:24, about 48 seconds after opening the forum
* Two DB tasks fail in quick succession: the LAN plugin is looking up local transport properties for binding IPv4 and IPv6 sockets
* At 15:49:09 another DB task fails: polling the LAN plugin
* At 15:49:42 another DB task fails: loading the list of RSS feeds
* This suggests the OOM is unlikely to be RSS-related, as we never manage to load the list of feeds
* At 15:50:04 another DB task fails: polling the Tor plugin
* At 15:50:45 another DB task fails: polling the LAN plugin
* At 15:52:36 another DB task fails: polling the LAN plugin again
* All DB exceptions up to this point have been thrown when starting transactions
* Starting a transaction causes an H2 connection to be created, which suggests the DB's connection pool is empty
* Possibly related H2 bug: https://github.com/h2database/h2database/issues/1212
* Is it possible that our last DB connection was closed, which caused H2 to shut down automatically, and then we hit the H2 bug when we tried to open a new connection?
* This doesn't seem right - when DB connections are released, don't we keep them in the pool instead of closing them?
* At 15:54:39 (about 7 minutes after opening the forum) a final DB task fails with an OOM
* Unlike the other failures, this one happens when committing a transaction
* This suggests at least one DB connection may have been open when trying to open the connections that caused the earlier DB exceptions, so H2 bug 1212 may not be involved
* The last DB task to fail is the validation manager sharing a message
* The log doesn't show any acks being sent, so this message must have been received at least 7 minutes agoAndroid 1.4https://code.briarproject.org/briar/briar/-/issues/2218AssertionError in ImagePreviewAdapter2022-06-13T15:40:40ZakwizgranAssertionError in ImagePreviewAdapter* Unknown device and Android version
* Briar version: 1.3.8 (8076775)
Stacktrace:
```
java.lang.AssertionError
at org.briarproject.briar.android.view.ImagePreviewAdapter.loadItemPreview(ImagePreviewAdapter.java:57)
at or...* Unknown device and Android version
* Briar version: 1.3.8 (8076775)
Stacktrace:
```
java.lang.AssertionError
at org.briarproject.briar.android.view.ImagePreviewAdapter.loadItemPreview(ImagePreviewAdapter.java:57)
at org.briarproject.briar.android.view.ImagePreview.loadPreviewImage(ImagePreview.java:80)
at org.briarproject.briar.android.view.TextAttachmentController.onNewAttachmentItemResults(TextAttachmentController.java:206)
at org.briarproject.briar.android.view.TextAttachmentController.access$000(TextAttachmentController.java:44)
at org.briarproject.briar.android.view.TextAttachmentController$1.onChanged(TextAttachmentController.java:187)
at org.briarproject.briar.android.view.TextAttachmentController$1.onChanged(TextAttachmentController.java:179)
at androidx.lifecycle.LiveData.considerNotify(LiveData.java:133)
at androidx.lifecycle.LiveData.dispatchingValue(LiveData.java:151)
at androidx.lifecycle.LiveData.setValue(LiveData.java:309)
at androidx.lifecycle.MutableLiveData.setValue(MutableLiveData.java:50)
at androidx.lifecycle.LiveData$1.run(LiveData.java:93)
at android.os.Handler.handleCallback(Handler.java:808)
at android.os.Handler.dispatchMessage(Handler.java:101)
at android.os.Looper.loop(Looper.java:166)
at android.app.ActivityThread.main(ActivityThread.java:7529)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.Zygote$MethodAndArgsCaller.run(Zygote.java:245)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:921)
```
Edited log:
```
11-05 07:59:31.582 I/BaseActivity: Starting ConversationActivity
11-05 07:59:31.587 I/BaseActivity: Resuming ConversationActivity
11-05 07:59:36.274 I/BaseActivity: Pausing ConversationActivity
11-05 07:59:36.324 I/BaseActivity: Stopping ConversationActivity
11-05 07:59:43.717 I/BaseActivity: Starting ConversationActivity
11-05 07:59:43.718 I/BaseActivity: Resuming ConversationActivity
11-05 07:59:45.204 I/BaseActivity: Pausing ConversationActivity
11-05 07:59:45.544 I/BaseActivity: Stopping ConversationActivity
11-05 07:59:55.742 I/BaseActivity: Starting ConversationActivity
11-05 07:59:55.757 I/BaseActivity: Resuming ConversationActivity
11-05 07:59:55.770 I/ImageCompressorImpl: Original image size: 1009x1080
11-05 07:59:55.771 I/ImageCompressorImpl: Scaling attachment by factor of 2
11-05 07:59:55.881 I/ImageCompressorImpl: Compressed image to 28169 bytes, quality 50
11-05 08:00:00.017 I/BaseActivity: Pausing ConversationActivity
11-05 08:00:00.479 I/BaseActivity: Stopping ConversationActivity
11-05 08:01:00.413 I/BaseActivity: Starting ConversationActivity
11-05 08:01:00.427 I/BaseActivity: Resuming ConversationActivity
11-05 08:01:00.437 I/ImageCompressorImpl: Original image size: 1280x1256
11-05 08:01:00.437 I/ImageCompressorImpl: Scaling attachment by factor of 2
11-05 08:01:00.549 I/ImageCompressorImpl: Compressed image to 30288 bytes, quality 70
```
Looks like the user chose one image, then after a minute returned to ConversationActivity and chose a second image. The log shows one contact connected, and keepalives being sent, but no messages being sent.Android 1.4https://code.briarproject.org/briar/briar/-/issues/2217ArrayIndexOutOfBoundsException when reading a record2021-11-11T16:04:24ZakwizgranArrayIndexOutOfBoundsException when reading a record* Android version: 4.2.2
* Phone model: TCT One Touch 4033D (Yaris_M)
* Briar version: 1.3.8 (8076775)
Stacktrace:
```
java.lang.ArrayIndexOutOfBoundsException: src.length=1 srcPos=0 dst.length=4 dstPos=0 length=4
at java.lang.S...* Android version: 4.2.2
* Phone model: TCT One Touch 4033D (Yaris_M)
* Briar version: 1.3.8 (8076775)
Stacktrace:
```
java.lang.ArrayIndexOutOfBoundsException: src.length=1 srcPos=0 dst.length=4 dstPos=0 length=4
at java.lang.System.arraycopy(Native Method)
at java.io.BufferedInputStream.read(BufferedInputStream.java:286)
at libcore.io.Streams.readFully(Streams.java:81)
at java.io.DataInputStream.readFully(DataInputStream.java:120)
at java.io.DataInputStream.readFully(DataInputStream.java:116)
at org.briarproject.bramble.record.RecordReaderImpl.readRecord(RecordReaderImpl.java:35)
at org.briarproject.bramble.record.RecordReaderImpl.readRecord(RecordReaderImpl.java:52)
at org.briarproject.bramble.keyagreement.KeyAgreementTransport.readRecord(KeyAgreementTransport.java:114)
at org.briarproject.bramble.keyagreement.KeyAgreementTransport.receiveKey(KeyAgreementTransport.java:77)
at org.briarproject.bramble.keyagreement.KeyAgreementProtocol.receiveKey(KeyAgreementProtocol.java:130)
at org.briarproject.bramble.keyagreement.KeyAgreementProtocol.perform(KeyAgreementProtocol.java:107)
at org.briarproject.bramble.keyagreement.KeyAgreementTaskImpl.run(KeyAgreementTaskImpl.java:117)
```
Last lines of log
```
11-01 11:59:10.121 I/AddNearbyContactViewModel: Got result from decoder
11-01 11:59:10.121 I/AddNearbyContactViewModel: Remote payload is 48 bytes
11-01 11:59:10.123 I/KeyAgreementConnector: Starting outgoing BQP connections as Bob
11-01 11:59:10.124 I/CameraView: Stopping preview
11-01 11:59:10.125 I/KeyAgreementConnector: Connecting via org.briarproject.bramble.bluetooth
11-01 11:59:10.125 I/KeyAgreementConnector: Connecting via org.briarproject.bramble.lan
11-01 11:59:10.126 I/AbstractBluetoothPlugin: Connecting to key agreement UUID a2271b04-3c3a-3dea-a45c-e8d6bfa9aa62
11-01 11:59:10.126 I/AbstractBluetoothPlugin: Connecting to 1C:[scrubbed]:49
11-01 11:59:10.355 I/CameraView: Releasing camera
11-01 11:59:10.423 I/CameraView: Surface destroyed
11-01 11:59:12.841 I/AbstractBluetoothPlugin: Connected to 1C:[scrubbed]:49
11-01 11:59:12.841 I/BluetoothConnectionLimiterImpl: Connection opened, 1 open
11-01 11:59:12.842 I/KeyAgreementConnector: org.briarproject.bramble.bluetooth: Outgoing connection
11-01 11:59:17.975 I/RenewableWakeLock: Renewing wake lock org.briarproject.briar.android
11-01 11:59:22.841 I/AndroidTaskScheduler: Running 1 due tasks
11-01 11:59:22.841 I/AndroidTaskScheduler: Task is 0 ms overdue
11-01 11:59:32.842 I/AndroidTaskScheduler: Running 1 due tasks
11-01 11:59:32.843 I/AndroidTaskScheduler: Task is 0 ms overdue
11-01 11:59:42.106 I/AndroidTaskScheduler: Running 1 due tasks
11-01 11:59:42.106 I/AndroidTaskScheduler: Task is 2 ms overdue
11-01 11:59:42.107 I/PollerImpl: Polling plugin org.briarproject.bramble.lan
11-01 11:59:42.108 I/ConnectionRegistryImpl: 0 contacts connected or better: org.briarproject.bramble.lan
11-01 11:59:42.844 I/AndroidTaskScheduler: Running 1 due tasks
11-01 11:59:42.844 I/AndroidTaskScheduler: Task is 1 ms overdue
11-01 11:59:45.146 I/AndroidTaskScheduler: Running 1 due tasks
11-01 11:59:45.146 I/AndroidTaskScheduler: Task is 1 ms overdue
11-01 11:59:45.147 I/PollerImpl: Polling plugin org.briarproject.bramble.tor
11-01 11:59:45.148 I/ConnectionRegistryImpl: 0 contacts connected or better: org.briarproject.bramble.tor
11-01 11:59:52.849 I/AndroidTaskScheduler: Running 1 due tasks
11-01 11:59:52.849 I/AndroidTaskScheduler: Task is 1 ms overdue
11-01 11:59:58.011 I/KeyAgreementConnector: org.briarproject.bramble.bluetooth: Data available
11-01 11:59:58.011 I/ConnectionChooserImpl: Got connection for org.briarproject.bramble.bluetooth
11-01 11:59:58.022 I/KeyAgreementConnector: Stopping BQP listeners
11-01 11:59:58.026 I/ConnectionChooserImpl: java.io.IOException: [JSR82] accept: Connection is not created (failed or aborted).
11-01 11:59:58.034 I/ConnectionChooserImpl: Closing 0 unused connections
11-01 11:59:58.034 I/KeyAgreementTaskImpl: Starting BQP protocol
11-01 11:59:58.042 I/ConnectionChooserImpl: java.net.SocketException: Socket closed
```
I'm marking this issue as confidential in case it's remotely triggerable by sending a malformed record.Android 1.4