Hallo Gast, bitte registriere dich um alle Funktionen nutzen zu können!

Aktuelle CyanogenMod Version: CM 13 (Android 6.0) [10.01.2016]

Wie soll ich meine Frage im CyanogenMod Forum posten?


Themabewertung:
  • 0 Bewertung(en) - 0 im Durchschnitt
  • 1
  • 2
  • 3
  • 4
  • 5
[CM] Bug in CM mit großen SQLite DBs auf exFAT-formatierten ext. SD-Karten
#1
Hallo

seit anscheinend schon mindestens CM11 ist auf mindestens dem Samsung Galaxy S3 und S4 ein fieser Bug im Zusammenhang mit großen SQLite Datenbankdateien auf mit exFAT formatierten externen SD-Karten der App Locus.

Aufgefallen ist das bisher wohl auch nur mit Locus, einem Kartentool, das sehr große Kartendateien (über 2 GB) verwendet.
Sobald man Locus startet, verschwindet die externe SD-Karte im System und wird erst wieder sichtbar, wenn man neu startet. Im Log stehen dann Systemfehler: "E/DEBUG(28155): AM write failure (32 / Broken pipe) ..."

Hier im Locus Helpdesk wurde das Problem mit SGS4 und CM12 geschildert (sowie hier mit SGS3 und CM11).
Der Entwickler von Locus ("Menion") weist einen Bug in Locus von sich, tatsächlich tritt er bei der Stock Android nicht auf, nur bei CM11 oder 12 (12.1 nicht bekannt). Bei anderen Geräten mit CM ist es nicht bekannt.
Formatiert man die externe SD-Karte mit NTFS tritt der Bug nicht auf, allerdings hat NTFS andere, leider wesentliche Nachteile (im Zusammenhang mit Dateien größer 2 GB).

Ich hätte gerne einen Bugreport auf der CM-Jira Seite gepostet, aber leider sind die Hürden dafür zu hoch (kein Xposed, keine Nightly, usw.etc.pp.). Ich bräuchte wohl einen Tag um wenigstens all das zu erfüllen, was erfüllbar ist.
Auch das Nightly Regressions ist wohl nicht die richtige Adresse, der Bug hat ja wohl nichts mit Nightlies zu tun.

Ich wollte daher hier mal fragen, wie ich diesen eigentlich recht bemerkenswerten Bug an das CM-Team bringen kann, damit er vielleicht sogar schnell gefixt wird. Es ist zwar ein spezieller Bug, aber von der Wirkung ziemlich fatal, macht die wichtige App Locus unbenutzbar.

Danke

franc
Antworten
#2
eine Möglichkeit wäre sich bei XDA an Antares für das S4 zu wenden.
Antworten
[-] Die folgenden (1) User sagen tilo140380 Danke für diesen Beitrag:
Androidlove (03.05.2015)
#3
Dieser antares ist ja wohl nicht so aktiv Wink
Ist das eine Verwechslung?

EDIT: ah, du meinst AntaresOne Danke, mache ich.
Habe AntaresOne jetzt eine PM geschrieben.

EDIT 2015-05-05 heute hat er geantwortet, ich soll ihm ein LogCat schicken, er meldet es im Jira Smile

EDIT 2015-08-21: leider kam dann nichts mehr, ich habe auch im Jira nichts dazu gefunden. Dieser ältere Bugreport könnte evtl. der selbe Bug sein, der wurde aber fieserweise kommentarlos wieder geschlossen. So einen Bugreport im Jira zu erstellen ist ja an so viele Bedingungen geknüpft, dass man das normalerweise gar nicht hin kriegt, schlau gemacht von denen ;(
Antworten
#4
Ich habe jetzt doch (ohne alles zu erfüllen) einen Bugreport im Jira erstellt.
https://jira.cyanogenmod.org/browse/CYAN-6830
Antworten
#5
Servus

Ich habe letzte Woche von einem ähnlichen Bug berichtet, bin mir nicht ganz sicher ob diese hier zusammenhängen.
Beim OsmAnd+ contour lines plugin kommt es zu einem ähnlichen Fehler. Die Höhenlinien-Dateien liegen auf der SD Karte (sind jedoch deutlich kleiner als 1GB). Beim Zugriff darauf kommt es zu einer Fehlermeldung, OsmAnd+ stürzt ab und auf die SD Karte kann erst nach Neustart wieder zugegriffen werden.
Galaxy S5, CM12.1
Antworten
#6
Das Problem bei CM 12.0 und 12.1 ist, dass es gar kein snapshot gibt bisher, nur nightlies.
Ein Bugreport wird aber nur bei Snapshots angenommen, mein Versuch wurde ziemlich schnell wieder mit dieser Begründung unerforscht geschlossen.
Mittlerweile hat aber endlich AntaresOne geantwortet, ein Custom-CM Entwickler (s.o. danke für den Tipp).
Ich kann ihm eine SQLite DB schicken (am 2015-09-21 getan), er würde sie mit Locus zusammen untersuchen. Wird wohl noch etwas dauern...

Ich habe erstmals mit FAT32 ein Problem, weil die deutsche offline Wikipedia (Aard2 mit slob) hat jetzt über 4 GB. Aber der Ersteller dieser dewiki hat freundlicherweise die Datei auf zwei Dateien gesplittet, damit geht es dann wieder.
Ansonsten geht FAT32 eigentlich problemlos. Die 4 GB Beschränkung ist der einzige Nachteil bisher.
Antworten
#7
Hallo Outdoor-Freunde,

ich habe für mein Setup nach zwei Tagen Testerei einen akzeptablen Workaround gefunden.

Hardware:
Samsung Galaxy S2, I9100 (2011)

Software:
CyanogenMod 12.1 (Android 5.1.1), Nightly vom 12.11.2015 (siehe XDA)
Root-Zugriffsrechte
Root-Explorer

Partitionen:
/sdcard0 (interner Speicher, vFAT, 6GB groß, max. Dateigröße bei vFAT = 4GB, wie FAT32)
/sdcard1 (externe MicroSD-Karte, exfat, 112GB groß, keine Dateigrößenbeschränkung, aber das "Locus-exfat-Problem")
/data/sdext2 (externe MicroSD-Karte, ext4, 16GB groß, keine Dateigrößenbeschränkung)

How to:
I) Auf der microSD-Karte (ich verwende jetzt eine 128GB von Samsung) müssen 2 Partitionen angelegt werden.
Diesen Job kann unter Windows bspw. das Programm "MiniTool Partition Wizard" erledigen. Beide als "Primäre Partition".
1. Partition: exfat für Daten, groß
2. Partition: ext4 für "Link2SD" und den Locus-Ordner, Größe je nach dem wieviel Kartenmaterial etc. ihr habt.

Habe als erste Partition auch NTFS und ext4 getestet, aber folgende Probleme gehabt:
NTFS: keine Videos über 2GB Dateigröße mehr abspielbar, auch im file explorer nicht handlebar.
ext4: schließe ich das Smartphone an Windows an, kann diese Partition nicht eingebunden werden.
Auch "Paragon ExtFS" hat nicht geholfen. Damit kann ich lesen, aber nicht zuverlässig schreiben.
Aus diesen Gründen verbleibt nur exfat für die große Datenpartition.

II) Link2SD aus Play-Store installieren, ausführen, zweite Partition auf microSD erkennen lassen (FileSystem = ext4).
Nun steht der Pfad /data/sdext2 zur Verfügung.

III) Locus Pro installieren, starten. Jetzt hat das Programm /sdcard0/Locus erstellt.

IV) Locus-Ordner komplett nach /data/sdext2 verschieben.

V) Locus erneut starten, Locus erkennt, dass Locus-Ordner verschoben wurde. Neuen Pfad bestätigen:
/data/sdext2

Et voila, reichlich Platz für Kartenmaterial und das ohne lästige Dateigrößenbeschränkung.
Vielleicht könnt ihr es bei euch so oder so ähnlich auch lösen.

Viele Grüße
ck23
Antworten
[-] Die folgenden (1) User sagen ck23 Danke für diesen Beitrag:
franc (15.11.2015)
#8
(14.11.2015, 18:41)ck23 schrieb: ...
III) Locus Pro installieren, starten. Jetzt hat das Programm /sdcard0/Locus erstellt.

IV) Locus-Ordner komplett nach /data/sdext2 verschieben.

V) Locus erneut starten, Locus erkennt, dass Locus-Ordner verschoben wurde. Neuen Pfad bestätigen:
/data/sdext2
dazu fällt mir folgende Idee ein: Locus auf der ext4 und die sqlite Maps auf der normalen exFAT externen SD, von ext4 per symbolischem Link (das kann ext4 ja) verlinkt.
Könnte das klappen ohne den Crash?
Antworten
#9
Hallo franc,

nein, das geht leider nicht. Dann kommen wir wieder zum ursprünglichen Problem zurück.
Locus crasht, sobald es sqlite Daten von exFAT lesen soll. NoGo!

sqlite Dateien müssen physikalisch auf FAT32, NTFS oder ext4 liegen, damit Locus nicht crasht.
D.h. der Speicherplatz muss real auf einer so formatierten Partition vorhanden sein / belegt werden.

Gruß
ck23
Antworten
[-] Die folgenden (1) User sagen ck23 Danke für diesen Beitrag:
franc (19.11.2015)
#10
Ich muss dann auch nicht mehr testen, ob Locus' SQLite DBs auf exFAT CM12.1 auch crasht, das hast du ja offenbar schon.
Ich hatte zuvor CM12.0 und jetzt 12.1 aber da hab ich das noch nicht getestet.
Derzeit bin ich noch komplett auf FAT32 und vermeide halt Dateien > 4 GB, was eigentlich auch schon geht.
Antworten



Möglicherweise verwandte Themen...
Thema Verfasser Antworten Ansichten Letzter Beitrag
  [CM] CM 13 externe Speicherkarte wie auf eXFat r4d4 18 5.879 02.02.2016, 23:35
Letzter Beitrag: Andres Noguera
  [CM] SD Karten Problem !! Milan Yoo 12 9.779 30.06.2014, 05:39
Letzter Beitrag: Pulli67

Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste
Gratis Counter