realm / realm-java

Realm is a mobile database: a replacement for SQLite & ORMs
http://realm.io
Apache License 2.0
11.45k stars 1.75k forks source link

application crashes and points to RealmResults dogs = realm.where(Dogs.class).findAll(); String str = dogs.get(0).getName(); //getName --highlight and crash app #6924

Closed Taverz closed 4 years ago

Taverz commented 4 years ago

Я не могу прочитать базу данных, в чем причина? Стандартный app.class, база данных в формате date / date / / file - name ("name.realm")

public class DataRealm extends RealmObject { String name;


@Override public void onCreate() { super.onCreate(); Realm.init(this); RealmConfiguration configuration=new RealmConfiguration.Builder() .name("2nnnnffdefault.realm") // .assetFile("daaaelt.realm") .deleteRealmIfMigrationNeeded() .build(); Realm.setDefaultConfiguration(configuration);

`

relm = Realm.getDefaultInstance();

txv = findViewById(R.id.ttr);
RealmQuery query = relm.where(DataRealm.class);
RealmResults<DataRealm> res = query.findAll();
//RealmResults<DataRealm> results = relm.where(DataRealm.class).findAll();

String dd = res.get(1).getEN();  // <- ERROR  line  // highlight  getEN   why?
txv.setText(dd);

`

@ Царство-Пробот сфера-Probot бот добавил О-сообщество метка 14 часов назад @Taverz

автор Taverz прокомментировал 12 часов назад Прочтите мне файл E/cationRealmRea: [qarth_debug:] get PatchStore::createDisableExceptionQarthFile method fail. E/AndroidRuntime: FATAL EXCEPTION: main Process: com.example.myapplicationRealmRead, PID: 10007 java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.myapplicationRealmRead/com.example.myapplicationRealmRead.MainActivity}: io.realm.exceptions.RealmFileException: Unable to open a realm at path '/data/data/com.example.myapplicationRealmRead/files/nnnnffdefault.realm': Invalid top array (ref: 3760, size: 11) Exception backtrace: Path:Exception backtrace: . (Invalid top array (ref: 3760, size: 11) Exception backtrace: Path: /data/data/com.example.myapplicationRealmRead/files/nnnnffdefault.realm Exception backtrace: ) (/data/data/com.example.myapplicationRealmRead/files/nnnnffdefault.realm) in /Users/cm/Realm/realm-java-release/realm/realm-library/src/main/cpp/io_realm_internal_OsSharedRealm.cpp line 101 Kind: ACCESS_ERROR. at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3430) at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3614) at android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:86) at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:108) at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:68) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2199) at android.os.Handler.dispatchMessage(Handler.java:112) at android.os.Looper.loop(Looper.java:216) at android.app.ActivityThread.main(ActivityThread.java:7625) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:524) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:987) Caused by: io.realm.exceptions.RealmFileException: Unable to open a realm at path '/data/data/com.example.myapplicationRealmRead/files/nnnnffdefault.realm': Invalid top array (ref: 3760, size: 11) Exception backtrace: Path:Exception backtrace: . (Invalid top array (ref: 3760, size: 11) Exception backtrace: Path: /data/data/com.example.myapplicationRealmRead/files/nnnnffdefault.realm Exception backtrace: ) (/data/data/com.example.myapplicationRealmRead/files/nnnnffdefault.realm) in /Users/cm/Realm/realm-java-release/realm/realm-library/src/main/cpp/io_realm_internal_OsSharedRealm.cpp line 101 Kind: ACCESS_ERROR. at io.realm.internal.OsSharedRealm.nativeGetSharedRealm(Native Method) at io.realm.internal.OsSharedRealm.(OsSharedRealm.java:171) at io.realm.internal.OsSharedRealm.getInstance(OsSharedRealm.java:241) at io.realm.internal.OsSharedRealm.getInstance(OsSharedRealm.java:231) at io.realm.RealmCache.doCreateRealmOrGetFromCache(RealmCache.java:337) at io.realm.RealmCache.createRealmOrGetFromCache(RealmCache.java:290) at io.realm.Realm.getDefaultInstance(Realm.java:407) at com.example.myapplicationRealmRead.MainActivity.onCreate(MainActivity.java:36) Основная деятельность 36 ----> relm = Realm.getDefaultInstance ();

2020-06-05 20:06:57.471 10007-10038/com.example.myapplicationRealmRead E/AwareLog: AtomicFileUtils: readFileLines file not exist: android.util.AtomicFile@8ac3425 2020-06-05 20:06:57.472 10007-10038/com.example.myapplicationRealmRead E/AwareLog: AtomicFileUtils: readFileLines file not exist: android.util.AtomicFile@2d3a9fa 2020-06-05 20:06:57.519 10007-10031/com.example.myapplicationRealmRead E/MemoryLeakMonitorManager: MemoryLeakMonitor.jar is not exist! 2020-06-05 20:06:58.022 10007-10007/com.example.myapplicationRealmRead E/cationRealmRea: [qarth_debug:] get PatchStore::createDisableExceptionQarthFile method fail. 2020-06-05 20:06:58.032 10007-10007/com.example.myapplicationRealmRead E/AndroidRuntime: FATAL EXCEPTION: main Process: com.example.myapplicationRealmRead, PID: 10007 java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.myapplicationRealmRead/com.example.myapplicationRealmRead.MainActivity}: io.realm.exceptions.RealmFileException: Unable to open a realm at path '/data/data/com.example.myapplicationRealmRead/files/nnnnffdefault.realm': Invalid top array (ref: 3760, size: 11) Exception backtrace: Path:Exception backtrace: . (Invalid top array (ref: 3760, size: 11) Exception backtrace: Path: /data/data/com.example.myapplicationRealmRead/files/nnnnffdefault.realm Exception backtrace: ) (/data/data/com.example.myapplicationRealmRead/files/nnnnffdefault.realm) in /Users/cm/Realm/realm-java-release/realm/realm-library/src/main/cpp/io_realm_internal_OsSharedRealm.cpp line 101 Kind: ACCESS_ERROR. at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3430) at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3614) at android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:86) at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:108) at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:68) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2199) at android.os.Handler.dispatchMessage(Handler.java:112) at android.os.Looper.loop(Looper.java:216) at android.app.ActivityThread.main(ActivityThread.java:7625) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:524) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:987) Caused by: io.realm.exceptions.RealmFileException: Unable to open a realm at path '/data/data/com.example.myapplicationRealmRead/files/nnnnffdefault.realm': Invalid top array (ref: 3760, size: 11) Exception backtrace: Path:Exception backtrace: . (Invalid top array (ref: 3760, size: 11) Exception backtrace: Path: /data/data/com.example.myapplicationRealmRead/files/nnnnffdefault.realm Exception backtrace: ) (/data/data/com.example.myapplicationRealmRead/files/nnnnffdefault.realm) in /Users/cm/Realm/realm-java-release/realm/realm-library/src/main/cpp/io_realm_internal_OsSharedRealm.cpp line 101 Kind: ACCESS_ERROR. at io.realm.internal.OsSharedRealm.nativeGetSharedRealm(Native Method) at io.realm.internal.OsSharedRealm.(OsSharedRealm.java:171) at io.realm.internal.OsSharedRealm.getInstance(OsSharedRealm.java:241) at io.realm.internal.OsSharedRealm.getInstance(OsSharedRealm.java:231) at io.realm.RealmCache.doCreateRealmOrGetFromCache(RealmCache.java:337) at io.realm.RealmCache.createRealmOrGetFromCache(RealmCache.java:290) at io.realm.Realm.getDefaultInstance(Realm.java:407) at com.example.myapplicationRealmRead.MainActivity.onCreate(MainActivity.java:36)

Android Build Tools version: ?

Gradle version: ?

Which Android version and device(s): ?

Taverz commented 4 years ago

https://yadi.sk/d/2BWWTu7VdCzi-A complete database application

cmelchior commented 4 years ago

@Taverz Can we reproduce the issue using the above project?

cmelchior commented 4 years ago

But the stacktrace doesn't seem to match the error. Invalid top array should only happen when you open the file with relm = Realm.getDefaultInstance(); and not when you access a query result.

Do you have acecss to the file that fails to open?

cmelchior commented 4 years ago

Outdated. Also duplicate of https://github.com/realm/realm-java/issues/6922