Closed andreademasi closed 4 years ago
Could you write stack trace of the given error?
Could you write stack trace of the given error?
E/flutter (13157): [ERROR:flutter/lib/ui/ui_dart_state.cc(177)] Unhandled Exception: NoSuchMethodError: The getter 'length' was called on null. E/flutter (13157): Receiver: null E/flutter (13157): Tried calling: length E/flutter (13157): #0 Object.noSuchMethod (dart:core-patch/object_patch.dart:51:5) E/flutter (13157): #1 BinaryWriterImpl.writeStringList package:hive/…/binary/binary_writer_impl.dart:189 E/flutter (13157): #2 EmailAdapter.write package:polito_app/…/providers/mailClient.dart:121 E/flutter (13157): #3 BinaryWriterImpl.write package:hive/…/binary/binary_writer_impl.dart:316 E/flutter (13157): #4 BinaryWriterImpl.writeFrame E/flutter (13157): #6 ReadWriteSync.syncWrite.<anonymous closure> package:hive/…/vm/read_write_sync.dart:26 E/flutter (13157): #7 _rootRunUnary (dart:async/zone.dart:1198:47) E/flutter (13157): #8 _CustomZone.runUnary (dart:async/zone.dart:1100:19) E/flutter (13157): #9 _FutureListener.handleValue (dart:async/future_impl.dart:143:18) E/flutter (13157): #10 Future._propagateToListeners.handleValueCallback (dart:async/future_impl.dart:696:45) E/flutter (13157): #11 Future._propagateToListeners (dart:async/future_impl.dart:725:32) E/flutter (13157): #12 Future._addListener.<anonymous closure> (dart:async/future_impl.dart:393:9) E/flutter (13157): #13 _rootRun (dart:async/zone.dart:1190:13) E/flutter (13157): #14 _CustomZone.run (dart:async/zone.dart:1093:19) E/flutter (13157): #15 _CustomZone.runGuarded (dart:async/zone.dart:997:7) E/flutter (13157): #16 _CustomZone.bindCallbackGuarded.<anonymous closure> (dart:async/zone.dart:1037:23) E/flutter (13157): #17 _microtaskLoop (dart:async/schedule_microtask.dart:41:21) E/flutter (13157): #18 _startMicrotaskLoop (dart:async/schedule_microtask.dart:50:5)
Looks like that the error is caused by the flags
field, which should be a list of strings.. might be that it's nullable?
@andreademasi You created this adapter youself right? All the .writeSomeType()
methods require you to only provide non-null data. This is not documented well but it'll be much easier to see once Hive start using NNBD types.
Edit: You can always take a look at generated adapters for reference.
Steps to Reproduce I'm trying to write an object from a dart package (enough_email) into hive db. More specifically i was writing a MimeMessage object. I wrote the necessary custom adapters, it might be useful to know that i didn't save all the properties from the original object.
Code sample
Version