briar issueshttps://code.briarproject.org/groups/briar/-/issues2023-06-26T13:20:35Zhttps://code.briarproject.org/briar/briar-desktop/-/issues/132SecureRandomProvider problem on Mac OS2023-06-26T13:20:35ZSebastianSecureRandomProvider problem on Mac OSWhen I run briar-desktop on Mac OS I get this exception; it does start but prints this to the console:
```
15:46:14.502 [main] WARN o.b.b.s.UnixSecureRandomProvider - java.io.IOException: Operation not permitted
java.io.IOException: Op...When I run briar-desktop on Mac OS I get this exception; it does start but prints this to the console:
```
15:46:14.502 [main] WARN o.b.b.s.UnixSecureRandomProvider - java.io.IOException: Operation not permitted
java.io.IOException: Operation not permitted
at java.base/java.io.FileOutputStream.writeBytes(Native Method)
at java.base/java.io.FileOutputStream.write(FileOutputStream.java:354)
at java.base/java.io.DataOutputStream.writeLong(DataOutputStream.java:224)
at org.briarproject.bramble.system.AbstractSecureRandomProvider.writeToEntropyPool(AbstractSecureRandomProvider.java:25)
at org.briarproject.bramble.system.UnixSecureRandomProvider.writeSeed(UnixSecureRandomProvider.java:49)
at org.briarproject.bramble.system.UnixSecureRandomProvider.getProvider(UnixSecureRandomProvider.java:41)
at org.briarproject.bramble.crypto.CryptoComponentImpl.<init>(CryptoComponentImpl.java:78)
at org.briarproject.bramble.crypto.CryptoModule.provideCryptoComponent(CryptoModule.java:32)
at org.briarproject.bramble.crypto.CryptoModule_ProvideCryptoComponentFactory.provideCryptoComponent(CryptoModule_ProvideCryptoComponentFactory.java:42)
at org.briarproject.bramble.crypto.CryptoModule_ProvideCryptoComponentFactory.get(CryptoModule_ProvideCryptoComponentFactory.java:31)
at org.briarproject.bramble.crypto.CryptoModule_ProvideCryptoComponentFactory.get(CryptoModule_ProvideCryptoComponentFactory.java:10)
at dagger.internal.DoubleCheck.get(DoubleCheck.java:47)
at org.briarproject.bramble.sync.MessageFactoryImpl_Factory.get(MessageFactoryImpl_Factory.java:21)
at org.briarproject.bramble.sync.MessageFactoryImpl_Factory.get(MessageFactoryImpl_Factory.java:8)
at org.briarproject.bramble.sync.SyncModule_ProvideMessageFactoryFactory.get(SyncModule_ProvideMessageFactoryFactory.java:26)
at org.briarproject.bramble.sync.SyncModule_ProvideMessageFactoryFactory.get(SyncModule_ProvideMessageFactoryFactory.java:9)
at org.briarproject.bramble.db.DatabaseModule_ProvideDatabaseFactory.get(DatabaseModule_ProvideDatabaseFactory.java:36)
at org.briarproject.bramble.db.DatabaseModule_ProvideDatabaseFactory.get(DatabaseModule_ProvideDatabaseFactory.java:12)
at dagger.internal.DoubleCheck.get(DoubleCheck.java:47)
at org.briarproject.bramble.db.DatabaseModule_ProvideDatabaseComponentFactory.get(DatabaseModule_ProvideDatabaseComponentFactory.java:40)
at org.briarproject.bramble.db.DatabaseModule_ProvideDatabaseComponentFactory.get(DatabaseModule_ProvideDatabaseComponentFactory.java:13)
at dagger.internal.DoubleCheck.get(DoubleCheck.java:47)
at org.briarproject.bramble.lifecycle.LifecycleManagerImpl_Factory.get(LifecycleManagerImpl_Factory.java:30)
at org.briarproject.bramble.lifecycle.LifecycleManagerImpl_Factory.get(LifecycleManagerImpl_Factory.java:10)
at org.briarproject.bramble.lifecycle.LifecycleModule_ProvideLifecycleManagerFactory.get(LifecycleModule_ProvideLifecycleManagerFactory.java:26)
at org.briarproject.bramble.lifecycle.LifecycleModule_ProvideLifecycleManagerFactory.get(LifecycleModule_ProvideLifecycleManagerFactory.java:9)
at dagger.internal.DoubleCheck.get(DoubleCheck.java:47)
at org.briarproject.bramble.cleanup.CleanupModule_ProvideCleanupManagerFactory.get(CleanupModule_ProvideCleanupManagerFactory.java:35)
at org.briarproject.bramble.cleanup.CleanupModule_ProvideCleanupManagerFactory.get(CleanupModule_ProvideCleanupManagerFactory.java:11)
at dagger.internal.DoubleCheck.get(DoubleCheck.java:47)
at org.briarproject.briar.desktop.DaggerBriarDesktopApp.injectEagerSingletons(DaggerBriarDesktopApp.java:1444)
at org.briarproject.briar.desktop.DaggerBriarDesktopApp.inject(DaggerBriarDesktopApp.java:1336)
at org.briarproject.bramble.BrambleCoreEagerSingletons$Helper.injectEagerSingletons(BrambleCoreEagerSingletons.java:48)
at org.briarproject.briar.desktop.Main.run(Main.kt:75)
at com.github.ajalt.clikt.parsers.Parser.parse(Parser.kt:198)
at com.github.ajalt.clikt.parsers.Parser.parse(Parser.kt:18)
at com.github.ajalt.clikt.core.CliktCommand.parse(CliktCommand.kt:395)
at com.github.ajalt.clikt.core.CliktCommand.parse$default(CliktCommand.kt:392)
at com.github.ajalt.clikt.core.CliktCommand.main(CliktCommand.kt:410)
at com.github.ajalt.clikt.core.CliktCommand.main(CliktCommand.kt:435)
at org.briarproject.briar.desktop.MainKt.main(Main.kt:102)
```
Happens with different distributions of JDK 11 (openjdk and temurin) and also when running (not building) with JDK 17 (azul)Desktop 0.5.0SebastianSebastianhttps://code.briarproject.org/briar/briar-desktop/-/issues/131Allow to easily re-add failed pending contacts2023-01-09T21:29:50ZNicoAllow to easily re-add failed pending contactsInstead of having to re-paste briar:// links, would be cool if we could automate this by clicking a button on failed pending contacts.Instead of having to re-paste briar:// links, would be cool if we could automate this by clicking a button on failed pending contacts.Desktop 1.0.0https://code.briarproject.org/briar/briar-desktop/-/issues/130Create test private groups with different creators2023-08-25T13:33:35ZNicoCreate test private groups with different creatorsIn !40 `LocalAuthor` is the creator of the private groups all the time, would be cool to have different creators.In !40 `LocalAuthor` is the creator of the private groups all the time, would be cool to have different creators.Desktop 0.7.0https://code.briarproject.org/briar/briar-desktop/-/issues/129Properly sign jar file2023-01-09T21:29:50ZNicoProperly sign jar fileFollow-up after https://code.briarproject.org/briar/briar-desktop/-/issues/119Follow-up after https://code.briarproject.org/briar/briar-desktop/-/issues/119Desktop 1.0.0https://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-desktop/-/issues/128Ship metainfo.xml file with native packages2022-02-17T13:05:10ZNicoShip metainfo.xml file with native packagesIn Briar GTK [I shipped a `metainfo.xml` file](https://code.briarproject.org/briar/briar-gtk/-/blob/0.1.0-beta3/briar-gtk/data/app.briar.gtk.metainfo.xml.in) that is used by, e.g., GNOME Software to render a beautiful store entry with de...In Briar GTK [I shipped a `metainfo.xml` file](https://code.briarproject.org/briar/briar-gtk/-/blob/0.1.0-beta3/briar-gtk/data/app.briar.gtk.metainfo.xml.in) that is used by, e.g., GNOME Software to render a beautiful store entry with descriptions and screenshots (all translatable!).
I have no idea how to ship this file with Compose, nor how we would generate the version including all translations. At Briar GTK [the build system Meson was doing this](https://code.briarproject.org/briar/briar-gtk/-/blob/0.1.0-beta3/briar-gtk/data/meson.build#L21) for us, therefore it has the appendix `.in`.Desktop 0.2.0NicoNicohttps://code.briarproject.org/briar/briar-desktop/-/issues/127Fix license for deb packages2022-01-07T21:41:32ZSebastianFix license for deb packagesAs noticed in !44 we cannot specify a license file for the deb files yet
There is an upstream ticket with compose-jb now:
https://github.com/JetBrains/compose-jb/issues/1405As noticed in !44 we cannot specify a license file for the deb files yet
There is an upstream ticket with compose-jb now:
https://github.com/JetBrains/compose-jb/issues/1405Desktop 0.1.0SebastianSebastianhttps://code.briarproject.org/briar/briar-desktop/-/issues/126Use JDK 17 for building distributions2022-02-04T14:48:56ZSebastianUse JDK 17 for building distributionsWe should switch to JDK version 17 as soon as [kapt is supporting it](https://youtrack.jetbrains.com/issue/KT-45545).
Versions 15 and 16 are no longer supported by Oracle.We should switch to JDK version 17 as soon as [kapt is supporting it](https://youtrack.jetbrains.com/issue/KT-45545).
Versions 15 and 16 are no longer supported by Oracle.Desktop 0.2.0NicoNicohttps://code.briarproject.org/briar/briar-desktop/-/issues/125Ability to select and delete single messages in chat history2022-01-08T17:42:43ZMikolai GütschowAbility to select and delete single messages in chat historyOn Android, the selection is instantiated by a long press. Not sure what is the best practice for desktop applications nowadays: Right-click on the message, activate an option in the context menu and show checkbox next to each message, o...On Android, the selection is instantiated by a long press. Not sure what is the best practice for desktop applications nowadays: Right-click on the message, activate an option in the context menu and show checkbox next to each message, or something else?Desktop 0.1.0Mikolai GütschowMikolai Gütschowhttps://code.briarproject.org/briar/briar-desktop/-/issues/124Option to delete all messages in chat history2022-01-07T22:09:08ZMikolai GütschowOption to delete all messages in chat historyBasically an implementation of the context menu entry "Delete all messages"Basically an implementation of the context menu entry "Delete all messages"Desktop 0.1.0Mikolai GütschowMikolai Gütschowhttps://code.briarproject.org/briar/briar-desktop/-/issues/123Show Briar logo in taskbar and window header2021-12-06T14:25:10ZMikolai GütschowShow Briar logo in taskbar and window headerCurrently a (quite ugly) Java placeholder logo is shown in both places: ![image](/uploads/55814d0d6002f34cd45e82d7de658531/image.png)Currently a (quite ugly) Java placeholder logo is shown in both places: ![image](/uploads/55814d0d6002f34cd45e82d7de658531/image.png)Desktop 0.1.0Mikolai GütschowMikolai Gütschowhttps://code.briarproject.org/briar/briar-desktop/-/issues/122Category for .desktop file2022-01-06T17:04:06ZSebastianCategory for .desktop fileWhen installing the deb, a beautiful launcher is created for the desktop environment's application launcher.
On my system it looks like this:
![Screenshot_from_2021-11-16_12-14-02](/uploads/87b95977cd678ece1a52ab11f9c6678b/Screenshot_f...When installing the deb, a beautiful launcher is created for the desktop environment's application launcher.
On my system it looks like this:
![Screenshot_from_2021-11-16_12-14-02](/uploads/87b95977cd678ece1a52ab11f9c6678b/Screenshot_from_2021-11-16_12-14-02.png)
Sweet!
The only pity is it is created in the "Other" category, I'd say "Internet" would be more appropriate.
Looking at `/opt/briar-desktop/lib/briar-desktop-Briar.desktop`:
```
[Desktop Entry]
Name=Briar
Comment=Secure messaging, anywhere
Exec=/opt/briar-desktop/bin/Briar
Icon=/opt/briar-desktop/lib/Briar.png
Terminal=false
Type=Application
Categories=Unknown
MimeType=
```
I think we should add something meaningful to the Categories entry. No idea yet how to configure that, but let's hope there is some way :DDesktop 0.1.0SebastianSebastianhttps://code.briarproject.org/briar/briar-desktop/-/issues/121Write proposal for at least one funding opportunity2021-12-06T14:25:09ZSebastianWrite proposal for at least one funding opportunityDesktop 0.1.0https://code.briarproject.org/briar/briar-desktop/-/issues/120Identify promising funding opportunities2022-06-13T14:49:12ZSebastianIdentify promising funding opportunities* NLnet's [User-Operated Internet Fund](https://nlnet.nl/useroperated/)
* → written an email to ask about some details, if they don't answer, apply anyway
* [Freedom of the press foundation](https://freedom.press/) has funded a few pro...* NLnet's [User-Operated Internet Fund](https://nlnet.nl/useroperated/)
* → written an email to ask about some details, if they don't answer, apply anyway
* [Freedom of the press foundation](https://freedom.press/) has funded a few projects in the past including Signal, Haven (guardian project), Secure Drop and others.
* → written an email to ask if they'd be interested in discussion if cooperation is possibleSebastianSebastianhttps://code.briarproject.org/briar/briar/-/issues/2221Retire support for Android 42023-06-19T14:03:17ZakwizgranRetire support for Android 4We'll eventually need to drop support for Android 4 in order to be able to upgrade OkHttp (#2156). I don't think we should just raise our minSdkVersion and leave Android 4 users running an out-of-date version of Briar indefinitely. Inste...We'll eventually need to drop support for Android 4 in order to be able to upgrade OkHttp (#2156). I don't think we should just raise our minSdkVersion and leave Android 4 users running an out-of-date version of Briar indefinitely. Instead, we should set an expiry date and warn users that the app will stop working at that date, like we do with debug builds.
We should define a retirement period that ends at the expiry date, and release the following changes before the start of the retirement period, allowing enough time for most users to upgrade before the period starts:
* At the start of the retirement period, show a warning on Android 4 that Briar will stop working at the expiry date
* Refuse to start the app on Android 4 beyond the expiry date
The changes can be based on the existing code for expiring debug builds.
When the retirement period ends we can raise our min API level to 21 and upgrade OkHttp (and perhaps the emoji library, which also requires API 21 for the latest version, unless we've already resolved #2212 by switching to AppCompat for emoji).
If we release the changes above by the end of 2021, allow six months for users to upgrade before the retirement period starts, and allow another six months for the retirement period, then we can drop support for Android 4 at the end of 2022. (We can do everything faster than that if necessary, but I don't see any urgency.)
*Update:*
With !1577 and !1578 merged to master, the warning will show up on Android 4 on 2022-07-31. Briar will refuse to start on Android 4 on 2023-01-31.MailboxTorsten GroteTorsten Grote2023-01-31https://code.briarproject.org/briar/briar-desktop/-/issues/119[jar] SecurityException: Invalid signature file digest for Manifest main attr...2021-12-06T14:25:09ZNico[jar] SecurityException: Invalid signature file digest for Manifest main attributesWhen executing the .jar file (with the correct Java version, i.e., 15+), the following error appears. This comes from signatures of daughter .jar files we're shipping, if I understand it correctly, and can be solved by simply stripping t...When executing the .jar file (with the correct Java version, i.e., 15+), the following error appears. This comes from signatures of daughter .jar files we're shipping, if I understand it correctly, and can be solved by simply stripping those signatures. I already have a commit for this, MR incoming...
I don't think it's a problem to strip the signatures, as we already verify the dependencies integrity with gradle-witness. Once we publish "real" .jar files, we should sign them somehow, though.
```
➜ /tmp cd jdk-17.0.1
➜ jdk-17.0.1 cd bin
➜ bin ./java -jar /home/briar/Documents/briar-desktop/build/compose/jars/Briar-linux-x64-0.0.1.jar
Error: A JNI error has occurred, please check your installation and try again
Exception in thread "main" java.lang.SecurityException: Invalid signature file digest for Manifest main attributes
at java.base/sun.security.util.SignatureFileVerifier.processImpl(SignatureFileVerifier.java:340)
at java.base/sun.security.util.SignatureFileVerifier.process(SignatureFileVerifier.java:282)
at java.base/java.util.jar.JarVerifier.processEntry(JarVerifier.java:277)
at java.base/java.util.jar.JarVerifier.update(JarVerifier.java:234)
at java.base/java.util.jar.JarFile.initializeVerifier(JarFile.java:762)
at java.base/java.util.jar.JarFile.ensureInitialization(JarFile.java:1033)
at java.base/java.util.jar.JavaUtilJarAccessImpl.ensureInitialization(JavaUtilJarAccessImpl.java:72)
at java.base/jdk.internal.loader.URLClassPath$JarLoader$2.getManifest(URLClassPath.java:883)
at java.base/jdk.internal.loader.BuiltinClassLoader.defineClass(BuiltinClassLoader.java:848)
at java.base/jdk.internal.loader.BuiltinClassLoader.findClassOnClassPathOrNull(BuiltinClassLoader.java:760)
at java.base/jdk.internal.loader.BuiltinClassLoader.loadClassOrNull(BuiltinClassLoader.java:681)
at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:639)
at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:188)
at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:520)
at java.base/java.lang.Class.forName0(Native Method)
at java.base/java.lang.Class.forName(Class.java:467)
at java.base/sun.launcher.LauncherHelper.loadMainClass(LauncherHelper.java:780)
```Desktop 0.1.0NicoNicohttps://code.briarproject.org/briar/briar-desktop/-/issues/118[deb] NoClassDefFoundError: java/sql/SQLException2022-09-01T11:18:53ZNico[deb] NoClassDefFoundError: java/sql/SQLExceptionExecuting the .deb package currently fails with the following error:
```
➜ ~ /opt/briar-desktop/bin/Briar
Exception in thread "main" java.lang.NoClassDefFoundError: java/sql/SQLException
at org.briarproject.bramble.db.DatabaseModule.p...Executing the .deb package currently fails with the following error:
```
➜ ~ /opt/briar-desktop/bin/Briar
Exception in thread "main" java.lang.NoClassDefFoundError: java/sql/SQLException
at org.briarproject.bramble.db.DatabaseModule.provideDatabase(DatabaseModule.java:27)
at org.briarproject.bramble.db.DatabaseModule_ProvideDatabaseFactory.provideDatabase(DatabaseModule_ProvideDatabaseFactory.java:47)
at org.briarproject.bramble.db.DatabaseModule_ProvideDatabaseFactory.get(DatabaseModule_ProvideDatabaseFactory.java:36)
at org.briarproject.bramble.db.DatabaseModule_ProvideDatabaseFactory.get(DatabaseModule_ProvideDatabaseFactory.java:12)
at dagger.internal.DoubleCheck.get(DoubleCheck.java:47)
at org.briarproject.bramble.db.DatabaseModule_ProvideDatabaseComponentFactory.get(DatabaseModule_ProvideDatabaseComponentFactory.java:40)
at org.briarproject.bramble.db.DatabaseModule_ProvideDatabaseComponentFactory.get(DatabaseModule_ProvideDatabaseComponentFactory.java:13)
at dagger.internal.DoubleCheck.get(DoubleCheck.java:47)
at org.briarproject.bramble.lifecycle.LifecycleManagerImpl_Factory.get(LifecycleManagerImpl_Factory.java:30)
at org.briarproject.bramble.lifecycle.LifecycleManagerImpl_Factory.get(LifecycleManagerImpl_Factory.java:10)
at org.briarproject.bramble.lifecycle.LifecycleModule_ProvideLifecycleManagerFactory.get(LifecycleModule_ProvideLifecycleManagerFactory.java:26)
at org.briarproject.bramble.lifecycle.LifecycleModule_ProvideLifecycleManagerFactory.get(LifecycleModule_ProvideLifecycleManagerFactory.java:9)
at dagger.internal.DoubleCheck.get(DoubleCheck.java:47)
at org.briarproject.bramble.cleanup.CleanupModule_ProvideCleanupManagerFactory.get(CleanupModule_ProvideCleanupManagerFactory.java:35)
at org.briarproject.bramble.cleanup.CleanupModule_ProvideCleanupManagerFactory.get(CleanupModule_ProvideCleanupManagerFactory.java:11)
at dagger.internal.DoubleCheck.get(DoubleCheck.java:47)
at org.briarproject.briar.desktop.DaggerBriarDesktopApp.injectEagerSingletons(DaggerBriarDesktopApp.java:1428)
at org.briarproject.briar.desktop.DaggerBriarDesktopApp.inject(DaggerBriarDesktopApp.java:1320)
at org.briarproject.bramble.BrambleCoreEagerSingletons$Helper.injectEagerSingletons(BrambleCoreEagerSingletons.java:48)
at org.briarproject.briar.desktop.Main.run(Main.kt:75)
at com.github.ajalt.clikt.parsers.Parser.parse(Parser.kt:198)
at com.github.ajalt.clikt.parsers.Parser.parse(Parser.kt:18)
at com.github.ajalt.clikt.core.CliktCommand.parse(CliktCommand.kt:395)
at com.github.ajalt.clikt.core.CliktCommand.parse$default(CliktCommand.kt:392)
at com.github.ajalt.clikt.core.CliktCommand.main(CliktCommand.kt:410)
at com.github.ajalt.clikt.core.CliktCommand.main(CliktCommand.kt:435)
at org.briarproject.briar.desktop.MainKt.main(Main.kt:102)
Caused by: java.lang.ClassNotFoundException: java.sql.SQLException
at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(Unknown Source)
at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(Unknown Source)
at java.base/java.lang.ClassLoader.loadClass(Unknown Source)
... 27 more
Failed to launch JVM
```Desktop 0.1.0NicoNicohttps://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.4