Creating a IndexedDB-transaction with a single 'put' crashes the app

RESOLVED INCOMPLETE

Status

()

P1
blocker
RESOLVED INCOMPLETE
5 years ago
3 years ago

People

(Reporter: mbishop, Unassigned)

Tracking

26 Branch
ARM
Android
Points:
---

Firefox Tracking Flags

(tracking-b2g:backlog)

Details

(crash signature)

Attachments

(1 attachment)

342.26 KB, application/zip
Details
(Reporter)

Description

5 years ago
Created attachment 817982 [details]
build.zip

User Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_8_5) AppleWebKit/536.30.1 (KHTML, like Gecko) Version/6.0.5 Safari/536.30.1

Steps to reproduce:

I ran a web-app that creates an IndexedDB transaction with a single put.


Actual results:

Instead of the app throwing an exception, it crashes the entire app environment and exits pretty hard.



Expected results:

I'd expect the transaction to be committed.
(Reporter)

Comment 1

5 years ago
This is blocking partner contract work for Firefox OS
(Reporter)

Updated

5 years ago
Severity: normal → blocker
Crash Signature: I/Gonk ( 180): Setting nice for pid 15806 to 1 I/Gonk ( 180): Changed nice for pid 15806 from 18 to 1. E/Sandbox (15806): install_syscall_filter() failed E/GeckoConsole(15806): [JavaScript Warning: "Error in parsing value for 'position'. Decla…
OS: All → Android
Priority: -- → P1
Hardware: All → ARM
(Reporter)

Updated

5 years ago
blocking-b2g: --- → 1.3?
(Reporter)

Comment 2

5 years ago
Some more info:

OS version
1.3.0.0-prerelease

Platform Version
27.0a1

Build Identifier
20131007060601
(Reporter)

Updated

5 years ago
blocking-b2g: 1.3? → ---
(Reporter)

Comment 3

5 years ago
Also crashes on

B2G 1.2.0.0-prerelease
Component: General → DOM: IndexedDB
Product: Boot2Gecko → Core
Version: unspecified → 26 Branch
Hm, we'll need some more information here. What kind of crash are you seeing? Anything in logcat?

We have lots of apps that use IndexedDB all over the place so it's hard to know what you might be seeing here.
(Reporter)

Comment 5

5 years ago
Hi Ben, this is what I'm seeing... I hope this helps. I'm happy to provide what else you need.

I/Gonk    (  180): Setting nice for pid 15806 to 1
I/Gonk    (  180): Changed nice for pid 15806 from 18 to 1.
E/Sandbox (15806): install_syscall_filter() failed
E/GeckoConsole(15806): [JavaScript Warning: "Error in parsing value for 'position'.  Declaration dropped." {file: "app://0f29d7ea-f053-9347-a17d-18bf0999ab4a/index.html" line: 30 column: 53 source: "      canvas.emscripten {border: 0px none; position: center center fixed; }"}]
I/Gonk    (  180): Setting nice for pid 743 to 18
I/Gonk    (  180): Changed nice for pid 743 from 1 to 18.
E/GeckoConsole(15806): [JavaScript Warning: "SyntaxError: Using //@ to indicate sourceMappingURL pragmas is deprecated. Use //# instead" {file: "app://0f29d7ea-f053-9347-a17d-18bf0999ab4a/game.js" line: 55424 column: 0 source: "//@ sourceMappingURL=game.js.map"}]
E/GeckoConsole(15806): Content JS LOG at app://0f29d7ea-f053-9347-a17d-18bf0999ab4a/__init.js:36 in Module.printErr: preload time: 168 ms
E/GeckoConsole(15806): Content JS LOG at app://0f29d7ea-f053-9347-a17d-18bf0999ab4a/file_tracker.js:29 in FileTracker</<.initialize/openRequest.onsuccess: successfully opened database
E/GeckoConsole(15806): Content JS LOG at app://0f29d7ea-f053-9347-a17d-18bf0999ab4a/file_tracker.js:72 in FileTracker</<.register: registration complete
E/GeckoConsole(15806): Content JS LOG at app://0f29d7ea-f053-9347-a17d-18bf0999ab4a/__init.js:36 in Module.printErr: loaded filesystem
E/GeckoConsole(15806): Content JS LOG at app://0f29d7ea-f053-9347-a17d-18bf0999ab4a/__init.js:36 in Module.printErr: main1
E/GeckoConsole(15806): Content JS LOG at app://0f29d7ea-f053-9347-a17d-18bf0999ab4a/file_tracker.js:125 in FileTracker</<.deletePath/<: DELETE: /foo/big/Contents/version_plist
E/GeckoConsole(15806): Content JS LOG at app://0f29d7ea-f053-9347-a17d-18bf0999ab4a/file_tracker.js:207 in FileTracker</<.scheduleSave: saving...
E/GeckoConsole(15806): Content JS LOG at app://0f29d7ea-f053-9347-a17d-18bf0999ab4a/file_tracker.js:116 in FileTracker</<.addPath/<: ADD: /foo/big2/Contents/version_plist
E/GeckoConsole(15806): Content JS LOG at app://0f29d7ea-f053-9347-a17d-18bf0999ab4a/file_tracker.js:240 in FileTracker</<.save: SAVE TRANSACTION BEGIN
E/GeckoConsole(15806): Content JS LOG at app://0f29d7ea-f053-9347-a17d-18bf0999ab4a/file_tracker.js:255 in FileTracker</<.save/<: - put /foo/big2/Contents/version_plist with contents: [object Uint8Array] of length: 463
E/GeckoConsole(15806): Content JS LOG at app://0f29d7ea-f053-9347-a17d-18bf0999ab4a/file_tracker.js:373 in FileTracker</<.save: TRANSACTION END

[This is where the app blows up and kicks the user back to the homescreen]

E/Profiler(15867): BEGIN mozilla_sampler_init
E/Profiler(15867): BPUnw: [1 total] thread_register_for_profiling(me=0xb6fe8ffc, stacktop=0xbeb21f8f)
E/Profiler(15867): SPS:
E/Profiler(15867): SPS: Unwind mode       = pseudo
E/Profiler(15867): SPS: Sampling interval = 0 ms (zero means "platform default")
E/Profiler(15867): SPS: Entry store size  = 0 (zero means "platform default")
E/Profiler(15867): SPS: UnwindStackScan   = 0 (max dubious frames per unwind).
E/Profiler(15867): SPS: Use env var MOZ_PROFILER_MODE=help for further information.
E/Profiler(15867): SPS:
E/Profiler(15867): Registering start signal
I/Gonk    (  180): Setting nice for pid 15867 to 18
I/Gonk    (  180): Changed nice for pid 15867 from 0 to 18.
E/GeckoConsole(15867): Could not read chrome manifest 'file:///system/b2g/chrome.manifest'.
I/Gecko   (15867): ###################################### forms.js loaded
I/Gecko   (15867): ############################### browserElementPanning.js loaded
I/Gecko   (15867): ######################## BrowserElementChildPreload.js loaded
I/Gecko   (  180): [Parent 180] WARNING: IPC message is too big: file ../../../gecko/ipc/chromium/src/chrome/common/ipc_channel_posix.cc, line 518
I/Gecko   (  180): 
I/Gecko   (  180): ###!!! [Parent][MessageChannel] Error: Channel error: cannot send/recv
I/Gecko   (  180): 
I/Gonk    (  180): Setting nice for pid 743 to 1
I/Gonk    (  180): Changed nice for pid 743 from 18 to 1.
I/Gecko   (15806): [Child 15806] WARNING: pipe error: Broken pipe: file ../../../gecko/ipc/chromium/src/chrome/common/ipc_channel_posix.cc, line 710
Status: UNCONFIRMED → NEW
Ever confirmed: true
(Reporter)

Comment 6

5 years ago
This section, I have seen in other crashes:


I/Gecko   (  180): [Parent 180] WARNING: IPC message is too big: file
../../../gecko/ipc/chromium/src/chrome/common/ipc_channel_posix.cc, line 518

It's possible it generating a big message and the sending of the message is what's crashing?
Yeah, that basically ensures a crash.

Can you tell which message is causing it?
(Reporter)

Comment 8

5 years ago
The last piece of output from the app is this:


E/GeckoConsole(15806): Content JS LOG at app://0f29d7ea-f053-9347-a17d-18bf0999ab4a/file_tracker.js:373 in FileTracker</<.save: TRANSACTION END


That happens in file_tracker.js right before the newly created transaction goes out of scope. According to the docs, that's when it will be processed and committed to the database. There is a single put that occurred on an object file store.

Are you able to run the sample?

Comment 9

4 years ago
[Tracking Requested - why for this release]:
tracking-b2g: --- → ?
IndexedDB has been almost completely rewritten since this bug was filed... Is anyone able to reproduce this?

Updated

3 years ago
Crash Signature: I/Gonk ( 180): Setting nice for pid 15806 to 1 I/Gonk ( 180): Changed nice for pid 15806 from 18 to 1. E/Sandbox (15806): install_syscall_filter() failed E/GeckoConsole(15806): [JavaScript Warning: "Error in parsing value for 'position'. Decla… → I/Gonk ( 180): Setting nice for pid 15806 to 1 I/Gonk ( 180): Changed nice for pid 15806 from 18 to 1. E/Sandbox (15806): install_syscall_filter() failed E/GeckoConsole(15806): [JavaScript Warning: "Error in parsing value for 'position'. Decl…
Status: NEW → RESOLVED
Last Resolved: 3 years ago
Resolution: --- → INCOMPLETE
You need to log in before you can comment on or make changes to this bug.