isar / isar/hive

HiveError: Cannot read, unknown typeId: 64. Did you forget to register an adapter?

Open
#520 22 comments 6 reactions 1 assignee Claimed by @simc View on GitHub
problem
Dominant language
Dart
Stars
4.4k
Forks
449
PR merge metrics
No merged PRs in 30d

Description

There are multiple issues with similar problems, but no actual solution or explanation.

**Steps to Reproduce**
- Create an object to save in Hive
- Register generated adapter
- write list of objects to Hive
- reload the app and try to read written objects

And I get an error `HiveError: Cannot read, unknown typeId: 64. Did you forget to register an adapter?`. But I don't have that much types registered. Adapters are registered in `main` function before `Hive.initFlutter()` (if I do init before registering adapters, it doesn't change anything).
```

#0 BinaryReaderImpl.read (package:hive/src/binary/binary_reader_impl.dart:322:11)
#1 BinaryReaderImpl.readList (package:hive/src/binary/binary_reader_impl.dart:202:17)
#2 BinaryReaderImpl.read (package:hive/src/binary/binary_reader_impl.dart:314:16)
#3 BinaryReaderImpl.readFrame (package:hive/src/binary/binary_reader_impl.dart:273:26)
#4 FrameHelper.framesFromBytes (package:hive/src/binary/frame_helper.dart:17:26)
#5 FrameIoHelper.framesFromFile (package:hive/src/io/frame_io_helper.dart:41:12)

#6 StorageBackendVm.initialize (package:hive/src/backend/vm/storage_backend_vm.dart:82:30)

#7 BoxBaseImpl.initialize (package:hive/src/box/box_base_impl.dart:90:20)
#8 HiveImpl._openBox (package:hive/src/hive_impl.dart:106:22)

#9 HiveImpl.openBox (package:hive/src/hive_impl.dart:135:18)
#10 MasterDataCacheStorage._openBox (package:ic_camera_3/data/db/master_data_cache_storage.dart:47:34)
#11 MasterDataCacheStorage._retrieve (package:ic_camera_3/data/db/master_data_cache_storage.dart:40:25)
#12 MasterDataCacheStorage.getAgent (package:ic_camera_3/data/db/master_data_cache_storage.dart:17:37)
#13 MasterDataGateway.retrieveFavoriteStores (package:ic_camera_3/data/master_data_gateway.dart:81:29)
#14 HomeCubit.fetch (package:ic_camera_3/modules/home/cubit/home_cubit.dart:32:45)
#15 _StoreListPageState.initState (package:ic_camera_3/modules/home/pages/store_list_page.dart:37:16)
#16 StatefulElement._firstBuild (package:flutter/src/widgets/framework.dart:4765:58)
#17 ComponentElement.mount (package:flutter/src/widgets/framework.dart:4601:5)
#18 Element.inflateWidget (package:flutter/src/widgets/framework.dart:3569:14)
#19 Element.updateChild (package:flutter/src/widgets/framework.dart:3327:18)
#20 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:4652:16)
#21 Element.rebuild (package:flutter/src/widgets/framework.dart:4343:5)
#22 ComponentElement._firstBuild (package:flutter/src/widgets/framework.dart:4606:5)
#23 ComponentElement.mount (package:flutter/src/widgets/framework.dart:4601:5)
#24 Element.inflateWidget (package:flutter/src/widgets/framework.dart:3569:14)
#25 Element.updateChild (package:flutter/src/widgets/framework.dart:3327:18)
#26 SingleChildRenderObjectElement.mount (package:flutter/src/widgets/framework.dart:6118:14)
#27 Element.inflateWidget (package:flutter/src/widgets/framework.dart:3569:14)
#28 Element.updateChild (package:flutter/src/widgets/framework.dart:3327:18)
#29 SingleChildRenderObjectElement.mount (package:flutter/src/widgets/framework.dart:6118:14)
#30 Element.inflateWidget (package:flutter/src/widgets/framework.dart:3569:14)
#31 Element.updateChild (package:flutter/src/widgets/framework.dart:3327:18)
#32 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:4652:16)
#33 Element.rebuild (package:flutter/src/widgets/framework.dart:4343:5)
#34 ComponentElement._firstBuild (package:flutter/src/widgets/framework.dart:4606:5)
#35 ComponentElement.mount (package:flutter/src/widgets/framework.dart:4601:5)
#36 Element.inflateWidget (package:flutter/src/widgets/framework.dart:3569:14)
#37 Element.updateChild (package:flutter/src/widgets/framework.dart:3327:18)
#38 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:4652:16)
#39 Element.rebuild (package:flutter/src/widgets/framework.dart:4343:5)
#40 ComponentElement._firstBuild (package:flutter/src/widgets/framework.dart:4606:5)
#41 ComponentElement.mount (package:flutter/src/widgets/framework.dart:4601:5)
#42 Element.inflateWidget (package:flutter/src/widgets/framework.dart:3569:14)
#43 Element.updateChild (package:flutter/src/widgets/framework.dart:3327:18)
#44 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:4652:16)
#45 StatefulElement.performRebuild (package:flutter/src/widgets/framework.dart:4800:11)
#46 Element.rebuild (package:flutter/src/widgets/framework.dart:4343:5)
#47 ComponentElement._firstBuild (package:flutter/src/widgets/framework.dart:4606:5)
#48 StatefulElement._firstBuild (package:flutter/src/widgets/framework.dart:4791:11)
#49 ComponentElement.mount (package:flutter/src/widgets/framework.dart:4601:5)
#50 Element.inflateWidget (package:flutter/src/widgets/framework.dart:3569:14)
#51 Element.updateChild (package:flutter/src/widgets/framework.dart:3327:18)
#52 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:4652:16)
#53 Element.rebuild (package:flutter/src/widgets/framework.dart:4343:5)
#54 ComponentElement._firstBuild (package:flutter/src/widgets/framework.dart:4606:5)
#55 ComponentElement.mount (package:flutter/src/widgets/framework.dart:4601:5)
#56 Element.inflateWidget (package:flutter/src/widgets/framework.dart:3569:14)
#57 Element.updateChild (package:flutter/src/widgets/framework.dart:3327:18)
#58 SliverMultiBoxAdaptorElement.updateChild (package:flutter/src/widgets/sliver.dart:1158:36)
#59 SliverMultiBoxAdaptorElement.createChild. (package:flutter/src/widgets/sliver.dart:1143:20)
#60 BuildOwner.buildScope (package:flutter/src/widgets/framework.dart:2683:19)
#61 SliverMultiBoxAdaptorElement.createChild (package:flutter/src/widgets/sliver.dart:1136:11)
#62 RenderSliverMultiBoxAdaptor._createOrObtainChild. (package:flutter/src/rendering/sliver_multi_box_adaptor.dart:350:23)
#63 RenderObject.invokeLayoutCallback. (package:flutter/src/rendering/object.dart:1883:59)
#64 PipelineOwner._enableMutationsToDirtySubtrees (package:flutter/src/rendering/object.dart:915:15)
#65 RenderObject.invokeLayoutCallback (package:flutter/src/rendering/object.dart:1883:14)
#66 RenderSliverMultiBoxAdaptor._createOrObtainChild (package:flutter/src/rendering/sliver_multi_box_adaptor.dart:339:5)
#67 RenderSliverMultiBoxAdaptor.addInitialChild (package:flutter/src/rendering/sliver_multi_box_adaptor.dart:423:5)
#68 RenderSliverFixedExtentBoxAdaptor.performLayout (package:flutter/src/rendering/sliver_fixed_extent_list.dart:197:12)
#69 RenderObject.layout (package:flutter/src/rendering/object.dart:1777:7)
#70 RenderSliverEdgeInsetsPadding.performLayout (package:flutter/src/rendering/sliver_padding.dart:132:12)
#71 _RenderSliverFractionalPadding.performLayout (package:flutter/src/widgets/sliver_fill.dart:170:11)
#72 RenderObject.layout (package:flutter/src/rendering/object.dart:1777:7)
#73 RenderViewportBase.layoutChildSequence (package:flutter/src/rendering/viewport.dart:507:13)
#74 RenderViewport._attemptLayout (package:flutter/src/rendering/viewport.dart:1561:12)
#75 RenderViewport.performLayout (package:flutter/src/rendering/viewport.dart:1470:20)
#76 RenderObject.layout (package:flutter/src/rendering/object.dart:1777:7)
#77 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:113:14)
#78 RenderObject.layout (package:flutter/src/rendering/object.dart:1777:7)
#79 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:113:14)
#80 RenderObject.layout (package:flutter/src/rendering/object.dart:1777:7)
#81 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:113:14)
#82 RenderObject.layout (package:flutter/src/rendering/object.dart:1777:7)
#83 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:113:14)
#84 RenderObject.layout (package:flutter/src/rendering/object.dart:1777:7)
#85 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:113:14)
#86 RenderObject.layout (package:flutter/src/rendering/object.dart:1777:7)
#87 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:113:14)
#88 RenderObject.layout (package:flutter/src/rendering/object.dart:1777:7)
#89 MultiChildLayoutDelegate.layoutChild (package:flutter/src/rendering/custom_layout.dart:171:12)
#90 _ScaffoldLayout.performLayout (package:flutter/src/material/scaffold.dart:498:7)
#91 MultiChildLayoutDelegate._callPerformLayout (package:flutter/src/rendering/custom_layout.dart:243:7)
#92 RenderCustomMultiChildLayoutBox.performLayout (package:flutter/src/rendering/custom_layout.dart:402:14)
#93 RenderObject.layout (package:flutter/src/rendering/object.dart:1777:7)
#94 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:113:14)
#95 RenderObject.layout (package:flutter/src/rendering/object.dart:1777:7)
#96 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:113:14)
#97 _RenderCustomClip.performLayout (package:flutter/src/rendering/proxy_box.dart:1308:11)
#98 RenderObject.layout (package:flutter/src/rendering/object.dart:1777:7)
#99 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:113:14)
#100 RenderObject.layout (package:flutter/src/rendering/object.dart:1777:7)
#101 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:113:14)
#102 RenderObject.layout (package:flutter/src/rendering/object.dart:1777:7)
#103 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:113:14)
#104 RenderObject.layout (package:flutter/src/rendering/object.dart:1777:7)
#105 RenderStack.performLayout (package:flutter/src/rendering/stack.dart:560:15)
#106 RenderObject.layout (package:flutter/src/rendering/object.dart:1777:7)
#107 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:113:14)
#108 RenderObject.layout (package:flutter/src/rendering/object.dart:1777:7)
#109 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:113:14)
#110 RenderObject.layout (package:flutter/src/rendering/object.dart:1777:7)
#111 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:113:14)
#112 RenderObject.layout (package:flutter/src/rendering/object.dart:1777:7)
#113 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:113:14)
#114 RenderObject.layout (package:flutter/src/rendering/object.dart:1777:7)
#115 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:113:14)
#116 RenderObject.layout (package:flutter/src/rendering/object.dart:1777:7)
#117 RenderOffstage.performLayout (package:flutter/src/rendering/proxy_box.dart:3220:14)
#118 RenderObject.layout (package:flutter/src/rendering/object.dart:1777:7)
#119 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:113:14)
#120 RenderObject.layout (package:flutter/src/rendering/object.dart:1777:7)
#121 _RenderTheatre.performLayout (package:flutter/src/widgets/overlay.dart:685:15)
#122 RenderObject._layoutWithoutResize (package:flutter/src/rendering/object.dart:1634:7)
#123 PipelineOwner.flushLayout (package:flutter/src/rendering/object.dart:884:18)
#124 RendererBinding.drawFrame (package:flutter/src/rendering/binding.dart:436:19)
#125 WidgetsBinding.drawFrame (package:flutter/src/widgets/binding.dart:914:13)
#126 RendererBinding._handlePersistentFrameCallback (package:flutter/src/rendering/binding.dart:302:5)
#127 SchedulerBinding._invokeFrameCallback (package:flutter/src/scheduler/binding.dart:1117:15)
#128 SchedulerBinding.handleDrawFrame (package:flutter/src/scheduler/binding.dart:1055:9)
#129 SchedulerBinding._handleDrawFrame (package:flutter/src/scheduler/binding.dart:971:5)
#130 _rootRun (dart:async/zone.dart:1190:13)
#131 _CustomZone.run (dart:async/zone.dart:1093:19)
#132 _CustomZone.runGuarded (dart:async/zone.dart:997:7)
#133 _invoke (dart:ui/hooks.dart:251:10)
#134 _drawFrame (dart:ui/hooks.dart:209:3)
```

**Code sample**
```
@HiveType(typeId: TypeIds.store)
class StoreEntity extends Equatable {
StoreEntity({
this.uuid,
this.serverId,
this.customerId,
this.name,
this.taskUuids,
this.address,
this.latitude,
this.longitude,
this.isEnabled,
this.description,
this.retailChainName,
this.logoUrl,
this.routeKey,
this.weekDays,
});

@HiveField(0)
final String uuid;
@HiveField(1)
final int serverId;
@HiveField(2)
final String customerId;
@HiveField(3)
final String name;
@HiveField(4)
final List taskUuids;
@HiveField(5)
final String address;
@HiveField(6)
final double latitude;
@HiveField(7)
final double longitude;
@HiveField(8)
final bool isEnabled;
@HiveField(9)
final String description;
@HiveField(10)
final String retailChainName;
@HiveField(11)
final String logoUrl;
@HiveField(12)
final String routeKey;
@HiveField(13)
final String weekDays;

...
}

...

Future putStores(List stores) =>
_store(_storeBoxKey, stores);

Future _store(String key, dynamic value) async {
try {
final box = await _openBox();
await box.put(key, value);
} on HiveError catch (error) {
throw StorageException('Error storing $value', cause: error);
}
}

Future _openBox() => Hive.openBox('some_key');
```

**Version**
- Platform: iOS, Android
- Flutter version: 1.22.5
- Hive version: 1.4.4+1

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.