Chrome's IndexedDB错误"内部错误检查键存在"是什么意思?
What is the meaning of Chrome's IndexedDB error "Internal error checking key existence"?
我在一个相对较大的项目中间歇性地在看似任意的时间获得此错误消息(这使我怀疑某个地方的竞争条件…),所以不幸的是,我没有一个最小的例子来说明这个问题,因为我不了解根本原因。基本上,有时我会得到一个错误信号,其中event.target.webkitErrorMessage
是"内部错误检查密钥存在"。但是我真的不明白这个错误信息到底是什么意思。
搜索这个短语只返回7个结果(尽管一旦谷歌和其他公司找到这个问题,结果会更多)。这些结果都是关于向Chromium添加更详细的错误消息的Chromium源代码或bug报告。由于我对Chromium的IndexedDB后端实现不太熟悉,我正在努力理解的一件事是,就前端JavaScript代码而言,这个错误消息意味着什么。例如,什么样的JavaScript错误会导致错误消息?
问题代码似乎在Firefox, fww中工作得很好。
编辑下面的
在响应openCursor
请求我知道一个键是真正的键时,我也很少得到null作为游标返回。这也是不一致的——它发生在不同的键上,而且很少。而且它也只支持Chrome浏览器。非常奇怪。
我不确定它是否相关,但这一切都发生在两个对象存储中的许多update
s的大型事务中(这些是导致null openCursor
问题的那些)和另一个对象存储中的许多add
s(这似乎是"内部错误检查键存在"错误的来源)。我将尝试对此做一个最小的例子并进一步调查,但无论结果如何,我仍然想知道我最初问题的答案,即"内部错误检查密钥存在性"具体是什么意思。
在玩了一些之后,我遇到了另一个奇怪的瞬态错误消息,"内部错误:后备存储执行put/add错误"。我也很好奇这对我的JavaScript意味着什么。
此外,我验证了所有这些问题都是Chrome 26的新问题(并且仍然存在于Chrome 27中)。降级到Chrome 25使所有这些问题消失…所以这可能只是Chrome浏览器的一些bug…
再编辑一次
所有这些问题似乎只发生在Linux上(我使用的是Ubuntu 12.10)。在安装Chrome 26的Windows XP虚拟机中,我无法重现这些错误。我提交了一个bug报告,因为它越来越明显,这都是由于一些bug,但我不确定我是否已经缩小了问题的范围,以帮助找到一个解决方案。
正如我在这个问题的编辑中提到的,我提交了一个错误报告。这个问题似乎在Chrome 28中得到了解决。所以任何在旧版本的Chrome中遇到这个问题的人,只要升级到不稳定的版本,或者等几个月让Chrome 28稳定下来。如果有人在Chrome 28或更高版本中出现这样的错误,很可能是一个bug。
- 铬:“;未捕获的语法错误:意外的标记:"
- 可以设置“;文件名"发生错误时显示的内联脚本标记的
- "未捕获的语法错误:意外的标记}"
- Soundcloud api"未捕获的类型错误:无法读取属性'uri'“未定义”;
- 为什么我会出现此错误"未捕获引用错误:未定义标题;
- "未捕获的语法错误:意外的标记"角度JS
- 内联javascript与"<脚本>"字符串错误地关闭了脚本标记
- jquery validate 1.8.1”;jQuery"是未定义的错误IE8
- 语法错误:"意外的标记<"在Web控制台中
- Backbone.View渲染错误"TypeError:无效'instanceof'操作数e.
- jsTree jQuery:select_node错误:"无法读取属性'obj'“未定义”;
- Parse.com Cloud Code beforeSave()错误:"未捕获尝试用指向新的未保存对象的指针
- MongoDb聚合$match错误:"参数必须是聚合管道运算符“;
- JavaScript运行时错误:“$"未定义-ASP.NET WebForms(MasterPage)
- AngularJS:试图使用一个服务,得到错误"无法读取属性'那么'“未定义”;
- Javascript/HTML”;错误”:"请使用POST请求“;将下拉选择与case/switch语句一起使
- Knockout.js动态选择模板错误:"找不到ID为'的模板'&”;
- 能够创建一个以字符串为键的映射,但当引用该键时;意外的数字错误"
- ReactJS+NodeJS:什么是错误"传递--update binary以重新安装或--build fro
- JSLint错误“是什么;类型错误"意思是