nw.js icon indicating copy to clipboard operation
nw.js copied to clipboard

Crash when rendering canvas with sqlite3

Open ThomasGreiner opened this issue 1 year ago • 0 comments

Issue Type

Before opening an issue, please search and see if it has already been raised.

  • [x] Bug Report
  • [x] Successfully reproduced against the latest version of NW.js?

Current/Missing Behavior

  • Window opens briefly.
  • Process crashes when calling CanvasRenderingContext2D.fillRect() function.

Expected/Proposed Behavior

  • Process should not crash.
  • Window should remain open.
  • Canvas should render as instructed.

Additional Info

  • Operating System: Ubuntu 24.04
  • NW.js Version:
    • from 0.90.0 to latest (i.e. 0.92.0)
    • 0.89.0 is not affected
  • Repro Link: N/A
  • Code snippet:

package.json

{
  "name": "test",
  "main": "main.html",
  "scripts": {
    "start": "nw"
  },
  "dependencies": {
    "nw": "0.92.0-sdk",
    "sqlite3": "5.1.6"
  }
}

main.html

<script type="module" src="main.js"></script>

main.js

const sqlite = require("sqlite3");

const db = new sqlite.Database("/tmp/test.sqlite");

db.run("PRAGMA foreign_keys = ON", () => {
  const canvas = document.createElement("canvas");
  canvas.width = 10;
  canvas.height = 10;
  
  const ctx = canvas.getContext("2d");
  ctx.fillRect(0, 0, 1, 1);
});
  • Crash report:
[1004/202422.208489:ERROR:elf_dynamic_array_reader.h(64)] tag not found
[40654:40654:1004/202422.454847:ERROR:object_proxy.cc(576)] Failed to call method: org.freedesktop.ScreenSaver.GetActive: object_path= /org/freedesktop/ScreenSaver: org.freedesktop.DBus.Error.NotSupported: This method is not part of the idle inhibition specification: https://specifications.freedesktop.org/idle-inhibit-spec/latest/
[40725:40725:1004/202422.537528:FATAL:canvas_performance_monitor.cc(175)] Check failed: false. 
#0 0x75e6e3c0ed6e (/home/thomas/tmp/test/node_modules/nw/nwjs-sdk-v0.92.0-linux-x64/lib/libnw.so+0x760ed6d)
#1 0x75e6e3b68ce8 (/home/thomas/tmp/test/node_modules/nw/nwjs-sdk-v0.92.0-linux-x64/lib/libnw.so+0x7568ce7)
#2 0x75e6e3b68b7d (/home/thomas/tmp/test/node_modules/nw/nwjs-sdk-v0.92.0-linux-x64/lib/libnw.so+0x7568b7c)
#3 0x75e6e3b52400 (/home/thomas/tmp/test/node_modules/nw/nwjs-sdk-v0.92.0-linux-x64/lib/libnw.so+0x75523ff)
#4 0x75e6e3b5245e (/home/thomas/tmp/test/node_modules/nw/nwjs-sdk-v0.92.0-linux-x64/lib/libnw.so+0x755245d)
#5 0x75e6e3b51ec3 (/home/thomas/tmp/test/node_modules/nw/nwjs-sdk-v0.92.0-linux-x64/lib/libnw.so+0x7551ec2)
#6 0x75e6e782a616 (/home/thomas/tmp/test/node_modules/nw/nwjs-sdk-v0.92.0-linux-x64/lib/libnw.so+0xb22a615)
#7 0x75e6e3bbf7df (/home/thomas/tmp/test/node_modules/nw/nwjs-sdk-v0.92.0-linux-x64/lib/libnw.so+0x75bf7de)
#8 0x75e6e3bbee66 (/home/thomas/tmp/test/node_modules/nw/nwjs-sdk-v0.92.0-linux-x64/lib/libnw.so+0x75bee65)
#9 0x75e6e3bbeff4 (/home/thomas/tmp/test/node_modules/nw/nwjs-sdk-v0.92.0-linux-x64/lib/libnw.so+0x75beff3)
#10 0x75e6e3bd2955 (/home/thomas/tmp/test/node_modules/nw/nwjs-sdk-v0.92.0-linux-x64/lib/libnw.so+0x75d2954)
#11 0x75e6e3bd257b (/home/thomas/tmp/test/node_modules/nw/nwjs-sdk-v0.92.0-linux-x64/lib/libnw.so+0x75d257a)
#12 0x75e6e3bd2fa5 (/home/thomas/tmp/test/node_modules/nw/nwjs-sdk-v0.92.0-linux-x64/lib/libnw.so+0x75d2fa4)
#13 0x75e6e3b70d2d (/home/thomas/tmp/test/node_modules/nw/nwjs-sdk-v0.92.0-linux-x64/lib/libnw.so+0x7570d2c)
#14 0x75e6e3bd3340 (/home/thomas/tmp/test/node_modules/nw/nwjs-sdk-v0.92.0-linux-x64/lib/libnw.so+0x75d333f)
#15 0x75e6e3b99b3f (/home/thomas/tmp/test/node_modules/nw/nwjs-sdk-v0.92.0-linux-x64/lib/libnw.so+0x7599b3e)
#16 0x75e6e9cff0e1 (/home/thomas/tmp/test/node_modules/nw/nwjs-sdk-v0.92.0-linux-x64/lib/libnw.so+0xd6ff0e0)
#17 0x75e6e304fc95 (/home/thomas/tmp/test/node_modules/nw/nwjs-sdk-v0.92.0-linux-x64/lib/libnw.so+0x6a4fc94)
#18 0x75e6e3050c9b (/home/thomas/tmp/test/node_modules/nw/nwjs-sdk-v0.92.0-linux-x64/lib/libnw.so+0x6a50c9a)
#19 0x75e6e304e664 (/home/thomas/tmp/test/node_modules/nw/nwjs-sdk-v0.92.0-linux-x64/lib/libnw.so+0x6a4e663)
#20 0x75e6e304ec67 (/home/thomas/tmp/test/node_modules/nw/nwjs-sdk-v0.92.0-linux-x64/lib/libnw.so+0x6a4ec66)
#21 0x75e6ded2f30f ChromeMain
#22 0x75e6dc22a1ca (/usr/lib/x86_64-linux-gnu/libc.so.6+0x2a1c9)
#23 0x75e6dc22a28b __libc_start_main
#24 0x58f020c1237a _start
Crash keys:
  "gpu-gl-renderer" = "ANGLE (Intel, Mesa Intel(R) UHD Graphics 620 (WHL GT2), OpenGL 4.6 (Core Profile) Mesa 24.0.9-0ubuntu0.1)"
  "gpu-gl-vendor" = "Google Inc. (Intel)"
  "gpu-generation-intel" = "9"
  "gpu-vsver" = "1.00"
  "gpu-psver" = "1.00"
  "gpu-driver" = "24.0.9"
  "gpu_count" = "1"
  "gpu-devid" = "0x3ea0"
  "gpu-venid" = "0x8086"
  "view-count" = "2"
  "loaded-origin-0" = "chrome-extension://jpignaibiiemhngfjkcpokkamffknabf"
  "web-frame-count" = "2"
  "extension-1" = "jpignaibiiemhngfjkcpokkamffknabf"
  "num-extensions" = "1"
  "renderer_foreground" = "true"
  "v8_ro_space_firstpage_address" = "0x247e00000000"
  "v8_isolate_address" = "0x58f021e44000"
  "variations" = "9481ce98-3d47f4f4,2a426c03-3d47f4f4,70678518-dee66fa8,be338734-dee66fa8,5f9907a9-206f6a6e,8eeccb9a-dee66fa8,2b465683-dee66fa8,52fc7926-ee3d6169,bc9b361d-dee66fa8,a41a7188-dee66fa8,ff71bfdc-dee66fa8,e7cc79d5-dee66fa8,6daa4147-dee66fa8,4b935545-3d47f4f4,9a38bae3-3d47f4f4,2d1e43a3-3d47f4f4,386dc267-3d47f4f4,6b260bea-b31978bc,d69d967d-3695c92e,"
  "num-experiments" = "19"
  "reentry_guard_tls_slot" = "unused"
  "switch-19" = "--user-data-dir=/home/thomas/.config/test"
  "switch-18" = "--variations-seed-version"
  "switch-17" = "--field-trial-handle=3,i,14752852740574870746,183322391775041168"
  "switch-16" = "--shared-files=v8_context_snapshot_data:100"
  "switch-15" = "--launch-time-ticks=7459952778"
  "switch-14" = "--time-ticks-at-unix-epoch=-1728058802321883"
  "switch-13" = "--renderer-client-id=5"
  "switch-12" = "--enable-main-frame-before-activation"
  "switch-11" = "--num-raster-threads=4"
  "switch-10" = "--lang=en-US"
  "switch-9" = "--no-zygote"
  "switch-8" = "--no-sandbox"
  "switch-7" = "--change-stack-guard-on-fork=enable"
  "switch-6" = "--extension-process"
  "switch-5" = "--nwjs"
  "switch-4" = "--nwapp-path=."
  "switch-3" = "--user-data-dir=/home/thomas/.config/test"
  "switch-2" = "--enable-crash-reporter=,"
  "switch-1" = "--crashpad-handler-pid=40656"
  "num-switches" = "22"
  "commandline-disabled-feature-1" = "EyeDropper"
  "osarch" = "x86_64"
  "pid" = "40725"
  "ptype" = "renderer"

ThomasGreiner avatar Oct 04 '24 18:10 ThomasGreiner