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

Getting a weird behavior when saving a string #729

Closed dotgc closed 8 years ago

dotgc commented 9 years ago
java.lang.RuntimeException: Unspecified exception. Failure when converting short string to UTF-16 0x20 0xae 0x00 0x00 0x90 0xae 0x00 0x00 0x98 0x54 0x01 in io_realm_internal_Row.cpp line 126
            at io.realm.internal.Row.nativeGetString(Native Method)
            at io.realm.internal.Row.getString(Row.java:126)
            at io.realm.MessageModelRealmProxy.getMessage(MessageModelRealmProxy.java:108)
cmelchior commented 9 years ago

Hi @ImGauravC Thank you very much. Can you provide some more information. Do you know what string you expected to get when calling getMessage()?

bmunkholm commented 9 years ago

Can it be replicated? Can you send the realm file to help@realm.io?

dotgc commented 9 years ago

@cmelchior : getMessage() should be a normal text message that includes emoji characters. @bmunkholm : Sure. I'll send the realm file the next time I see this.

kneth commented 9 years ago

@ImGauravC Can you send us your realm file? It might give us a hint where the problem is.

yolapop commented 9 years ago

Hi all, I got similar exception after upgrading to version 0.77. This happens when scrolling on a listview but I have a background thread running so I'm not sure where the exception came from.

Edit: this exist on version 76 too. I think I did something wrong but still don't know the cause.

java.lang.RuntimeException: Unspecified exception. Failure when computing UTF-16 size error_code = 1; StringData.size = 23139; StringData.data = 2015-04-14 21:00; StringData as hex =  0x32 0x30 0x31 0x35 0x2d 0x30 0x34 0x2d 0x31 0x34 0x20 0x32 0x31 0x3a 0x30 0x30 0x00 0x32 0x30 0x31 0x35 0x2d 0x30 0x34 0x2d 0x31 0x34 0x20 0x31 0x39 0x3a 0x35 0x30 0x00 0x32 0x30 0x31 0x35 0x2d 0x30 0x34 0x2d 0x31 0x34 0x20 0x32 0x32 0x3a 0x31 0x35 0x00 0x32 0x30 0x31 0x35 0x2d 0x30 0x34 0x2d 0x31 0x34 0x20 0x30 0x36 0x3a 0x35 0x30 0x00 0x32 0x30 0x31 0x35 0x2d 0x30 0x34 0x2d 0x31 0x34 0x20 0x30 0x38 0x3a 0x34 0x30 0x00 0x32 0x30 0x31 0x35 0x2d 0x30 0x34 0x2d 0x31 0x34 0x20 0x31 0x30 0x3a 0x30 0x30 0x00 0x32 0x30 0x31 0x35 0x2d 0x30 0x34 0x2d 0x31 0x34 0x20 0x31 0x32 0x3a 0x32 0x30 0x00 0x32 0x30 0x31 0x35 0x2d 0x30 0x34 0x2d 0x31 0x34 0x20 0x32 0x30 0x3a 0x31 0x30 0x00 0x32 0x30 0x31 0x35 0x2d 0x30 0x34 0x2d 0x31 0x34 0x20 0x32 0x33 0x3a 0x35 0x30 0x00 0x00 0x00 0x00 0x00 0x00 0x80 0x00 0x45 0x00 0x00 0x02 0x68 0x27 0xa0 0x27 0x77 0x77 0x77 0x97 0x00 0x01 0x10 0x00 0x0c 0x00 0x00 0x15 0x4e 0x2f 0x41 0x00 0x00 0x00 0x00 0x04 0x4e 0x2f 0x41 0x00 0x00 0x00 0x00 0x04 0x4e 0x2f 0x41 0x00 0x00 0x00 0x00 0x04 0x4e 0x2f 0x41 0x00 0x00 0x00 0x00 0x04 0x4e 0x2f 0x41 0x00 0x00 0x00 0x00 0x04 0x4e 0x2f 0x41 0x00 0x00 0x00 0x00 0x04 0x4e 0x2f 0x41 0x00 0x00 0x00 0x00 0x04 0x4e 0x2f 0x41 0x00 0x00 0x00 0x00 0x04 0x4e 0x2f 0x41 0x00 0x00 0x00 0x00 0x04 0x4e 0x2f 0x41 0x00 0x00 0x00 0x00 0x04 0x4e 0x2f 0x41 0x00 0x00 0x00 0x00 0x04 0x4e 0x2f 0x41 0x00 0x00 0x00 0x00 0x04 0x4e 0x2f 0x41 0x00 0x00 0x00 0x00 0x04 0x4e 0x2f 0x41 0x00 0x00 0x00 0x00 0x04 0x4e 0x2f 0x41 0x00 0x00 0x00 0x00 0x04 0x41 0x33 0x32 0x30 0x00 0x00 0x00 0x03 0x41 0x33 0x32 0x30 0x00 0x00 0x00 0x03 0x41 0x33 0x32 0x30 0x00 0x00 0x00 0x03 0x41 0x33 0x32 0x30 0x00 0x00 0x00 0x03 0x41 0x33 0x32 0x30 0x00 0x00 0x00 0x03 0x41 0x33 0x32 0x30 0x00 0x00 0x00 0x03 0x00 0x00 0x58 0x00 0x04 0x00 0x00 0x15 0x1c 0x1c 0x1c 0x1c 0x1c 0x1c 0x1c 0x1c 0x1c 0x1c 0x1c 0x1c 0x1c 0x1c 0x1c 0x1c 0x1c 0x1c 0x1c 0x1c 0x1c 0x00 0x00 0x00 0x00 0x00 0x58 0x00 0x04 0x00 0x00 0x15 0x59 0x59 0x59 0x59 0x59 0x59 0x59 0x59 0x59 0x59 0x59 0x59 0x59 0x59 0x59 0x59 0x59 0x59 0x59 0x59 0x59 0x00 0x00 0x00 0x00 0x00 0x80 0x00 0x44 0x00 0x00 0x15 0x01 0x03 0x05 0x07 0x09 0x0b 0x0d 0x0f 0x11 0x13 0x15 0x17 0x19 0x1b 0x1d 0x1f 0x21 0x23 0x25 0x27 0x29 0x1a 0x48 0x1a 0x00 0x00 0x80 0x00 0x40 0x00 0x00 0x15 0x00 0x00 0x80 0x00 0x40 0x00 0x00 0x15 0x00 0x00 0x80 0x00 0x45 0x00 0x00 0x0c 0x30 0x24 0xe0 0x24 0xf0 0x24 0xf8 0x26 0x08 0x27 0x10 0x29 0x20 0x29 0xd0 0x29 0xf0 0x29 0x10 0x2a 0x30 0x2a 0x38 0x2a 0x00 0x00 0x80 0x00 0x45 0x00 0x00 0x02 0x60 0x07 0x40 0x2a 0x00 0x00 0x00 0x00 0x00 0x00 0x80 0x00 0x40 0x00 0x00 0x00 0x00 0x00 0x80 0x00 0x40 0x00 0x00 0x00 0x00 0x00 0x80 0x00 0x45 0x00 0x00 0x0a 0x90 0x08 0xa0 0x08 0xb0 0x08 0xb8 0x08 0xc0 0x08 0x70 0x2a 0x78 0x2a 0xd8 0x08 0xe0 0x08 0xe8 0x08 0x30 0x2a 0x38 0x2a 0x00 0x00 0x80 0x00 0x45 0x00 0x00 0x02 0x80 0x08 0x80 0x2a 0x00 0x00 0x00 0x00 0x00 0x03 0x50 0x00 0x0d 0x00 0x00 0x22 0x45 0x63 0x6f 0x6e 0x6f 0x6d 0x79 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x08 0x45 0x63 0x6f 0x6e 0x6f 0x6d 0x79 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x08 0x45 0x63 0x6f 0x6e 0x6f 0x6d 0x79 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x08 0x45 0x63 0x6f 0x6e 0x6f 0x6d 0x79 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x08 0x45 0x63 0x6f 0x6e 0x6f 0x6d 0x79 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x08 0x45 0x63 0x6f 0x6e 0x6f 0x6d 0x79 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x08 0x45 0x63 0x6f 0x6e 0x6f 0x6d 0x79 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x08 0x45 0x63 0x6f 0x6e 0x6f 0x6d 0x79 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x08 0x45 0x63 0x6f 0x6e 0x6f 0x6d 0x79 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x08 0x45 0x78 0x65 0x63 0x75 0x74 0x69 0x76 0x65 0x00 0x00 0x00 0x00 0x00 0x00 0x06 0x45 0x63 0x6f 0x6e 0x6f 0x6d 0x79 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x08 0x45 0x78 0x65 0x63 0x75 0x74 0x69 0x76 0x65 0x00 0x00 0x00 0x00 0x00 0x0
yolapop commented 9 years ago

Nevermind, I just commented some of my code and the error's gone, so I have to inspect in that area. Loading realm data in adapter is ridiculously fast after I move data preprocessing on background thread :-)

rmeissner commented 9 years ago

Hey, we are experiencing similar errors on our application. The rate is really low but we cannot identify the problem. Was there any solution to this issue?

We are currently using Realm 0.80.2.

Our error messages look like:

java.lang.RuntimeException: Unspecified exception. Failure when converting short string to UTF-16 error_code = 1; retcode = 0; StringData.size = 3; StringData.data = 螽; StringData as hex = 0xe8 0x9e 0x3d; in_begin = 螽; in_end = ; out_curr = 0xbe8882a0; out_end = 0xbe888300; in io_realm_internal_Row.cpp line 137 at io.realm.internal.Row.nativeGetString(Row.java) at io.realm.internal.Row.getString(Row.java:124)

Thanks

emanuelez commented 9 years ago

Is the behavior consistent with that particular string?

rmeissner commented 9 years ago

No we get this error for completely different strings (even pure ascii):

Unspecified exception. Failure when converting short string to UTF-16 error_code = 1; retcode = 0; StringData.size = 36; StringData.data = 3d876a10; StringData as hex = 0x33 0x64 0x38 0x37 0x36 0x61 0x31 0x30 0x00 0x00 0x80 0x00 0x45 0x00 0x00 0x02 0x28 0x01 0xb8 0x01 0x31 0x3a 0x34 0x31 0x00 0x00 0x80 0x00 0x65 0x00 0x00 0x01 0x30 0x09 0xb8 0x01; in_begin = ; in_end = 1:41; out_curr = 0x78bc5a6c; out_end = 0x78bc5ab8; in io_realm_internal_Row.cpp line 137

In this case the string was generated with UUID.randomUUID().toString().

In other cases (like the one posted before) the data is usergenerated or contains json.

Edit: the StringData.data seems to be cut-off as it is too short for a UUID

emanuelez commented 9 years ago

Thank you! That is a very useful report. Are you able to reproduce it consistently with a particular String?

rmeissner commented 9 years ago

Sadly not. We only get crash report via our tracking, but are not able to reproduce it locally. We experience the crash mostly on Android 4.4.2 but also on Android 5.x and 4.2.x. and only in low numbers.

And it seems like that users that experience that error, cannot be recovered until the entry is removed (but not sure about it, it's just that the crash to user ration is 4:1)

cmelchior commented 9 years ago

Maybe this is related to https://github.com/realm/realm-java/issues/982

rmeissner commented 9 years ago

@cmelchior can't tell because it's a private repository ;)

cmelchior commented 9 years ago

Yeah, sorry about that. The public error was this one: #982, the root cause for that was also related to Strings not being saved correctly.

rmeissner commented 9 years ago

Ok, thank you for the update

RobertoArtiles commented 9 years ago

Something similar in my case:

Caused by: java.lang.RuntimeException: Unspecified exception. Failure when computing UTF-16 size error_code = 5; retcode = 1350; StringData.size = 89831; StringData.data = Sacha; StringData as hex =  0x53 0x61 0x63 0x68 0x61 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x0a 0x4a 0x6f 0x72 0x6e 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00...(more of this stuff); in_begin = Sacha; in_end = ; out_curr = 0xbebe02d0; out_end = 0xbebe0330; in io_realm_internal_Row.cpp line 137
       at io.realm.internal.Row.nativeGetString(Row.java)
       at io.realm.internal.Row.getString(Row.java:124)
       at io.realm.UserRealmRealmProxy.getToken(UserRealmRealmProxy.java:138)

UPDATE: Stop getting this exception after I spotted and fixed OOM due to many long leaving Realm instances.

kneth commented 9 years ago

@RobertoArtiles Thanks for the report and especially the update. I have had a hypothesis for some time that an OOM might lead to a mild corruption of the Realm file. The mild corruption shows up as an invalid string. Your observation supports my hypothesis.

Said that, an OOM should never lead to corruption of data (Realm or anything else). I will focus my investigate in an OOM sceneria.

kneth commented 9 years ago

@RobertoArtiles Can you tell me a little more about these OOMs? Did you do a try-catch which ignore the OOM before? Or did you actively catch the error and do something?

rmeissner commented 9 years ago

We also observe some OOM, but we ignore them right now, due to low numbers:

Fatal Exception: java.lang.RuntimeException Unspecified exception. mmap() failed: Out of memory in io_realm_internal_SharedGroup.cpp line 164 raw io.realm.internal.SharedGroup.nativeCommitAndContinueAsRead (SharedGroup.java) io.realm.internal.SharedGroup.commitAndContinueAsRead (SharedGroup.java:103) io.realm.internal.ImplicitTransaction.commitAndContinueAsRead (ImplicitTransaction.java:45) io.realm.Realm.commitTransaction (Realm.java:1465)

kneth commented 9 years ago

I think your apps are running out of a native resource, and mmap() is failing. We shouldn't throw an RuntimeException in that case - an OutOfMemoryError would be better. I understand that OutOfMemoryError would make the app to fail but the Realm file would be left in a consistent state.

rmeissner commented 9 years ago

Failing is fine as OOM is normally hard to recover ... especially if native memory is low ;). We just see the inconsistency errors and the OOM errors in our crash tracking and I wanted to check if there are any connections betweens these two issues.

RobertoArtiles commented 9 years ago

@kneth OOM was happening in the worker threads and was suppressed there. The reason of OOM was pretty straight forward (after some research): I had lot's of long living operations (with network calls) in separate threads which were holding Realm instances open. After I switched to more gradual use of Realm instances, I had stopped seeing OOM exceptions.

P. S. you should definitely emphasize on the best practices of using Realm in the documentation. Really easy to shoot yourself in the leg.

KynoYang commented 9 years ago

Got an exception:

Fatal Exception: io.realm.exceptions.RealmError
Unrecoverable error. Failure when computing UTF-16 size error_code = 5; retcode = 0; 
StringData.size = 61; StringData.data = 񥏱离֭age; StringData as hex = 0xfd 0xa6 0xca 0x9f 0xf1 0xa7 0xa6 0x7b 0xd6 0x6d 0x61 0x67 0x65 0x00 0x00 0x02 0xe6 0x6d 0x61 0x67 0x65 0x00 0x00 0x02 0x69 0x6d 0x61 0x67 0x65 0x00 0x00 0x02 0x69 0x6d 0x61 0x67 0x65 0x00 0x00 0x02 0x74 0x65 0x78 0x74 0x00 0x00 0x00 0x03 0x69 0x6d 0x61 0x67 0x65 0x00 0x00 0x02 0x6f 0x74 0x68 0x65 0x72; in_begin = 񥏱离֭age; in_end = ; out_curr = 0xbed47380; out_end = 0xbed473e0; 
in io_realm_internal_UncheckedRow.cpp line 137

Any one know how to work around it?

kneth commented 9 years ago

@KynoYang We have typically seen this type of error, when Realm's storage engine cannot allocate native memory (or the file system is full) but the app had ignored it and committed changes to the Realm file. We try to throw an RealmError in these cases. Please take a look at your app, and see if you have any try/catch blocks where you accidentally ignore an exception.

KynoYang commented 9 years ago

@kneth Thanks for replying.

I got this exception when calling a getter method. I don't think it's a good way to try and catch every getter method.

On the other hand, what should I do after catching this exception?

kneth commented 9 years ago

If Realm's storage engine cannot allocate any native resources (memory in particular), it is safest to terminate the app.

KynoYang commented 9 years ago

OK, I see. Thank you @kneth

kneth commented 9 years ago

You're welcome.

KynoYang commented 9 years ago

Hi, @kneth I want to tell you a "good" news about this bug.

I tried to not set encryption key today, then this exception disappeared. So, I guess maybe this bug is caused by the encryption bug. (I just noticed that in version 0.8.2, realm will throw a RealmEncryptionNotSupportedException).

Finally, I know how to deal with it. The mobile phone in which I got this bug is Xiaomi m3, BTW.

EDIT: I can't catch the RealmEncryptionNotSupportedException in this case, however. :sob:

beeender commented 9 years ago

@KynoYang I have a Mi3 device right now. Can you please let me know what kind of string (i guess It is Chinese String) will trigger this problem?

KynoYang commented 9 years ago

@beeender Actually, it doesn't matter what kind of string. From the trace log, I got this exception

Fatal Exception: io.realm.exceptions.RealmError
Unrecoverable error. Failure when computing UTF-16 size error_code = 1; retcode = 6; StringData.size = 62; StringData.data = Mm9௪f?9Uy; StringData as hex = 0x09 0x4d 0x6d 0x39 0xf0 0xef 0xaa 0x66 0xad 0x62 0x77 0x39 0x55 0x79 0x00 0x01 0xa3 0x62 0x77 0x39 0x55 0x76 0x00 0x01 0x3d 0x62 0x77 0x39 0x55 0x76 0x00 0x01 0x3d 0x62 0x77 0x39 0x55 0x76 0x00 0x01 0x3d 0x62 0x77 0x39 0x5a 0x56 0x00 0x01 0x3d 0x62 0x77 0x39 0x55 0x76 0x00 0x01 0x3d 0x62 0x77 0x39 0x55 0x76; in_begin = Mm9௪f?9Uy; in_end = ; out_curr = 0xbeb21210; out_end = 0xbeb21270; in io_realm_internal_UncheckedRow.cpp line 137

when getting file id which is a bese64 string including alphabets and numbers.

So, I guess the database might be messed because of encryption error.

You can try to use encryption on Mi3 devices.

beeender commented 9 years ago

NOTE Form myself: Crash on my MI3 is a totally different issue. It seems to be a system bug with signals. When strace enabled, everything works fine. When running without strace, encryption crashed with a super valid address F/libc ( 5754): Fatal signal 11 (SIGSEGV) at 0x75380000 (code=1), thread 5767 (ationTestRunner)

KynoYang commented 9 years ago

@beeender Weird. I got this bug, too. But it's on Meizu M1 Note.

beeender commented 9 years ago

What is the addr on Meizu at 0x75380000 (code=1) ? @KynoYang

KynoYang commented 9 years ago

@beeender Sorry, my fault. I check the log again and find that the bug on Meizu was caused by retrofit. A/libc﹕ Fatal signal 11 (SIGSEGV) at 0x828abffc (code=1), thread 7963 (Retrofit-Idle)

beeender commented 9 years ago

@KynoYang Ha, that is even a better news for me! thanks! It is good to know it works on Meizu.

KynoYang commented 9 years ago

Currently, the devices that reported the Unrecoverable error exception include Huawei Honor 3C H30-U10 Xiaomi Mi3 HM Note1 W.

beeender commented 9 years ago

Note KynoYang's App is not catching OutOfMemory exception (Which means the db is not corrupted by that.). And Issue happened to Huawei H30-U10 (4.4.2) and Mi3 . Encryption enabled, Realm version 0.81.1.

KynoYang commented 9 years ago

@beeender Got a m3 device finally and got more trace log about this issue.

I found it's much more complex than I've thought. I got the Fatal signal error too, but not every time.

A/libc﹕ Fatal signal 11 (SIGSEGV) at 0x7ae4731c (code=1)

May it help. I'll keep working on this problem and give you more information.

KynoYang commented 9 years ago

Maybe this is the real problem. It seems like same with Issue 1442.

D/dalvikvm( 4804): GC_FOR_ALLOC freed 2166K, 7% free 29560K/31740K, paused 44ms, total 48ms
I/Timeline(  882): Timeline: App_transition_stopped time:232613
F/libc    ( 4804): Fatal signal 11 (SIGSEGV) at 0x783fe000 (code=2), thread 4804 (ovative.horcrux)
I/DEBUG   (  184): *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
I/DEBUG   (  184): Build fingerprint: 'Xiaomi/pisces/pisces:4.4.4/KTU84P/5.9.10:user/release-keys'
I/DEBUG   (  184): Revision: '0'
I/DEBUG   (  184): pid: 4804, tid: 4804, name: ovative.horcrux  >>> com.bearyinnovative.horcrux <<<
I/DEBUG   (  184): signal 11 (SIGSEGV), code 2 (SEGV_ACCERR), fault addr 783fe000
I/DEBUG   (  184):     r0 bebfad88  r1 00000000  r2 783e25ac  r3 0001ba54
I/DEBUG   (  184):     r4 00000001  r5 00000000  r6 bebfad88  r7 bebfabc0
I/DEBUG   (  184):     r8 000374a8  r9 bebfb3c8  sl 00000001  fp 787e0f98
I/DEBUG   (  184):     ip 7877f02d  sp bebfabb0  lr 7878219f  pc 78770f16  cpsr 000d0030
I/DEBUG   (  184):     d0  71097309900a9100  d1  0a910b0909090b00  
I/DEBUG   (  184):     d2  0a910b7109730900  d3  0909090b71114100  
I/DEBUG   (  184):     d4  1600000000000000  d5  65425f7373616c63
I/DEBUG   (  184):     d6  00656c6946797261  d7  0000000000000000
I/DEBUG   (  184):     d8  0000000000000000  d9  0000000000000000
I/DEBUG   (  184):     d10 0000000000000000  d11 0000000000000000
I/DEBUG   (  184):     d12 0000000000000000  d13 0000000000000000
I/DEBUG   (  184):     d14 0000000000000000  d15 0000000000000000
I/DEBUG   (  184):     d16 1000000000000000  d17 654d5f7373616c63
I/DEBUG   (  184):     d18 0000000000006174  d19 0000000000000000
I/DEBUG   (  184):     d20 1500000000000000  d21 6f525f7373616c63
I/DEBUG   (  184):     d22 0000000000746f62  d23 0000000000000000
I/DEBUG   (  184):     d24 0000000000000000  d25 0000000000000000
I/DEBUG   (  184):     d26 0000000000000000  d27 0000000000000000
I/DEBUG   (  184):     d28 0000000000000000  d29 3f892f90a75f8a07
I/DEBUG   (  184):     d30 bfdffffffd0c5e81  d31 3ef99342e0ee5069
I/DEBUG   (  184):     scr 60000013
I/DEBUG   (  184):
I/DEBUG   (  184): backtrace:
I/DEBUG   (  184):     #00  pc 0005df16  /data/app-lib/com.bearyinnovative.horcrux-2/librealm-jni.so
I/DEBUG   (  184):     #01  pc 0006f19d  /data/app-lib/com.bearyinnovative.horcrux-2/librealm-jni.so
I/DEBUG   (  184):
I/DEBUG   (  184): stack:
I/DEBUG   (  184):          bebfab70  000374a7
I/DEBUG   (  184):          bebfab74  7879d9cd  /data/app-lib/com.bearyinnovative.horcrux-2/librealm-jni.so
I/DEBUG   (  184):          bebfab78  7877f195  /data/app-lib/com.bearyinnovative.horcrux-2/librealm-jni.so
I/DEBUG   (  184):          bebfab7c  78773623  /data/app-lib/com.bearyinnovative.horcrux-2/librealm-jni.so
I/DEBUG   (  184):          bebfab80  00000000
I/DEBUG   (  184):          bebfab84  bebfaba0  [stack]
I/DEBUG   (  184):          bebfab88  bebfabc0  [stack]
I/DEBUG   (  184):          bebfab8c  00000000
I/DEBUG   (  184):          bebfab90  bebfabc0  [stack]
I/DEBUG   (  184):          bebfab94  00000001
I/DEBUG   (  184):          bebfab98  00000000
I/DEBUG   (  184):          bebfab9c  bebfad88  [stack]
I/DEBUG   (  184):          bebfaba0  bebfabc0  [stack]
I/DEBUG   (  184):          bebfaba4  000374a7
I/DEBUG   (  184):          bebfaba8  df0027ad
I/DEBUG   (  184):          bebfabac  00000000
I/DEBUG   (  184):     #00  bebfabb0  00000001
I/DEBUG   (  184):          ........  ........
I/DEBUG   (  184):     #01  bebfabb0  00000001
I/DEBUG   (  184):          bebfabb4  7879eed1  /data/app-lib/com.bearyinnovative.horcrux-2/librealm-jni.so
I/DEBUG   (  184):          bebfabb8  0068616e
I/DEBUG   (  184):          bebfabbc  787e0fa0  /data/app-lib/com.bearyinnovative.horcrux-2/librealm-jni.so
I/DEBUG   (  184):          bebfabc0  787e19a0  /data/app-lib/com.bearyinnovative.horcrux-2/librealm-jni.so
I/DEBUG   (  184):          bebfabc4  7d31e010
I/DEBUG   (  184):          bebfabc8  7d31e008
I/DEBUG   (  184):          bebfabcc  000374a8
I/DEBUG   (  184):          bebfabd0  0003fff0
I/DEBUG   (  184):          bebfabd4  00000004
I/DEBUG   (  184):          bebfabd8  00010100
I/DEBUG   (  184):          bebfabdc  00000000
I/DEBUG   (  184):          bebfabe0  00000000
I/DEBUG   (  184):          bebfabe4  787e5128  /data/app-lib/com.bearyinnovative.horcrux-2/librealm-jni.so
I/DEBUG   (  184):          bebfabe8  78770f0f  /data/app-lib/com.bearyinnovative.horcrux-2/librealm-jni.so
I/DEBUG   (  184):          bebfabec  00000000
I/DEBUG   (  184):
I/DEBUG   (  184): memory near r0:
I/DEBUG   (  184):     bebfad68 00000000 00000000 00000000 00000001
I/DEBUG   (  184):     bebfad78 ffff8000 ffffffff 00007fff 00000000
I/DEBUG   (  184):     bebfad88 787e0fa0 783e25ac 00007274 0068616e
I/DEBUG   (  184):     bebfad98 3ffffff0 00000004 00010100 00000000
I/DEBUG   (  184):     bebfada8 00000000 7743c6d8 78770f0f 00000000
I/DEBUG   (  184):     bebfadb8 78770f25 00000000 7877f02d 00000000
I/DEBUG   (  184):     bebfadc8 7879aba7 00000000 787542f9 00000000
I/DEBUG   (  184):     bebfadd8 7877e735 00000000 00000000 00000020
I/DEBUG   (  184):     bebfade8 7877d6af 00000000 00000000 7879da35
I/DEBUG   (  184):     bebfadf8 7877f195 78773623 00000000 00000000
I/DEBUG   (  184):     bebfae08 0000000f 00000000 009fef00 00000001
I/DEBUG   (  184):     bebfae18 00000000 bebfb008 bebfae40 00000001
I/DEBUG   (  184):     bebfae28 bebfb3c8 00000001 bebfaec8 7879ef4f
I/DEBUG   (  184):     bebfae38 00000004 787e0fa0 787e19a0 78342230
I/DEBUG   (  184):     bebfae48 78342228 00000001 0000001e 00000020
I/DEBUG   (  184):     bebfae58 36000101 00000000 00000000 787e5128
I/DEBUG   (  184):
I/DEBUG   (  184): memory near r2:
I/DEBUG   (  184):     783e258c 00006563 00000000 09000000 72617473
I/DEBUG   (  184):     783e259c 00006449 00000000 09000000 6e616863
I/DEBUG   (  184):     783e25ac 496c656e 00000064 06000000 0067736d
I/DEBUG   (  184):     783e25bc 00000000 00000000 0c000000 00000000
I/DEBUG   (  184):     783e25cc 00000000 00000000 00000000 00000000
I/DEBUG   (  184):     783e25dc 00000000 00000000 00000000 00000000
I/DEBUG   (  184):     783e25ec 00000000 00000000 00000000 00000000
I/DEBUG   (  184):     783e25fc 00000000 00000000 00000000 00000000
I/DEBUG   (  184):     783e260c 00000000 00000000 00000000 00000000
I/DEBUG   (  184):     783e261c 00000000 00000000 00000000 00000000
I/DEBUG   (  184):     783e262c 00000000 00800000 00000000 00000000
I/DEBUG   (  184):     783e263c 00000000 00000000 00000000 00000000
I/DEBUG   (  184):     783e264c 00000000 00000000 00000000 00000000
I/DEBUG   (  184):     783e265c 00000000 00000000 00000000 00000000
I/DEBUG   (  184):     783e266c 00000000 00000000 00000000 00000000
I/DEBUG   (  184):     783e267c 00000000 00000000 00000000 00000000
I/DEBUG   (  184):
I/DEBUG   (  184): memory near r3:
I/DEBUG   (  184):     0001ba34 ffffffff ffffffff ffffffff ffffffff
I/DEBUG   (  184):     0001ba44 ffffffff ffffffff ffffffff ffffffff
I/DEBUG   (  184):     0001ba54 ffffffff ffffffff ffffffff ffffffff
I/DEBUG   (  184):     0001ba64 ffffffff ffffffff ffffffff ffffffff
I/DEBUG   (  184):     0001ba74 ffffffff ffffffff ffffffff ffffffff
I/DEBUG   (  184):     0001ba84 ffffffff ffffffff ffffffff ffffffff
I/DEBUG   (  184):     0001ba94 ffffffff ffffffff ffffffff ffffffff
I/DEBUG   (  184):     0001baa4 ffffffff ffffffff ffffffff ffffffff
I/DEBUG   (  184):     0001bab4 ffffffff ffffffff ffffffff ffffffff
I/DEBUG   (  184):     0001bac4 ffffffff ffffffff ffffffff ffffffff
I/DEBUG   (  184):     0001bad4 ffffffff ffffffff ffffffff ffffffff
I/DEBUG   (  184):     0001bae4 ffffffff ffffffff ffffffff ffffffff
I/DEBUG   (  184):     0001baf4 ffffffff ffffffff ffffffff ffffffff
I/DEBUG   (  184):     0001bb04 ffffffff ffffffff ffffffff ffffffff
I/DEBUG   (  184):     0001bb14 ffffffff ffffffff ffffffff ffffffff
I/DEBUG   (  184):     0001bb24 ffffffff ffffffff ffffffff ffffffff
I/DEBUG   (  184):
I/DEBUG   (  184): memory near r6:
I/DEBUG   (  184):     bebfad68 00000000 00000000 00000000 00000001
I/DEBUG   (  184):     bebfad78 ffff8000 ffffffff 00007fff 00000000
I/DEBUG   (  184):     bebfad88 787e0fa0 783e25ac 00007274 0068616e
I/DEBUG   (  184):     bebfad98 3ffffff0 00000004 00010100 00000000
I/DEBUG   (  184):     bebfada8 00000000 7743c6d8 78770f0f 00000000
I/DEBUG   (  184):     bebfadb8 78770f25 00000000 7877f02d 00000000
I/DEBUG   (  184):     bebfadc8 7879aba7 00000000 787542f9 00000000
I/DEBUG   (  184):     bebfadd8 7877e735 00000000 00000000 00000020
I/DEBUG   (  184):     bebfade8 7877d6af 00000000 00000000 7879da35
I/DEBUG   (  184):     bebfadf8 7877f195 78773623 00000000 00000000
I/DEBUG   (  184):     bebfae08 0000000f 00000000 009fef00 00000001
I/DEBUG   (  184):     bebfae18 00000000 bebfb008 bebfae40 00000001
I/DEBUG   (  184):     bebfae28 bebfb3c8 00000001 bebfaec8 7879ef4f
I/DEBUG   (  184):     bebfae38 00000004 787e0fa0 787e19a0 78342230
I/DEBUG   (  184):     bebfae48 78342228 00000001 0000001e 00000020
I/DEBUG   (  184):     bebfae58 36000101 00000000 00000000 787e5128
I/DEBUG   (  184):
I/DEBUG   (  184): memory near r7:
I/DEBUG   (  184):     bebfaba0 bebfabc0 000374a7 df0027ad 00000000
I/DEBUG   (  184):     bebfabb0 00000001 7879eed1 0068616e 787e0fa0
I/DEBUG   (  184):     bebfabc0 787e19a0 7d31e010 7d31e008 000374a8
I/DEBUG   (  184):     bebfabd0 0003fff0 00000004 00010100 00000000
I/DEBUG   (  184):     bebfabe0 00000000 787e5128 78770f0f 00000000
I/DEBUG   (  184):     bebfabf0 78770f25 00000000 7877f02d 00000000
I/DEBUG   (  184):     bebfac00 7879aba7 00000000 787542f9 00000000
I/DEBUG   (  184):     bebfac10 7877e735 00000000 00000200 00000000
I/DEBUG   (  184):     bebfac20 7877d6af 00000000 78a3bd40 4008eebf
I/DEBUG   (  184):     bebfac30 7781a660 78a3bd40 00000000 00000000
I/DEBUG   (  184):     bebfac40 0000000f 00000000 00000000 00000200
I/DEBUG   (  184):     bebfac50 00000200 78a3bd40 7781a668 4008f8cd
I/DEBUG   (  184):     bebfac60 4008f819 bebfac90 00000200 00000010
I/DEBUG   (  184):     bebfac70 787803a1 4008bc99 7781a668 787803ad
I/DEBUG   (  184):     bebfac80 bebfad00 7879d8ad 00000100 00000200
I/DEBUG   (  184):     bebfac90 78a3bd40 78a3bd40 bebfad00 bebfad00
I/DEBUG   (  184):
I/DEBUG   (  184): memory near r8:
I/DEBUG   (  184):     00037488 ffffffff ffffffff ffffffff ffffffff
I/DEBUG   (  184):     00037498 ffffffff ffffffff ffffffff ffffffff
I/DEBUG   (  184):     000374a8 ffffffff ffffffff ffffffff ffffffff
I/DEBUG   (  184):     000374b8 ffffffff ffffffff ffffffff ffffffff
I/DEBUG   (  184):     000374c8 ffffffff ffffffff ffffffff ffffffff
I/DEBUG   (  184):     000374d8 ffffffff ffffffff ffffffff ffffffff
I/DEBUG   (  184):     000374e8 ffffffff ffffffff ffffffff ffffffff
I/DEBUG   (  184):     000374f8 ffffffff ffffffff ffffffff ffffffff
I/DEBUG   (  184):     00037508 ffffffff ffffffff ffffffff ffffffff
I/DEBUG   (  184):     00037518 ffffffff ffffffff ffffffff ffffffff
I/DEBUG   (  184):     00037528 ffffffff ffffffff ffffffff ffffffff
I/DEBUG   (  184):     00037538 ffffffff ffffffff ffffffff ffffffff
I/DEBUG   (  184):     00037548 ffffffff ffffffff ffffffff ffffffff
I/DEBUG   (  184):     00037558 ffffffff ffffffff ffffffff ffffffff
I/DEBUG   (  184):     00037568 ffffffff ffffffff ffffffff ffffffff
I/DEBUG   (  184):     00037578 ffffffff ffffffff ffffffff ffffffff
I/DEBUG   (  184):
I/DEBUG   (  184): memory near r9:
I/DEBUG   (  184):     bebfb3a8 00000004 00000000 00000003 00000000
I/DEBUG   (  184):     bebfb3b8 77589b50 7347b000 bebfb400 77589b58
I/DEBUG   (  184):     bebfb3c8 787e08a8 7743c6d0 7743c6d8 bebfb400
I/DEBUG   (  184):     bebfb3d8 00000004 00000000 00000003 00000000
I/DEBUG   (  184):     bebfb3e8 7d31b000 00003000 78d63030 7743c6d0
I/DEBUG   (  184):     bebfb3f8 41501548 00000000 414fffa8 bebfb438
I/DEBUG   (  184):     bebfb408 6d587c4c 41501558 bebfb44c 7876f387
I/DEBUG   (  184):     bebfb418 414fffa8 bc000019 7743c6d0 6d9ec638
I/DEBUG   (  184):     bebfb428 41501548 00000000 6d587c54 4151f310
I/DEBUG   (  184):     bebfb438 6d587c48 00000001 00000000 43238060
I/DEBUG   (  184):     bebfb448 00000000 4154f8df 6d587c48 75a69d36
I/DEBUG   (  184):     bebfb458 7876f359 41501558 7831fe58 4008eebf
I/DEBUG   (  184):     bebfb468 00000000 00000000 415bd0b0 400cc384
I/DEBUG   (  184):     bebfb478 41501570 ffffbfff 41501570 41575141
I/DEBUG   (  184):     bebfb488 41501548 7831fe58 00000000 00000008
I/DEBUG   (  184):     bebfb498 415adc6c 4157b325 00000000 00000028
I/DEBUG   (  184):
I/DEBUG   (  184): memory near fp:
I/DEBUG   (  184):     787e0f78 78751693 78757d53 7875b22b 7875b227
I/DEBUG   (  184):     787e0f88 78770db3 7878a30d 78772d79 00000000
I/DEBUG   (  184):     787e0f98 00000000 787e1228 787825d9 7878025d
I/DEBUG   (  184):     787e0fa8 7879df95 787821b3 7877f1ad 7877f195
I/DEBUG   (  184):     787e0fb8 78780089 00000000 787e38f0 787d893f
I/DEBUG   (  184):     787e0fc8 787e1234 00000000 00000000 787e1844
I/DEBUG   (  184):     787e0fd8 78782599 787801fd 7879df95 787821b3
I/DEBUG   (  184):     787e0fe8 78770f03 78770eed 78770f0b 00000000
I/DEBUG   (  184):     787e0ff8 787e3930 787d85db 00000000 787e1ad0
I/DEBUG   (  184):     787e1008 78787c9b 78787d8f 7874ee57 78786475
I/DEBUG   (  184):     787e1018 78787c3b 78770ee9 7877f1cd 787741c1
I/DEBUG   (  184):     787e1028 78772d05 78772d1d 78780077 78770ee5
I/DEBUG   (  184):     787e1038 78770ee3 78780073 78770edf 78770edd
I/DEBUG   (  184):     787e1048 7877f1cb 7878692d 787739b9 78770edb
I/DEBUG   (  184):     787e1058 78770ed9 7877f1c7 7877f1c5 78780071
I/DEBUG   (  184):     787e1068 7877f1c3 7878006f 7878006d 7877f1c1
I/DEBUG   (  184):
I/DEBUG   (  184): memory near ip:
I/DEBUG   (  184):     7877f00c e7f34502 5100f103 39012000 02c1eb02
I/DEBUG   (  184):     7877f01c 2b082100 e9e2d003 33010102 bdf0e7f9
I/DEBUG   (  184):     7877f02c 084b6840 0101f001 020ff002 0089b530
I/DEBUG   (  184):     7877f03c 240f5cc5 fa02408c ea25f101 430c0404
I/DEBUG   (  184):     7877f04c bd3054c4 088b6840 0103f001 0203f002
I/DEBUG   (  184):     7877f05c 0049b530 24035cc5 fa02408c ea25f101
I/DEBUG   (  184):     7877f06c 430c0404 bd3054c4 08cb6840 f001b530
I/DEBUG   (  184):     7877f07c 5cc50107 f0022401 408c0201 0404ea25
I/DEBUG   (  184):     7877f08c f101fa02 54c4430c 4770bd30 f1a2b5f0
I/DEBUG   (  184):     7877f09c 460d0408 230068c6 21002000 42b7195f
I/DEBUG   (  184):     7877f0ac 2b08d205 e9e4d003 33010102 f103e7f6
I/DEBUG   (  184):     7877f0bc 20005100 eb023901 210002c1 d0032b08
I/DEBUG   (  184):     7877f0cc 0102e9e2 e7f93301 6843bdf0 2021f843
I/DEBUG   (  184):     7877f0dc b5f04770 0608f1a2 230068c7 42bc185c
I/DEBUG   (  184):     7877f0ec 2b08d209 6845d007 f8553301 17e54024
I/DEBUG   (  184):     7877f0fc 4502e9e6 f103e7f2 20005100 eb023901
I/DEBUG   (  184):
I/DEBUG   (  184): memory near sp:
I/DEBUG   (  184):     bebfab90 bebfabc0 00000001 00000000 bebfad88
I/DEBUG   (  184):     bebfaba0 bebfabc0 000374a7 df0027ad 00000000
I/DEBUG   (  184):     bebfabb0 00000001 7879eed1 0068616e 787e0fa0
I/DEBUG   (  184):     bebfabc0 787e19a0 7d31e010 7d31e008 000374a8
I/DEBUG   (  184):     bebfabd0 0003fff0 00000004 00010100 00000000
I/DEBUG   (  184):     bebfabe0 00000000 787e5128 78770f0f 00000000
I/DEBUG   (  184):     bebfabf0 78770f25 00000000 7877f02d 00000000
I/DEBUG   (  184):     bebfac00 7879aba7 00000000 787542f9 00000000
I/DEBUG   (  184):     bebfac10 7877e735 00000000 00000200 00000000
I/DEBUG   (  184):     bebfac20 7877d6af 00000000 78a3bd40 4008eebf
I/DEBUG   (  184):     bebfac30 7781a660 78a3bd40 00000000 00000000
I/DEBUG   (  184):     bebfac40 0000000f 00000000 00000000 00000200
I/DEBUG   (  184):     bebfac50 00000200 78a3bd40 7781a668 4008f8cd
I/DEBUG   (  184):     bebfac60 4008f819 bebfac90 00000200 00000010
I/DEBUG   (  184):     bebfac70 787803a1 4008bc99 7781a668 787803ad
I/DEBUG   (  184):     bebfac80 bebfad00 7879d8ad 00000100 00000200
I/DEBUG   (  184):
I/DEBUG   (  184): code around pc:
I/DEBUG   (  184):     78770ef4 f0554611 bd08fd9b 30fff04f 434abd08
I/DEBUG   (  184):     78770f04 0008f102 20014770 68424770 f001084b
I/DEBUG   (  184):     78770f14 5cd00101 41080089 f0002100 4770000f
I/DEBUG   (  184):     78770f24 43f8e92d 0708f1a2 800cf8d0 46894605
I/DEBUG   (  184):     78770f34 24004616 0109eb04 d2084541 d0062c08
I/DEBUG   (  184):     78770f44 34014628 ffe1f7ff 0102e9e7 f104e7f2
I/DEBUG   (  184):     78770f54 20005300 21003b01 03c3eb06 d0032c08
I/DEBUG   (  184):     78770f64 0102e9e3 e7f93401 83f8e8bd 088b6842
I/DEBUG   (  184):     78770f74 0103f001 00495cd0 21004108 0003f000
I/DEBUG   (  184):     78770f84 e92d4770 f1a243f8 f8d00708 4605800c
I/DEBUG   (  184):     78770f94 46164689 eb042400 45410109 2c08d208
I/DEBUG   (  184):     78770fa4 4628d006 f7ff3401 e9e7ffe1 e7f20102
I/DEBUG   (  184):     78770fb4 5300f104 3b012000 eb062100 2c0803c3
I/DEBUG   (  184):     78770fc4 e9e3d003 34010102 e8bde7f9 684283f8
I/DEBUG   (  184):     78770fd4 f00108cb 5cd00107 21004108 0001f000
I/DEBUG   (  184):     78770fe4 e92d4770 f1a243f8 f8d00708 4605800c
I/DEBUG   (  184):
I/DEBUG   (  184): code around lr:
I/DEBUG   (  184):     7878217c 4770000c 00052aa8 6a836ac2 0f01f012
I/DEBUG   (  184):     7878218c 0262ea4f bf18b510 44105884 58e3bf18
I/DEBUG   (  184):     7878219c bd104798 3088b508 ffeef7ff b508bd08
I/DEBUG   (  184):     787821ac ffeaf7ff f7ffbd08 68c1bffa f7ff3901
I/DEBUG   (  184):     787821bc b508bfe3 fff9f7ff 18c00fcb 0100f141
I/DEBUG   (  184):     787821cc ea4f1049 bd080030 7e036840 68c0b90b
I/DEBUG   (  184):     787821dc f7ff4770 6840bfee b90b7e03 477068c0
I/DEBUG   (  184):     787821ec bfe7f7ff 7e036840 7e83b933 f8d0b913
I/DEBUG   (  184):     787821fc 47700094 477068c0 bfdbf7ff 7e036840
I/DEBUG   (  184):     7878220c 7e43b943 7e83b123 f8d0b913 47700094
I/DEBUG   (  184):     7878221c 477068c0 bfcdf7ff 7e036840 68c0b90b
I/DEBUG   (  184):     7878222c f7ff4770 6883bfc6 b113685b f7ff3004
I/DEBUG   (  184):     7878223c 4618bff3 30044770 bfeef7ff 6803b508
I/DEBUG   (  184):     7878224c 4798695b b508bd08 691b6803 bd084798
I/DEBUG   (  184):     7878225c 44196843 29006803 bfb8460a 021ff101
I/DEBUG   (  184):     7878226c eb031152 4b070282 2b00400b 3b01da03
I/DEBUG   (  184):
I/DEBUG   (  184): memory map around fault addr 783fe000:
I/DEBUG   (  184):     783f5000-783fe000 rw-
I/DEBUG   (  184):     783fe000-783ff000 ---
I/DEBUG   (  184):     783ff000-784fc000 rw- [stack:5156]
I/WhetstoneService( 2181): Receive am_crash event for pid: 882
beeender commented 9 years ago

@KynoYang Is the encryption enabled on Mi3 when this problem happens?

KynoYang commented 9 years ago

@beeender Sure. There is no problem unless encryption enabled.

beeender commented 9 years ago

@KynoYang According to my testing, the behavior of signal handler related API (Realm's encryption relied on those APIs) is totally random on Mi3. And it is even impossible for us to create some testing code to try if our encryption works on this device. It is really really random on very basic test case... I suggest you to disable the encryption for Mi3 for now until our alternative encryption (which is not based on POSIX signals anymore) comes out.

aercanozcan commented 8 years ago

I am getting this logs when I pass a RealmResult to a RealmBaseAdapter.

I receive no exception nor error while inserting.

Realm version :0.83.1 There is no OOM in this situation or any other thing.(no encryption) Is it beacause I have Turkish characters in some of those strings and it is not supported in native UTF-8 format?

10-22 14:53:04.517 3362-3362/com.infoline.ats D/REALM: jni: ThrowingException 11, Failure when converting long string to UTF-16 error_code = 2; retcode = 0; StringData.size = 174960; StringData.data =                             id                     name                 parentId
10-22 14:53:04.517 3362-3362/com.infoline.ats D/REALM:    0:  68c0a8e2-3b99-4484-b...  Aach                     b8a916bf-16a9-404d-b...
10-22 14:53:04.517 3362-3362/com.infoline.ats D/REALM:    1:  eb33ac6f-0708-423c-9...  Aachen                   d3dd240f-1fa9-41e7-b...
10-22 14:53:04.517 3362-3362/com.infoline.ats D/REALM:    2:  954d5fcb-2471-4ab5-8...  Aalen                    b8a916bf-16a9-404d-b...
10-22 14:53:04.517 3362-3362/com.infoline.ats D/REALM:    3:  4216b1d2-1943-4487-9...  Abenberg                 a1ddb34d-6b27-4ce4-a...
10-22 14:53:04.517 3362-3362/com.infoline.ats D/REALM:    4:  737f798a-fc67-4450-a...  Abensberg                a1ddb34d-6b27-4ce4-a...
10-22 14:53:04.517 3362-3362/com.infoline.ats D/REALM:    5:  4e216284-2cea-4f4c-b...  Achern                   b8a916bf-16a9-404d-b...
10-22 14:53:04.517 3362-3362/com.infoline.ats D/REALM:    6:  0f822d51-51b4-448b-8...  Achim                    bb44bb88-876f-427b-a...
10-22 14:53:04.517 3362-3362/com.infoline.ats D/REALM:    7:  aac128c9-c544-404e-a...  ADANA                    3318528a-4336-44c6-b...
10-22 14:53:04.517 3362-3362/com.infoline.ats D/REALM:    8:  cb3f7f96-4da0-4de1-b...  Adelsheim                b8a916bf-16a9-404d-b...
10-22 14:53:04.517 3362-3362/com.infoline.ats D/REALM:    9:  8b0e60ad-1763-431e-8...  Adenau                   472bc644-b
10-22 14:53:04.522 3362-3362/com.infoline.ats W/dalvikvm: JNI WARNING: input is not valid Modified UTF-8: illegal continuation byte 0x2e
10-22 14:53:04.524 3362-3362/com.infoline.ats W/dalvikvm:              string: 'Unrecoverable error. Failure when converting long string to UTF-16 error_code = 2; retcode = 0; StringData.size = 174960; StringData.data =                             id                     name                 parentId
10-22 14:53:04.524 3362-3362/com.infoline.ats W/dalvikvm:    0:  68c0a8e2-3b99-4484-b...  Aach                     b8a916bf-16a9-404d-b...
10-22 14:53:04.524 3362-3362/com.infoline.ats W/dalvikvm:    1:  eb33ac6f-0708-423c-9...  Aachen                   d3dd240f-1fa9-41e7-b...
10-22 14:53:04.524 3362-3362/com.infoline.ats W/dalvikvm:    2:  954d5fcb-2471-4ab5-8...  Aalen                    b8a916bf-16a9-404d-b...
10-22 14:53:04.524 3362-3362/com.infoline.ats W/dalvikvm:    3:  4216b1d2-1943-4487-9...  Abenberg                 a1ddb34d-6b27-4ce4-a...
10-22 14:53:04.524 3362-3362/com.infoline.ats W/dalvikvm:    4:  737f798a-fc67-4450-a...  Abensberg                a1ddb34d-6b27-4ce4-a...
10-22 14:53:04.524 3362-3362/com.infoline.ats W/dalvikvm:    5:  4e216284-2cea-4f4c-b...  Achern                   b8a916bf-16a9-404d-b...
10-22 14:53:04.524 3362-3362/com.infoline.ats W/dalvikvm:    6:  0f822d51-51b4-448b-8...  Achim                    bb44bb88-876f-427b-a...
10-22 14:53:04.524 3362-3362/com.infoline.ats W/dalvikvm:    7:  aac128c9-c544-404e-a...  ADANA                    3318528a-4336-44c6-b...
10-22 14:53:04.524 3362-3362/com.infoline.ats W/dalvikvm:    8:  cb3f7f96-4da0-4de1-b...  Adelsheim                b8a916bf-16a9-404d-b...
10-22 14:53:04.524 3362-3362/com.infoline.ats W/dalvikvm:    9:  8b0e60ad-1763-431e-8...  Adenau             
10-22 14:53:04.524 3362-3362/com.infoline.ats W/dalvikvm:              in Lio/realm/internal/Table;.nativeToString:(JJ)Ljava/lang/String; (ThrowNew)
10-22 14:53:04.524 3362-3362/com.infoline.ats I/dalvikvm: "main" prio=5 tid=1 NATIVE
10-22 14:53:04.524 3362-3362/com.infoline.ats I/dalvikvm:   | group="main" sCount=0 dsCount=0 obj=0x4104ca18 self=0x4103bf60
10-22 14:53:04.524 3362-3362/com.infoline.ats I/dalvikvm:   | sysTid=3362 nice=0 sched=0/0 cgrp=apps handle=1073948764
10-22 14:53:04.525 3362-3362/com.infoline.ats I/dalvikvm:   | state=R schedstat=( 19419343152 3281816933 115814 ) utm=1596 stm=345 core=1
10-22 14:53:04.525 3362-3362/com.infoline.ats D/dalvikvm: dump native stack for : main
10-22 14:53:04.525 3362-3362/com.infoline.ats D/dalvikvm: unwind backtrace
10-22 14:53:04.538 3362-3362/com.infoline.ats D/dalvikvm: get native symbol
10-22 14:53:04.538 3362-3362/com.infoline.ats D/dalvikvm: format backtrace line
10-22 14:53:04.538 3362-3362/com.infoline.ats I/dalvikvm:   #00  pc 000012a0  /system/lib/libcorkscrew.so (unwind_backtrace_thread+27)
10-22 14:53:04.538 3362-3362/com.infoline.ats I/dalvikvm:   #01  pc 00061586  /system/lib/libdvm.so (dvmDumpNativeStack(DebugOutputTarget const*, int)+53)
10-22 14:53:04.538 3362-3362/com.infoline.ats I/dalvikvm:   #02  pc 00054e2c  /system/lib/libdvm.so (dvmDumpThreadEx(DebugOutputTarget const*, Thread*, bool)+355)
10-22 14:53:04.538 3362-3362/com.infoline.ats I/dalvikvm:   #03  pc 00054eda  /system/lib/libdvm.so (dvmDumpThread(Thread*, bool)+25)
10-22 14:53:04.538 3362-3362/com.infoline.ats I/dalvikvm:   #04  pc 00038fd2  /system/lib/libdvm.so
10-22 14:53:04.538 3362-3362/com.infoline.ats I/dalvikvm:   #05  pc 0003a3cc  /system/lib/libdvm.so
10-22 14:53:04.538 3362-3362/com.infoline.ats I/dalvikvm:   #06  pc 000419da  /system/lib/libdvm.so
10-22 14:53:04.538 3362-3362/com.infoline.ats I/dalvikvm:   #07  pc 000a4312  /data/app-lib/com.infoline.ats-1/librealm-jni.so
10-22 14:53:04.538 3362-3362/com.infoline.ats I/dalvikvm:   #08  pc 00035c5c  /data/app-lib/com.infoline.ats-1/librealm-jni.so
10-22 14:53:04.538 3362-3362/com.infoline.ats I/dalvikvm:   #09  pc 000ab806  /data/app-lib/com.infoline.ats-1/librealm-jni.so (Java_io_realm_internal_Table_nativeToString+245)
10-22 14:53:04.538 3362-3362/com.infoline.ats I/dalvikvm:   #10  pc 0001e610  /system/lib/libdvm.so (dvmPlatformInvoke+112)
10-22 14:53:04.538 3362-3362/com.infoline.ats I/dalvikvm:   #11  pc 0004e058  /system/lib/libdvm.so (dvmCallJNIMethod(unsigned int const*, JValue*, Method const*, Thread*)+499)
10-22 14:53:04.538 3362-3362/com.infoline.ats I/dalvikvm:   #12  pc 00050486  /system/lib/libdvm.so (dvmResolveNativeMethod(unsigned int const*, JValue*, Method const*, Thread*)+197)
10-22 14:53:04.538 3362-3362/com.infoline.ats I/dalvikvm:   #13  pc 00027a24  /system/lib/libdvm.so
10-22 14:53:04.538 3362-3362/com.infoline.ats D/dalvikvm: get native done
10-22 14:53:04.538 3362-3362/com.infoline.ats I/dalvikvm:     at io.realm.internal.Table.nativeToString(Native Method)
10-22 14:53:04.538 3362-3362/com.infoline.ats I/dalvikvm:     at io.realm.internal.Table.toString(Table.java:1492)
10-22 14:53:04.538 3362-3362/com.infoline.ats I/dalvikvm:     at com.infoline.ats.util.QueryGenerator.getQuery(QueryGenerator.java:-1)
10-22 14:53:04.538 3362-3362/com.infoline.ats I/dalvikvm:     at com.infoline.ats.view.adapter.SpinnerRegionAdapter.<init>(SpinnerRegionAdapter.java:26)
10-22 14:53:04.538 3362-3362/com.infoline.ats I/dalvikvm:     at com.infoline.ats.view.render.OptionRenderer.render(OptionRenderer.java:236)
10-22 14:53:04.538 3362-3362/com.infoline.ats I/dalvikvm:     at com.infoline.ats.view.render.QuestionRenderer.loadOptionsToQuestion(QuestionRenderer.java:73)
10-22 14:53:04.538 3362-3362/com.infoline.ats I/dalvikvm:     at com.infoline.ats.view.render.QuestionRenderer.render(QuestionRenderer.java:56)
10-22 14:53:04.538 3362-3362/com.infoline.ats I/dalvikvm:     at com.infoline.ats.view.render.FormPageRenderer.render(FormPageRenderer.java:41)
10-22 14:53:04.538 3362-3362/com.infoline.ats I/dalvikvm:     at com.infoline.ats.view.adapter.FormPagerAdapter.instantiateItem(FormPagerAdapter.java:29)
10-22 14:53:04.538 3362-3362/com.infoline.ats I/dalvikvm:     at android.support.v4.view.ViewPager.addNewItem(ViewPager.java:869)
10-22 14:53:04.538 3362-3362/com.infoline.ats I/dalvikvm:     at android.support.v4.view.ViewPager.populate(ViewPager.java:1019)
10-22 14:53:04.538 3362-3362/com.infoline.ats I/dalvikvm:     at android.support.v4.view.ViewPager.populate(ViewPager.java:951)
10-22 14:53:04.539 3362-3362/com.infoline.ats I/dalvikvm:     at android.support.v4.view.ViewPager.onMeasure(ViewPager.java:1473)
10-22 14:53:04.539 3362-3362/com.infoline.ats I/dalvikvm:     at android.view.View.measure(View.java:15619)
10-22 14:53:04.539 3362-3362/com.infoline.ats I/dalvikvm:     at android.widget.RelativeLayout.measureChildHorizontal(RelativeLayout.java:681)
10-22 14:53:04.539 3362-3362/com.infoline.ats I/dalvikvm:     at android.widget.RelativeLayout.onMeasure(RelativeLayout.java:461)
10-22 14:53:04.539 3362-3362/com.infoline.ats I/dalvikvm:     at android.view.View.measure(View.java:15619)
10-22 14:53:04.539 3362-3362/com.infoline.ats I/dalvikvm:     at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:4919)
10-22 14:53:04.539 3362-3362/com.infoline.ats I/dalvikvm:     at android.widget.FrameLayout.onMeasure(FrameLayout.java:310)
10-22 14:53:04.539 3362-3362/com.infoline.ats I/dalvikvm:     at android.view.View.measure(View.java:15619)
10-22 14:53:04.539 3362-3362/com.infoline.ats I/dalvikvm:     at android.widget.RelativeLayout.measureChildHorizontal(RelativeLayout.java:681)
10-22 14:53:04.539 3362-3362/com.infoline.ats I/dalvikvm:     at android.widget.RelativeLayout.onMeasure(RelativeLayout.java:461)
10-22 14:53:04.539 3362-3362/com.infoline.ats I/dalvikvm:     at android.view.View.measure(View.java:15619)
10-22 14:53:04.539 3362-3362/com.infoline.ats I/dalvikvm:     at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:4919)
10-22 14:53:04.539 3362-3362/com.infoline.ats I/dalvikvm:     at android.widget.FrameLayout.onMeasure(FrameLayout.java:310)
10-22 14:53:04.539 3362-3362/com.infoline.ats I/dalvikvm:     at android.view.View.measure(View.java:15619)
10-22 14:53:04.539 3362-3362/com.infoline.ats I/dalvikvm:     at android.widget.RelativeLayout.measureChildHorizontal(RelativeLayout.java:681)
10-22 14:53:04.539 3362-3362/com.infoline.ats I/dalvikvm:     at android.widget.RelativeLayout.onMeasure(RelativeLayout.java:461)
10-22 14:53:04.539 3362-3362/com.infoline.ats I/dalvikvm:     at android.view.View.measure(View.java:15619)
10-22 14:53:04.539 3362-3362/com.infoline.ats I/dalvikvm:     at android.support.v4.widget.DrawerLayout.onMeasure(DrawerLayout.java:868)
10-22 14:53:04.539 3362-3362/com.infoline.ats I/dalvikvm:     at android.view.View.measure(View.java:15619)
10-22 14:53:04.539 3362-3362/com.infoline.ats I/dalvikvm:     at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:4919)
10-22 14:53:04.539 3362-3362/com.infoline.ats I/dalvikvm:     at android.widget.FrameLayout.onMeasure(FrameLayout.java:310)
10-22 14:53:04.539 3362-3362/com.infoline.ats I/dalvikvm:     at android.support.v7.internal.widget.ContentFrameLayout.onMeasure(ContentFrameLayout.java:124)
10-22 14:53:04.539 3362-3362/com.infoline.ats I/dalvikvm:     at android.view.View.measure(View.java:15619)
10-22 14:53:04.539 3362-3362/com.infoline.ats I/dalvikvm:     at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:4919)
10-22 14:53:04.539 3362-3362/com.infoline.ats I/dalvikvm:     at android.widget.LinearLayout.measureChildBeforeLayout(LinearLayout.java:1411)
10-22 14:53:04.539 3362-3362/com.infoline.ats I/dalvikvm:     at android.widget.LinearLayout.measureVertical(LinearLayout.java:698)
10-22 14:53:04.539 3362-3362/com.infoline.ats I/dalvikvm:     at android.widget.LinearLayout.onMeasure(LinearLayout.java:588)
10-22 14:53:04.539 3362-3362/com.infoline.ats I/dalvikvm:     at android.view.View.measure(View.java:15619)
10-22 14:53:04.539 3362-3362/com.infoline.ats I/dalvikvm:     at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:4919)
10-22 14:53:04.539 3362-3362/com.infoline.ats I/dalvikvm:     at android.widget.FrameLayout.onMeasure(FrameLayout.java:310)
10-22 14:53:04.539 3362-3362/com.infoline.ats I/dalvikvm:     at android.view.View.measure(View.java:15619)
10-22 14:53:04.539 3362-3362/com.infoline.ats I/dalvikvm:     at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:4919)
10-22 14:53:04.539 3362-3362/com.infoline.ats I/dalvikvm:     at android.widget.LinearLayout.measureChildBeforeLayout(LinearLayout.java:1411)
10-22 14:53:04.539 3362-3362/com.infoline.ats I/dalvikvm:     at android.widget.LinearLayout.measureVertical(LinearLayout.java:698)
10-22 14:53:04.539 3362-3362/com.infoline.ats I/dalvikvm:     at android.widget.LinearLayout.onMeasure(LinearLayout.java:588)
10-22 14:53:04.539 3362-3362/com.infoline.ats I/dalvikvm:     at android.view.View.measure(View.java:15619)
10-22 14:53:04.539 3362-3362/com.infoline.ats I/dalvikvm:     at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:4919)
10-22 14:53:04.539 3362-3362/com.infoline.ats I/dalvikvm:     at android.widget.FrameLayout.onMeasure(FrameLayout.java:310)
10-22 14:53:04.539 3362-3362/com.infoline.ats I/dalvikvm:     at com.android.internal.policy.impl.PhoneWindow$DecorView.onMeasure(PhoneWindow.java:2191)
10-22 14:53:04.539 3362-3362/com.infoline.ats I/dalvikvm:     at android.view.View.measure(View.java:15619)
10-22 14:53:04.539 3362-3362/com.infoline.ats I/dalvikvm:     at android.view.ViewRootImpl.performMeasure(ViewRootImpl.java:2165)
10-22 14:53:04.539 3362-3362/com.infoline.ats I/dalvikvm:     at android.view.ViewRootImpl.measureHierarchy(ViewRootImpl.java:1249)
10-22 14:53:04.539 3362-3362/com.infoline.ats I/dalvikvm:     at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:1443)
10-22 14:53:04.539 3362-3362/com.infoline.ats I/dalvikvm:     at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1139)
10-22 14:53:04.539 3362-3362/com.infoline.ats I/dalvikvm:     at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:4879)
10-22 14:53:04.539 3362-3362/com.infoline.ats I/dalvikvm:     at android.view.Choreographer$CallbackRecord.run(Choreographer.java:776)
10-22 14:53:04.539 3362-3362/com.infoline.ats I/dalvikvm:     at android.view.Choreographer.doCallbacks(Choreographer.java:579)
10-22 14:53:04.539 3362-3362/com.infoline.ats I/dalvikvm:     at android.view.Choreographer.doFrame(Choreographer.java:548)
10-22 14:53:04.539 3362-3362/com.infoline.ats I/dalvikvm:     at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:762)
10-22 14:53:04.539 3362-3362/com.infoline.ats I/dalvikvm:     at android.os.Handler.handleCallback(Handler.java:725)
10-22 14:53:04.539 3362-3362/com.infoline.ats I/dalvikvm:     at android.os.Handler.dispatchMessage(Handler.java:92)
10-22 14:53:04.539 3362-3362/com.infoline.ats I/dalvikvm:     at android.os.Looper.loop(Looper.java:153)
10-22 14:53:04.539 3362-3362/com.infoline.ats I/dalvikvm:     at android.app.ActivityThread.main(ActivityThread.java:5293)
10-22 14:53:04.539 3362-3362/com.infoline.ats I/dalvikvm:     at java.lang.reflect.Method.invokeNative(Native Method)
10-22 14:53:04.539 3362-3362/com.infoline.ats I/dalvikvm:     at java.lang.reflect.Method.invoke(Method.java:511)
10-22 14:53:04.540 3362-3362/com.infoline.ats I/dalvikvm:     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:833)
10-22 14:53:04.540 3362-3362/com.infoline.ats I/dalvikvm:     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:600)
10-22 14:53:04.540 3362-3362/com.infoline.ats I/dalvikvm:     at dalvik.system.NativeStart.main(Native Method)
10-22 14:53:04.540 3362-3362/com.infoline.ats E/dalvikvm: VM aborting
10-22 14:53:04.540 3362-3362/com.infoline.ats A/libc: Fatal signal 11 (SIGSEGV) at 0xdeadd00d (code=1), thread 3362 (om.infoline.ats)
kneth commented 8 years ago

@aercanozcan 174960 characters - that's a long string. If it is possible, we will be happy if you can send us that string (just send an email to help@realm.io).

kneth commented 8 years ago

@aercanozcan Just wondering, why do you call io.realm.internal.Table.toString()?

aercanozcan commented 8 years ago

@kneth actually i never called that. And i am not working with that kind of string. here is the class I use :

public class Region extends RealmObject{

    @PrimaryKey
    @SerializedName("Id")
    private String id;

    @SerializedName("Name")
    private String name;

    @SerializedName("ParentRegionId")
    private String parentId;

    public String getId() {
        return id;
    }

    public void setId(String id) {
        this.id = id;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getParentId() {
        return parentId;
    }

    public void setParentId(String parentId) {
        this.parentId = parentId;
    }
}

I am building the realm query dynamically by reflection by this code :

public class QueryGenerator {

    public static final String TABLE_REGIONS        = "Regions";
    public static final String TABLE_MEMBERS        = "FamilyMembers";

    public static final String OPERAND_EQUALS       = "=";
    public static final String OPERAND_NOT_EQUALS   = "!=";
    public static final String OPERAND_GREATER_THAN = ">";
    public static final String OPERAND_LESSER_THAN  = "<";
    public static final String OPERAND_LIKE         = "LIKE";

    public static RealmQuery getQuery(Option option,Context context){

        Class clazz=getClassFromTableName(option.getSourceTableName());
        RealmQuery query=    Realm.getInstance(context).where(clazz);
        if(option.getSourceTableName().equals(TABLE_MEMBERS)){
            query.equalTo("formTypeId", Constant.FORM_TYPE_PERSON);
        }
        if(OPERAND_EQUALS.equals(option.getOperand())){
//ReflectionHelper.getFieldFromFromText(clazz,option.getQueryField() returns "parentId" in this case
          return   query.equalTo(ReflectionHelper.getFieldFromFromText(clazz,option.getQueryField()),option.getComparingData());
        }
        if(OPERAND_NOT_EQUALS.equals(option.getOperand())){
        }
        if(OPERAND_GREATER_THAN.equals(option.getOperand())){
        }
        if(OPERAND_LESSER_THAN.equals(option.getOperand())){
        }
        if(OPERAND_LIKE.equals(option.getOperand())){
        }

        throw new IllegalArgumentException("There is no defined operand : " + option.getOperand());
    }

    private  static  Class getClassFromTableName(String tableName){

        if(tableName.equals(TABLE_REGIONS)){
            return   Region.class;
        }
        else if(tableName.equals(TABLE_MEMBERS)){
            return FormObject.class;
        }

        throw new IllegalArgumentException("There is no model exist for table name " + tableName);

    }
}
kneth commented 8 years ago

@aercanozcan Can you share Option too?

aercanozcan commented 8 years ago

Thank you for fast answer by the way :)

public class Option extends RealmObject {

    @SerializedName("Id")
    private String id;

    @SerializedName("Text")
    private RealmList<LocalizedText> text;

    @SerializedName("OptionOrder")
    private int optionOrder;

    @SerializedName("QuestionId")
    private String questionId;

    @SerializedName("OptionTypeId")
    private int optionType;

    @SerializedName("Answers")
    private RealmList<Answer> answers;

    @SerializedName("SelectedOptionId")
    private String selectedOptionId;

    @SerializedName("SelectedQuestionId")
    private String selectedQuestionId;

    @SerializedName("IsHidden")
    private boolean hidden;

    @SerializedName("SpinnerOptions")
    private RealmList<Option> spinnerOptions;

    @SerializedName("TableName")
    private String sourceTableName;

    @SerializedName("QueryField")
    private String queryField;

    @SerializedName("Operand")
    private String operand;

    @SerializedName("ComparingData")
    private String comparingData;

    @SerializedName("IsRequired")
    private boolean required;

    @SerializedName("DisplayColumnText")
    private String displayColumnText;

    private boolean curentlyVisible=false;

    private String formId;

    public String getId() {
        return id;
    }

    public void setId(String id) {
        this.id = id;
    }

    public RealmList<LocalizedText> getText() {
        return text;
    }

    public void setText(RealmList<LocalizedText> text) {
        this.text = text;
    }

    public int getOptionOrder() {
        return optionOrder;
    }

    public void setOptionOrder(int optionOrder) {
        this.optionOrder = optionOrder;
    }

    public String getQuestionId() {
        return questionId;
    }

    public void setQuestionId(String questionId) {
        this.questionId = questionId;
    }

    public int getOptionType() {
        return optionType;
    }

    public void setOptionType(int optionType) {
        this.optionType = optionType;
    }

    public RealmList<Answer> getAnswers() {
        return answers;
    }

    public void setAnswers(RealmList<Answer> answers) {
        this.answers = answers;
    }

    public String getSelectedOptionId() {
        return selectedOptionId;
    }

    public void setSelectedOptionId(String selectedOptionId) {
        this.selectedOptionId = selectedOptionId;
    }

    public boolean isHidden() {
        return hidden;
    }

    public void setHidden(boolean hidden) {
        this.hidden = hidden;
    }

    public RealmList<Option> getSpinnerOptions() {
        return spinnerOptions;
    }

    public void setSpinnerOptions(RealmList<Option> spinnerOptions) {
        this.spinnerOptions = spinnerOptions;
    }

    public String getSourceTableName() {
        return sourceTableName;
    }

    public void setSourceTableName(String sourceTableName) {
        this.sourceTableName = sourceTableName;
    }

    public String getQueryField() {
        return queryField;
    }

    public void setQueryField(String queryField) {
        this.queryField = queryField;
    }

    public String getOperand() {
        return operand;
    }

    public void setOperand(String operand) {
        this.operand = operand;
    }

    public String getComparingData() {
        return comparingData;
    }

    public void setComparingData(String comparingData) {
        this.comparingData = comparingData;
    }

    public String getSelectedQuestionId() {
        return selectedQuestionId;
    }

    public void setSelectedQuestionId(String selectedQuestionId) {
        this.selectedQuestionId = selectedQuestionId;
    }

    public String getFormId() {
        return formId;
    }

    public void setFormId(String formId) {
        this.formId = formId;
    }

    public String getDisplayColumnText() {
        return displayColumnText;
    }

    public void setDisplayColumnText(String displayColumnText) {
        this.displayColumnText = displayColumnText;
    }

    public boolean isRequired() {
        return required;
    }

    public void setRequired(boolean required) {
        this.required = required;
    }

    public boolean isCurentlyVisible() {
        return curentlyVisible;
    }

    public void setCurentlyVisible(boolean curentlyVisible) {
        this.curentlyVisible = curentlyVisible;
    }
}

And answer class here just in case.


public class Answer extends RealmObject {

    @SerializedName("Id")
    private String id;

    @SerializedName("AnswerText")
    private String text;

    @SerializedName("OptionId")
    private String optionId;

    @SerializedName("FormId")
    private String formId;

    @SerializedName("Date")
    private String date;

    @SerializedName("FormTypeId")
    private int formTypeId;

    @SerializedName("ParentFormId")
    private String parentFormId;

    private boolean isSaved=false;

    private boolean draft=true;

    @SerializedName("DraftNumber")
    private int order=1;

    public String getParentFormId() {
        return parentFormId;
    }

    public void setParentFormId(String parentFormId) {
        this.parentFormId = parentFormId;
    }

    public String getId() {
        return id;
    }

    public void setId(String id) {
        this.id = id;
    }

    public String getText() {
        return text;
    }

    public void setText(String text) {
        this.text = text;
    }

    public String getOptionId() {
        return optionId;
    }

    public void setOptionId(String optionId) {
        this.optionId = optionId;
    }

    public String getFormId() {
        return formId;
    }

    public void setFormId(String formId) {
        this.formId = formId;
    }

    public String getDate() {
        return date;
    }

    public void setDate(String date) {
        this.date = date;
    }

    public int getFormTypeId() {
        return formTypeId;
    }

    public void setFormTypeId(int formTypeId) {
        this.formTypeId = formTypeId;
    }

    public boolean isSaved() {
        return isSaved;
    }

    public void setIsSaved(boolean isSaved) {
        this.isSaved = isSaved;
    }

    public int getOrder() {
        return order;
    }

    public void setOrder(int order) {
        this.order = order;
    }

    public boolean isDraft() {
        return draft;
    }

    public void setDraft(boolean draft) {
        this.draft = draft;
    }
}
kneth commented 8 years ago

I think that it is very different bug so can you create a new issue with all the information? It seems like io.realm.internal.Table.toString() is call by accident, and we have to figure out why.