Closed Bug 425104 Opened 17 years ago Closed 17 years ago

Assertion failure: !OBJ_GET_PROTO(cx, ctor), at jsapi.c:2219 trying to install greasemonkey XPI

Categories

(Core :: JavaScript Engine, defect, P2)

x86
FreeBSD
defect

Tracking

()

RESOLVED DUPLICATE of bug 352604

People

(Reporter: saper, Assigned: crowderbt)

References

()

Details

User-Agent: Mozilla/5.0 (X11; U; FreeBSD amd64; en-US; rv:1.8.1.12) Gecko/20080325 SeaMonkey/1.1.8 Build Identifier: Mozilla/5.0 (X11; U; FreeBSD amd64; en-US; rv:1.8.1.12) Gecko/20080325 SeaMonkey/1.1.8 running seamonkey -P test http://ftp.rz.tu-bs.de/pub/mirror/mozdev.org/xsidebar/mods/greasemonkey-0.7.2-mod.xpi (where "test" is a freshly created profile) makes seamonkey coredump with last log messages: WARNING: default.xpm not found, file nsWindow.cpp, line 3274 ++WEBSHELL == 4 ++DOMWINDOW == 9 ++DOMWINDOW == 10 --DOMWINDOW == 9 --DOMWINDOW == 8 Assertion failure: !OBJ_GET_PROTO(cx, ctor), at jsapi.c:2219 Abort trap (core dumped) Happens also when trying to pick the XPI from the local file system or another mozdev.org mirror. Reproducible: Always Steps to Reproduce: 1. Start seamonkey 1.1.8 with URL http://ftp.rz.tu-bs.de/pub/mirror/mozdev.org/xsidebar/mods/greasemonkey-0.7.2-mod.xpi 2. Confirm installation Actual Results: gdb backtrace: #0 0x000000080390ac9c in thr_kill () from /lib/libc.so.7 [New Thread 0x60ba40 (LWP 100204)] [New Thread 0x60b480 (LWP 100203)] [New Thread 0x60b310 (LWP 100174)] [New Thread 0x926290 (LWP 100200)] [New Thread 0x926120 (LWP 100173)] [New Thread 0x606570 (LWP 100129)] [New Thread 0x606290 (LWP 100065)] [New Thread 0x606120 (LWP 100062)] (gdb) bt #0 0x000000080390ac9c in thr_kill () from /lib/libc.so.7 #1 0x0000000807c1dd8c in nsProfileLock::FatalSignalHandler (signo=6) at nsProfileLock.cpp:206 #2 <signal handler called> #3 0x000000080390ac9c in thr_kill () from /lib/libc.so.7 #4 0x0000000803991b83 in abort () from /lib/libc.so.7 #5 0x0000000800a143d1 in JS_Assert (s=Variable "s" is not available. ) at jsutil.c:63 #6 0x0000000800989420 in JS_InitClass (cx=0x909800, obj=0x9b8990, parent_proto=0x9b8aa0, clasp=0x800b3c220, constructor=Variable "constructor" is not available. ) at jsapi.c:2219 #7 0x00000008009b6549 in js_InitFunctionClass (cx=0x909800, obj=0x9b8990) at jsfun.c:2086 #8 0x000000080098a999 in js_InitFunctionAndObjectClasses (cx=0x909800, obj=0x9b8990) at jsapi.c:1182 #9 0x000000080098ac96 in JS_InitStandardClasses (cx=0x909800, obj=0x9b8990) at jsapi.c:1226 #10 0x000000080a7d720d in RunInstallOnThread (data=Variable "data" is not available. ) at nsSoftwareUpdateRun.cpp:399 #11 0x0000000800b68660 in _pt_root () from /usr/local/lib/libplds4.so.1 #12 0x00000008037af479 in pthread_getprio () from /lib/libthr.so.3 #13 0x0000000000000000 in ?? () Cannot access memory at address 0x7ffffedf8000 (gdb) frame 6 #6 0x0000000800989420 in JS_InitClass (cx=0x909800, obj=0x9b8990, parent_proto=0x9b8aa0, clasp=0x800b3c220, constructor=Variable "constructor" is not available. ) at jsapi.c:2219 2219 JS_ASSERT(!OBJ_GET_PROTO(cx, ctor)); Current language: auto; currently c (gdb) list 2214 goto bad; 2215 } 2216 2217 /* Bootstrap Function.prototype (see also JS_InitStandardClasses). */ 2218 if (OBJ_GET_CLASS(cx, ctor) == clasp) { 2219 JS_ASSERT(!OBJ_GET_PROTO(cx, ctor)); 2220 OBJ_SET_PROTO(cx, ctor, proto); 2221 } 2222 } 2223 (gdb) print *ctor $1 = {map = 0x91edb0, slots = 0x9cc628} (gdb) print ctor->map $2 = (JSObjectMap *) 0x91edb0 (gdb) print *ctor->map $3 = {nrefs = 1, ops = 0x800b3db40, nslots = 9, freeslot = 7} (gdb) print *ctor->map->ops $4 = {newObjectMap = 0x8009e1f37 <js_NewObjectMap>, destroyObjectMap = 0x8009e1f29 <js_DestroyObjectMap>, lookupProperty = 0x8009de500 <js_LookupProperty>, defineProperty = 0x8009e0352 <js_DefineProperty>, getProperty = 0x8009df979 <js_GetProperty>, setProperty = 0x8009df1c1 <js_SetProperty>, getAttributes = 0x8009defe4 <js_GetAttributes>, setAttributes = 0x8009e04c4 <js_SetAttributes>, deleteProperty = 0x8009dead2 <js_DeleteProperty>, defaultValue = 0x8009dcf46 <js_DefaultValue>, enumerate = 0x8009dc955 <js_Enumerate>, checkAccess = 0x8009de519 <js_CheckAccess>, thisObject = 0, dropProperty = 0x8009db80d <js_DropProperty>, call = 0x8009dc754 <js_Call>, construct = 0x8009dc645 <js_Construct>, xdrObject = 0, hasInstance = 0x8009dc2f0 <js_HasInstance>, setProto = 0x8009e51a4 <js_SetProtoOrParent>, setParent = 0x8009e51a4 <js_SetProtoOrParent>, mark = 0x8009dbd83 <js_Mark>, clear = 0x8009dbb7e <js_Clear>, getRequiredSlot = 0x8009db7b2 <js_GetRequiredSlot>, setRequiredSlot = 0x8009db452 <js_SetRequiredSlot>} (gdb) print *ctor->slots $5 = 10193440 (gdb) print *ctor->slots $6 = 10193440 (gdb) print *proto $7 = {map = 0x91ed20, slots = 0x9cc678} (gdb) print *proto->map $8 = {nrefs = 1, ops = 0x800b3db40, nslots = 9, freeslot = 7} (gdb) print *proto->map->ops $9 = {newObjectMap = 0x8009e1f37 <js_NewObjectMap>, destroyObjectMap = 0x8009e1f29 <js_DestroyObjectMap>, lookupProperty = 0x8009de500 <js_LookupProperty>, defineProperty = 0x8009e0352 <js_DefineProperty>, getProperty = 0x8009df979 <js_GetProperty>, setProperty = 0x8009df1c1 <js_SetProperty>, getAttributes = 0x8009defe4 <js_GetAttributes>, setAttributes = 0x8009e04c4 <js_SetAttributes>, deleteProperty = 0x8009dead2 <js_DeleteProperty>, defaultValue = 0x8009dcf46 <js_DefaultValue>, enumerate = 0x8009dc955 <js_Enumerate>, checkAccess = 0x8009de519 <js_CheckAccess>, thisObject = 0, dropProperty = 0x8009db80d <js_DropProperty>, call = 0x8009dc754 <js_Call>, construct = 0x8009dc645 <js_Construct>, xdrObject = 0, hasInstance = 0x8009dc2f0 <js_HasInstance>, setProto = 0x8009e51a4 <js_SetProtoOrParent>, setParent = 0x8009e51a4 <js_SetProtoOrParent>, mark = 0x8009dbd83 <js_Mark>, clear = 0x8009dbb7e <js_Clear>, getRequiredSlot = 0x8009db7b2 <js_GetRequiredSlot>, setRequiredSlot = 0x8009db452 <js_SetRequiredSlot>} (gdb) print *proto->slots $10 = 10193568 Expected Results: XPI used to install with the previous build (1.1.7). Type Manifest File: /usr/local/lib/seamonkey/components/xpti.dat +++ JavaScript debugging hooks installed. nsNativeComponentLoader: autoregistering begins. nsNativeComponentLoader: autoregistering succeeded nsNativeComponentLoader: registering deferred (0) WARNING: NS_ENSURE_TRUE(NS_SUCCEEDED(rv)) failed, file mozJSComponentLoader.cpp, line 1505 WARNING: Cannot create startup observer : @greasemonkey.mozdev.org/greasemonkey-service;1, file nsAppStartupNotifier.cpp, line 112 WARNING: NS_ENSURE_TRUE(NS_SUCCEEDED(rv)) failed, file Core.cpp, line 304 GFX: dpi=96 t2p=0,0666667 p2t=15 depth=24 WARNING: default.xpm not found, file nsWindow.cpp, line 3274 ++WEBSHELL == 1 WARNING: NS_ENSURE_TRUE(NS_SUCCEEDED(rv)) failed, file mozJSComponentLoader.cpp, line 1505 WARNING: NS_ENSURE_TRUE(NS_SUCCEEDED(rv)) failed, file nsPermissionManager.cpp, line 632 ++DOMWINDOW == 1 WARNING: default.xpm not found, file nsWindow.cpp, line 3274 ++WEBSHELL == 2 ++DOMWINDOW == 2 WARNING: NS_ENSURE_TRUE(aRequestingContext) failed, file nsMsgContentPolicy.cpp, line 534 WARNING: NS_ENSURE_TRUE(NS_SUCCEEDED(rv)) failed, file nsMsgContentPolicy.cpp, line 238 WARNING: NS_ENSURE_TRUE(aRequestingContext) failed, file nsMsgContentPolicy.cpp, line 534 WARNING: NS_ENSURE_TRUE(NS_SUCCEEDED(rv)) failed, file nsMsgContentPolicy.cpp, line 238 WARNING: NS_ENSURE_TRUE(aRequestingContext) failed, file nsMsgContentPolicy.cpp, line 534 WARNING: NS_ENSURE_TRUE(NS_SUCCEEDED(rv)) failed, file nsMsgContentPolicy.cpp, line 238 WARNING: NS_ENSURE_TRUE(aRequestingContext) failed, file nsMsgContentPolicy.cpp, line 534 WARNING: NS_ENSURE_TRUE(NS_SUCCEEDED(rv)) failed, file nsMsgContentPolicy.cpp, line 238 ++DOMWINDOW == 3 ++DOMWINDOW == 4 Note: styleverifytree is disabled Note: frameverifytree is disabled Note: verifyreflow is disabled WARNING: NS_ENSURE_TRUE(NS_SUCCEEDED(rv)) failed, file nsMsgContentPolicy.cpp, line 539 WARNING: NS_ENSURE_TRUE(NS_SUCCEEDED(rv)) failed, file nsMsgContentPolicy.cpp, line 238 WARNING: NS_ENSURE_TRUE(NS_SUCCEEDED(rv)) failed, file nsMsgContentPolicy.cpp, line 539 WARNING: NS_ENSURE_TRUE(NS_SUCCEEDED(rv)) failed, file nsMsgContentPolicy.cpp, line 238 WARNING: NS_ENSURE_TRUE(NS_SUCCEEDED(rv)) failed, file nsMsgContentPolicy.cpp, line 539 WARNING: NS_ENSURE_TRUE(NS_SUCCEEDED(rv)) failed, file nsMsgContentPolicy.cpp, line 238 WARNING: NS_ENSURE_TRUE(NS_SUCCEEDED(rv)) failed, file nsMsgContentPolicy.cpp, line 539 WARNING: NS_ENSURE_TRUE(NS_SUCCEEDED(rv)) failed, file nsMsgContentPolicy.cpp, line 238 WARNING: NS_ENSURE_TRUE(NS_SUCCEEDED(rv)) failed, file nsMsgContentPolicy.cpp, line 539 WARNING: NS_ENSURE_TRUE(NS_SUCCEEDED(rv)) failed, file nsMsgContentPolicy.cpp, line 238 WARNING: NS_ENSURE_TRUE(NS_SUCCEEDED(rv)) failed, file nsMsgContentPolicy.cpp, line 539 WARNING: NS_ENSURE_TRUE(NS_SUCCEEDED(rv)) failed, file nsMsgContentPolicy.cpp, line 238 WARNING: NS_ENSURE_TRUE(NS_SUCCEEDED(rv)) failed, file nsMsgContentPolicy.cpp, line 539 WARNING: NS_ENSURE_TRUE(NS_SUCCEEDED(rv)) failed, file nsMsgContentPolicy.cpp, line 238 WARNING: NS_ENSURE_TRUE(NS_SUCCEEDED(rv)) failed, file nsMsgContentPolicy.cpp, line 539 WARNING: NS_ENSURE_TRUE(NS_SUCCEEDED(rv)) failed, file nsMsgContentPolicy.cpp, line 238 WARNING: NS_ENSURE_TRUE(NS_SUCCEEDED(rv)) failed, file nsMsgContentPolicy.cpp, line 539 WARNING: NS_ENSURE_TRUE(NS_SUCCEEDED(rv)) failed, file nsMsgContentPolicy.cpp, line 238 WARNING: NS_ENSURE_TRUE(NS_SUCCEEDED(rv)) failed, file nsMsgContentPolicy.cpp, line 539 WARNING: NS_ENSURE_TRUE(NS_SUCCEEDED(rv)) failed, file nsMsgContentPolicy.cpp, line 238 WARNING: NS_ENSURE_TRUE(NS_SUCCEEDED(rv)) failed, file nsMsgContentPolicy.cpp, line 539 WARNING: NS_ENSURE_TRUE(NS_SUCCEEDED(rv)) failed, file nsMsgContentPolicy.cpp, line 238 WARNING: NS_ENSURE_TRUE(NS_SUCCEEDED(rv)) failed, file nsMsgContentPolicy.cpp, line 539 WARNING: NS_ENSURE_TRUE(NS_SUCCEEDED(rv)) failed, file nsMsgContentPolicy.cpp, line 238 ++WEBSHELL == 3 ++DOMWINDOW == 5 ++DOMWINDOW == 6 WARNING: NS_ENSURE_TRUE(NS_SUCCEEDED(rv)) failed, file nsBookmarksService.cpp, line 595 WARNING: NS_ENSURE_TRUE(mInputStream) failed, file nsBookmarksService.cpp, line 895 LoadPlugin() /usr/local/lib/browser_plugins/mplayerplug-in-dvx.so returned 14477d0 GetMIMEDescription() returned "" LoadPlugin() /usr/local/lib/seamonkey/plugins/libnullplugin.so returned 14ad050 GetMIMEDescription() returned "" LoadPlugin() /usr/local/lib/seamonkey/plugins/libunixprintplugin.so returned 14c1980 GetMIMEDescription() returned "" LoadPlugin() /usr/local/lib/browser_plugins/mplayerplug-in-dvx.so returned 14477d0 GetMIMEDescription() returned "" LoadPlugin() /usr/local/lib/seamonkey/plugins/libnullplugin.so returned 14ad050 GetMIMEDescription() returned "" LoadPlugin() /usr/local/lib/seamonkey/plugins/libunixprintplugin.so returned 14c1980 GetMIMEDescription() returned "" Error loading URL http://ftp.rz.tu-bs.de/pub/mirror/mozdev.org/xsidebar/mods/greasemonkey-0.7.2-mod.xpi : 804b0002 WARNING: default.xpm not found, file nsWindow.cpp, line 3274 ++WEBSHELL == 4 ++DOMWINDOW == 7 ++DOMWINDOW == 8 WARNING: NS_ENSURE_TRUE(NS_SUCCEEDED(rv)) failed, file nsMsgContentPolicy.cpp, line 539 WARNING: NS_ENSURE_TRUE(NS_SUCCEEDED(rv)) failed, file nsMsgContentPolicy.cpp, line 238 --WEBSHELL == 3 WARNING: default.xpm not found, file nsWindow.cpp, line 3274 ++WEBSHELL == 4 ++DOMWINDOW == 9 ++DOMWINDOW == 10 --DOMWINDOW == 9 --DOMWINDOW == 8 Assertion failure: !OBJ_GET_PROTO(cx, ctor), at jsapi.c:2219 Abort trap (core dumped)
ccing people who might be interested and asking for blocking.
Flags: blocking1.9?
See also bug 352604, bug 386680, and bug 425104 -- there may be others, query for "ctor" in the summary. Is this a dup? Are others among those bugs dups? /be
Whiteboard: DUPEME
Flags: blocking1.9? → blocking1.9+
Priority: -- → P2
Assignee: general → crowder
Status: UNCONFIRMED → NEW
Ever confirmed: true
Based on the great info from comment 1, this is definitely a dupe of bug 352604 (re-initing Function and Object classes to hit this assertion).
Status: NEW → RESOLVED
Closed: 17 years ago
Resolution: --- → DUPLICATE
I can't reproduce this even with my debug build of seamonkey from today.
Whiteboard: DUPEME
You need to log in before you can comment on or make changes to this bug.