Javascript V8 Torque Engine 错误加载二进制数据

2024-02-28

我们使用 opentype.js 加载字体文件,并在我们的代码、V8 引擎或 Chromium 中发现了一个错误,该错误返回以下结果:DataView.getInt16() as 65536低于或高于应有的水平。这种情况很少发生(~0.25%),但对于我们的用户来说,每天仍然会发生数百次。因此,我们只能在几台计算机上重现它,而且不一致。某些浏览器选项卡始终有效,而其他浏览器选项卡始终给出不正确的值。

我不是二元运算专家,但了解基础知识。

这是一个例子:假设我们期望513.

在二进制中我们期望:00000000000000000000001000000001 (513)

如果结果是+65536,我们可以通过翻转第 17 位来解释这一点:00000000000000010000001000000001(66049 - 65536 = 513)

如果结果是-65536,我们可以通过翻转前面 16 位的完整集合来解释这一点:11111111111111110000001000000001(-65023 + 65536 = 513)

似乎有时,不知何故,第 17 位会被翻转为1或者将前面填充的整组位以满足16位到32位的转换翻转为1包括两者的补码。

我们已经调试了几天,正在寻求帮助来解决这个问题。我们想确认这个问题是我们的代码还是最近引入到 chromium 或 v8 中的问题。


猜测:这可能是crbug.com/1466088 https://crbug.com/1466088。该修复已经通过发布渠道进行。

如果这个猜测是正确的,那么:

  • 此错误仅发生在arm64硬件上,例如配备 M1/M2 芯片的 Mac 以及大多数 Android 设备。 Intel/AMD CPU 上永远不会发生这种情况。
  • 仅当启用新的“Maglev”优化编译器时才会出现此错误。启动一个新的 Chrome 实例--js-flags="--maglev"使它更有可能发生,启动 Chrome--js-flags="--no-maglev"防止它发生。
  • 仅当您正在加载的值的两个字节的最高有效位不同时,才会出现此错误。这意味着您的示例中的 513 不会发生这种情况;对于像这样的值会发生这种情况0b1xxxxxxx0xxxxxxx or 0b0xxxxxxx1xxxxxxx (where x意思是“0或1,并不重要”)。

您能证实这些观察结果吗?

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Javascript V8 Torque Engine 错误加载二进制数据 的相关文章

  • 单独的数据间隔 bootstrap 轮播 4

    我想为 Bootstrap 4 轮播上的每张幻灯片设置单独的数据间隔 我尝试了一些其他的 javascript 片段 但是它们似乎不适用于我的代码 例如Bootstrap 4 轮播堆栈溢出 https stackoverflow com q
  • 将 next.js 与纱线工作区结合使用

    今天遇到了这样的项目结构的复杂情况 packages app pages package json ui kit pages package json shared babelrc package json root lvl 包 json
  • require('babel/register') 不起作用

    我在客户端上有一个用 ES6 编写的同构应用程序Babel 转译器 http babeljs io 我希望我的 Express 服务器具有与客户端代码相同的 ES6 语法 很遗憾require babel register 不起作用 服务器
  • Jquery文件上传插件进度条

    这个插件 https github com blueimp jQuery File Upload wiki管理网页中的文件上传 并且可以在上传过程中添加很多 UI 元素 您创建一个输入文件类型元素 然后绑定 js 文件 使用实例化代码和 w
  • 共享工作线程在重新加载页面时终止

    为什么 Shared Worker 在重新加载页面时死掉了 应该是复活了我该如何解决这个问题 重新加载前 重新加载后 在 example com 上按 F5 家长工人 var port new SharedWorker app worker
  • 使用 Gmail 上下文小工具访问附件

    我想将电子邮件及其附件从 Gmail Google Apps 保存到另一个数据库以实现类似 CRM 的功能 然而 根据docs http code google com apis gmail gadgets contextual 提取器无法
  • 如何在单页应用程序中使用 #-URL?

    本文 http danwebb net 2011 5 28 it is about the hashbangs提出了一个非常令人信服的论点 因为 URL 是长期存在的 它们被添加书签并传递 所以它们应该是有意义的 并且使用哈希进行真正的路由
  • Javascript 制作音频 blob

    我正在测试 html 音频标签 我想制作音频 blob url 就像 youtube 或 vimeo 那样 并将其添加到 src 开始播放音频 我一直在测试new Blob and URL createObjectURL 但我不知道如何使用
  • 如何显示/隐藏jsf组件

    在我的一个 JSF 应用程序中 顶部的标题部分包含 selectOneMenu 底部的内容部分显示过滤器组件 默认情况下 应用程序首先在顶部显示 selectOneMenu 数据 在底部显示相应的 Filter 信息 如果用户选择不同的se
  • “move(-1)”作为 AngularJS 表达式有什么问题吗?

    我收到此错误 parse ueoe Unexpected end of expression move 从这段代码来看
  • 处理时区转换的 JavaScript 库

    是否有一个 JavaScript 库可以处理时区转换 并考虑 DST 规则和此类内容 我知道有类似的问题 但我见过的问题似乎都没有真正适合我的问题的答案 我想在时区 A 创建一个日期并能够对其进行操作 添加天数 小时等 然后将其转换为另一个
  • Moment.js 动态更新时间(以秒为单位)

    我试图显示时钟 that 每秒更新一次 e g 2015 年 1 月 5 日 12 05 01 它似乎对我来说工作得很好 对于相同的代码 并且只有 moment min js 指向v2 11 0 看看代码 来源 MilkyWayJoe va
  • JavaScript/jQuery - “$ 未定义 - $function()”错误

    我正在尝试运行 JavaScript jQuery 函数并且Firebug http en wikipedia org wiki Firebug 28software 29得到错误 is not defined function JavaS
  • 如何使用转义的 unicode 解码字符串?

    我不确定这叫什么 所以我在搜索时遇到了麻烦 如何使用 unicode 解码字符串http u00253A u00252F u00252Fexample com to http example com使用 JavaScript 我试过unes
  • 为什么我从 c# 到 js 得到不同的 MD5 哈希值?

    我有一个用于加密密码的 C 函数 System Security Cryptography MD5CryptoServiceProvider md5Provider new System Security Cryptography MD5C
  • 如何使 4.X Typescript 项目与旧版本的 Typescript(如 3.X)兼容?

    如何使基于 TS 4 X 构建的软件包与 3 X 兼容 例如 如果我有较新的版本 则使用新功能 否则使用any or unknown或旧版本支持的任何内容 有没有可能使用指令 https www typescriptlang org doc
  • React Router Tabs——保持组件安装

    我使用 React Router 创建了选项卡 每个选项卡都有不同的路线 但是 我想通过保持隐藏选项卡的安装来维护选项卡转换之间的选项卡状态 我该如何实现这一目标 每次路由切换时 React 路由器都会重新安装每个组件 已经有人问过这个问题
  • 检测 html 选择框上的编程更改

    有没有办法让 HTML 选择元素在每次以编程方式更改其选择时调用函数 当使用 JavaScript 修改选择框中的当前选择时 IE 和 FF 都不会触发 onchange 此外 更改选择的 js 函数是框架的一部分 因此我无法更改它以在结束
  • 引导网格中的绘图图周围有巨大的空白

    我有一个 Net 应用程序 我试图在其中使用创建一个图表bootstrap js and plotly js 当我创建响应式图表时 我遇到网格中存在巨大空白的问题 我发现问题的一部分是plotly svg container的大小默认高度为
  • 加载谷歌地图控件时是否有事件?

    我知道tilesloaded 但控件似乎在该事件之后加载 我基本上希望能够通过 jQuery 获取控件 但甚至找不到正确的监听 我也刚刚处理了 没有类似的事件 在控件可见之前空闲和tilesloaded触发 因此 基本上将 特殊控制 类添加

随机推荐

  • 在 R 中使用 ggmap 和 Stamen 地图进行映射:标记点和比例

    我正在尝试使用 ggmap 和 Stamen 地图制作我的研究地点的地图 我见过一些类似的问题 但还没有找到将解决方案合并到我的 Stamen 地图代码中的方法 对此我有两个问题 1 如何自定义标记地图上的点 2 如何在Stamen地图中为
  • 在 Eloquent 中使用 withTrashed 处理关系

    有没有办法使用withTrashed与 Eloquent 中的关系 我需要的是这个 我有桌子和模型Mark和另一张桌子User User有很多Mark and Mark属于User 所以我在 Eloquent 模型中定义了它 现在我需要获取
  • Postgres 中的多语句查询

    我希望向 Postgres 数据库发送多个读取查询 以减少需要前往令人痛苦的远程数据库的次数 有什么东西在libpq支持这种行为 是的 您可以使用异步处理函数 http www postgresql org docs current sta
  • 更改为 .gitattributes 后 Git 重新签出文件

    我有一个存储库 其中包含一个错误地以 LF 行结尾提交的文件 但它需要有 CRLF 行结尾 为了解决这个问题 我添加了一个 gitattributes 文件以在签出时强制执行正确的行结尾 这似乎解决了签出新存储库时的问题 但现有的签出拒绝更
  • 使用 webpack 在 Laravel 5 中将插件安装到 CKEditor 5

    我在将插件安装到集成到 Laravel 5 6 的 CKEditor 时遇到了一个小问题 根据 CKEditor 文档的集成指南 我能够添加 ckeditor ckeditor5 build classic https www npmjs
  • WordPress wp_enqueue_script 不工作

    我正在开发一个主题并尝试让 wp enqueue script 工作 奇怪的是 什么也没有出现 它没有任何作用 这是我的设置 在functions php中我有 function named scripts global named opt
  • VBA创建对象

    自 1 月 10 日起 我就被困在这条代码线上 我在一封电子邮件中收到了它 我发现我必须学习课程模块 所以我做了 现在又回来询问新的基础 代码行是 严重警告 您必须转到 VBE 中的 工具 gt 参考 并激活Microsoft WinHTT
  • SSIS 顺序处理

    我在同一数据流任务中有 5 个独立的数据流 每个数据流都有源和目的地 我怎样才能让它们按顺序运行 它们似乎并行运行 我可能会在不同的数据流任务中执行此操作 但我怎样才能在单个数据流任务中做到这一点 同一任务中不要有独立的数据流 我知道导入
  • 如何使用 scanf() 获取任意数量的整数? [关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions 该程序采用任意数量的整数作为输入 并
  • Swift 中采用类型名称的通用函数

    在 C 中 可以通过指定类型来调用泛型方法 public T f
  • iOS 8 今天的小部件在一段时间后停止工作

    我为德国冰球联赛 DEL 制作了一个今日小部件 我正在从我们的服务器加载下一个游戏并在 tableView 中显示它们 加载过程在建议的方法 widgetPerformUpdateWithCompletionHandler 中启动 最初我在
  • 读取 utf-8 编码文件时,Path.read_text(pathlib)出现意外结果

    今天我了解到open filename read 我们不能指望绑定到隐藏文件对象的资源会立即返回 尽管我在我的系统上观察到了这一点 看接受的答案 https stackoverflow com a 7409814 2932052问题的读取整
  • 无法自动装配字段

    我在用着Hibernate 4 Spring MVC 4当我开始时Apache Tomcat Server 8我收到这个错误 Error creating bean with name welcome Injection of autowi
  • 如何将 netcat 中的 tcp 数据放入变量中?

    我已经用通常的方式设置了服务器nc lk
  • 如何在 jQuery 中向数组添加项目?

    var list getJSON json js function data each data function i item console log item text list push item text console log l
  • 如何在本机反应中同步两个滚动视图?

    我的要求是创建一个具有固定标题和第一列的表格 表格数据将在水平和垂直方向上滚动 for this I have used 3 scrollviews following gif will make it clear 第一个滚动视图是标题名称
  • Laravel Blade @foreach 不工作

    我正在学习 Laravel 4 到目前为止一切顺利 但由于某些奇怪的原因 blade 的 foreach 似乎不适用于简单的查询 我的代码是 Route Route get users function users User all ret
  • 如何在大小写敏感模式下在 gfortran 中编译?

    是否可以编译 fortran 90 95 代码gfortran with 区分大小写 我搜索了手册 但找不到任何可以给 gfortran 的标志或选项以使其区分大小写 我希望大写和小写的变量不同 那么 有可能吗 没有这样的标志或选项 当然
  • Oozie shell 操作未作为提交用户运行

    我编写了一个 Oozie 工作流程 它运行 BASH shell 脚本来执行一些配置单元查询并对结果执行一些操作 该脚本运行但在访问某些 HDFS 数据时抛出权限错误 提交 Oozie 工作流的用户具有权限 但脚本以纱线用户身份运行 是否可
  • Javascript V8 Torque Engine 错误加载二进制数据

    我们使用 opentype js 加载字体文件 并在我们的代码 V8 引擎或 Chromium 中发现了一个错误 该错误返回以下结果 DataView getInt16 as 65536低于或高于应有的水平 这种情况很少发生 0 25 但对