Closed Bug 731443 Opened 12 years ago Closed 5 years ago

Crash [@ libsqlite.so@0x6bfc ] on planet.mozilla.org when Sync is enabled

Categories

(Firefox for Android Graveyard :: General, defect, P3)

ARM
Android
defect

Tracking

(blocking-fennec1.0 -)

RESOLVED WONTFIX
Tracking Status
blocking-fennec1.0 --- -

People

(Reporter: tchung, Unassigned)

Details

(Keywords: crash, Whiteboard: [native-crash])

Crash Data

Attachments

(1 file)

Attached file crash logcat
Sync is enabled.   Launching fennec will crash when i'm trying to load planet.mozilla.org on the 2/28/2012 fennec nightly build.    Strangely, it doesnt crash if i disable Sync options, and try to load the page again.

Logcat attached

Crash signature: Crash Report [@ libsqlite.so@0x6bfc ] 
* https://crash-stats.mozilla.com/report/index/bp-e58d0b7d-c0c4-40cf-a12c-2a48e2120228


Repro:
1) install 2/23/2012 fennec nightly build.  Setup sync successfully
2) load planet.mozilla.org
3) as page loads, verify fennec crashes
4) See crash stack and logcat

Expected:
- no crash
Frame 	Module 	Signature 	Source
0 	libsqlite.so 	libsqlite.so@0x6bfc 	
1 	libsqlite.so 	libsqlite.so@0x1116b 	
2 	libsqlite.so 	libsqlite.so@0xcb99 	
3 	libsqlite.so 	libsqlite.so@0x19f6f 	
4 	libsqlite.so 	libsqlite.so@0x1a053 	
5 	libsqlite.so 	libsqlite.so@0x1b1fb 	
6 	libsqlite.so 	libsqlite.so@0x1b231 	
7 	libsqlite.so 	libsqlite.so@0x1b2fd 	
8 	libsqlite.so 	libsqlite.so@0x3f173 	
9 	libsqlite.so 	libsqlite.so@0x463f9 	
10 	libsqlite.so 	libsqlite.so@0x4fb4a 	
11 	libsqlite.so 	libsqlite.so@0x4b326 	
12 	libsqlite.so 	libsqlite.so@0x49b05 	
13 	libsqlite.so 	libsqlite.so@0x49b0a 	
14 	libsqlite.so 	libsqlite.so@0x4b32e 	
15 	libc.so 	libc.so@0x15ec5 	
16 	libsqlite.so 	libsqlite.so@0x50a26 	
17 	libsqlite.so 	libsqlite.so@0x23451 	
18 	libsqlite.so 	libsqlite.so@0x50a26 	
19 	libsqlite.so 	libsqlite.so@0x539b 	
20 	libsqlite.so 	libsqlite.so@0x50a26 	
21 	libsqlite.so 	libsqlite.so@0x55d5 	
22 	libsqlite.so 	libsqlite.so@0xc03b 	
23 	libsqlite.so 	libsqlite.so@0xced5 	
24 	libsqlite.so 	libsqlite.so@0xc8e5 	
25 	libsqlite.so 	libsqlite.so@0x343c1 	
26 	libsqlite.so 	libsqlite.so@0x46022
Summary: Crash on planet.mozilla.org when Sync is enabled → Crash [@ libsqlite.so@0x6bfc ] on planet.mozilla.org when Sync is enabled
*correction* build is the 28th verified from crash id
1) install 2/28/2012 fennec nightly build.  Setup sync successfully
2) load planet.mozilla.org
3) as page loads, verify fennec crashes
4) See crash stack and logcat
Component: Android Sync → General
Product: Mozilla Services → Fennec Native
QA Contact: android-sync → general
Version: unspecified → Trunk
blocking-fennec1.0: --- → ?
CC'ing our BrowserProvider friends
Whiteboard: [native-crash]
Well, these shouldn't be happening:


02-28 13:46:08.755: E/SQLiteDatabase(26618): Error inserting guid=places tags=[] position=0 folder=1 title= _id=2 created=1329240884768 description=null keyword=null parent=1 deleted=0 url=null modified=1329240884768
02-28 13:46:08.755: E/SQLiteDatabase(26618): android.database.sqlite.SQLiteConstraintException: error code 19: constraint failed
02-28 13:46:08.755: E/SQLiteDatabase(26618): 	at android.database.sqlite.SQLiteStatement.native_executeInsert(Native Method)
02-28 13:46:08.755: E/SQLiteDatabase(26618): 	at android.database.sqlite.SQLiteStatement.executeInsert(SQLiteStatement.java:113)
02-28 13:46:08.755: E/SQLiteDatabase(26618): 	at android.database.sqlite.SQLiteDatabase.insertWithOnConflict(SQLiteDatabase.java:1718)
02-28 13:46:08.755: E/SQLiteDatabase(26618): 	at android.database.sqlite.SQLiteDatabase.insert(SQLiteDatabase.java:1591)


02-28 13:46:44.404: E/SQLiteDatabase(26895): Error inserting guid=places tags=[] position=0 folder=1 title= _id=2 created=1329240884768 description=null keyword=null parent=1 deleted=0 url=null modified=1329240884768
02-28 13:46:44.404: E/SQLiteDatabase(26895): android.database.sqlite.SQLiteConstraintException: error code 19: constraint failed
02-28 13:46:44.404: E/SQLiteDatabase(26895): 	at android.database.sqlite.SQLiteStatement.native_executeInsert(Native Method)
02-28 13:46:44.404: E/SQLiteDatabase(26895): 	at android.database.sqlite.SQLiteStatement.executeInsert(SQLiteStatement.java:113)
02-28 13:46:44.404: E/SQLiteDatabase(26895): 	at android.database.sqlite.SQLiteDatabase.insertWithOnConflict(SQLiteDatabase.java:1718)
02-28 13:46:44.404: E/SQLiteDatabase(26895): 	at android.database.sqlite.SQLiteDatabase.insert(SQLiteDatabase.java:1591)
02-28 13:46:44.404: E/SQLiteDatabase(26895): 	at org.mozilla.fennec.db.BrowserProvider$DatabaseHelper.migrateBookmarkFolder(BrowserProvider.java:477)
02-28 13:46:44.404: E/SQLiteDatabase(26895): 	at org.mozilla.fennec.db.BrowserProvider$DatabaseHelper.migrateBookmarkFolder(BrowserProvider.java:507)
02-28 13:46:44.404: E/SQLiteDatabase(26895): 	at org.mozilla.fennec.db.BrowserProvider$DatabaseHelper.upgradeDatabaseFrom1to2(BrowserProvider.java:529)
02-28 13:46:44.404: E/SQLiteDatabase(26895): 	at org.mozilla.fennec.db.BrowserProvider$DatabaseHelper.onUpgrade(BrowserProvider.java:563)


Looks like perhaps the upgrade code isn't synchronized, or it's not taking enough care when inserting…

But the row that's being inserted looks suspect; its parent is the mobile folder, and that's not supposed to get added there. And so on.



... and then something in the favicon code isn't safe:

02-28 13:47:32.146: E/AndroidRuntime(26895): Caused by: android.database.sqlite.SQLiteConstraintException: error code 19: constraint failed
02-28 13:47:32.146: E/AndroidRuntime(26895): 	at android.database.sqlite.SQLiteStatement.native_executeInsert(Native Method)
02-28 13:47:32.146: E/AndroidRuntime(26895): 	at android.database.sqlite.SQLiteStatement.executeInsert(SQLiteStatement.java:113)
02-28 13:47:32.146: E/AndroidRuntime(26895): 	at android.database.sqlite.SQLiteDatabase.insertWithOnConflict(SQLiteDatabase.java:1718)
02-28 13:47:32.146: E/AndroidRuntime(26895): 	at android.database.sqlite.SQLiteDatabase.insertOrThrow(SQLiteDatabase.java:1617)
02-28 13:47:32.146: E/AndroidRuntime(26895): 	at org.mozilla.fennec.db.BrowserProvider.insertInTransaction(BrowserProvider.java:992)
02-28 13:47:32.146: E/AndroidRuntime(26895): 	at org.mozilla.fennec.db.BrowserProvider.insert(BrowserProvider.java:888)
02-28 13:47:32.146: E/AndroidRuntime(26895): 	at android.content.ContentProvider$Transport.insert(ContentProvider.java:189)
02-28 13:47:32.146: E/AndroidRuntime(26895): 	at android.content.ContentResolver.insert(ContentResolver.java:729)
02-28 13:47:32.146: E/AndroidRuntime(26895): 	at org.mozilla.gecko.db.LocalBrowserDB.updateFaviconForUrl(LocalBrowserDB.java:527)
02-28 13:47:32.146: E/AndroidRuntime(26895): 	at org.mozilla.gecko.db.BrowserDB.updateFaviconForUrl(BrowserDB.java:180)
02-28 13:47:32.146: E/AndroidRuntime(26895): 	at org.mozilla.gecko.Favicons$LoadFaviconTask.saveFaviconToDb(Favicons.java:261)
02-28 13:47:32.146: E/AndroidRuntime(26895): 	at org.mozilla.gecko.Favicons$LoadFaviconTask.downloadFavicon(Favicons.java:312)
02-28 13:47:32.146: E/AndroidRuntime(26895): 	at org.mozilla.gecko.Favicons$LoadFaviconTask.doInBackground(Favicons.java:368)
02-28 13:47:32.146: E/AndroidRuntime(26895): 	at org.mozilla.gecko.Favicons$LoadFaviconTask.doInBackground(Favicons.java:225)

Presumably there's an update-then-insert race happening there.

This is on lucasr.
Crash Signature: [@ libsqlite.so@0x6bfc]
Keywords: crash
Not a top crash, not blocking. Still good to fix though.
blocking-fennec1.0: ? → -
Priority: -- → P1
Moving to p3 because no activity for at least 24 weeks.
Priority: P1 → P3

Closing because no crashes reported for 12 weeks.

Status: NEW → RESOLVED
Closed: 5 years ago
Resolution: --- → WONTFIX
Product: Firefox for Android → Firefox for Android Graveyard
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: