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)
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)
Assignee | ||
Comment 1•17 years ago
|
||
ccing people who might be interested and asking for blocking.
Flags: blocking1.9?
Comment 2•17 years ago
|
||
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
Updated•17 years ago
|
Flags: blocking1.9? → blocking1.9+
Priority: -- → P2
Assignee | ||
Updated•17 years ago
|
Assignee: general → crowder
Status: UNCONFIRMED → NEW
Ever confirmed: true
Assignee | ||
Comment 3•17 years ago
|
||
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
Assignee | ||
Comment 4•17 years ago
|
||
I can't reproduce this even with my debug build of seamonkey from today.
You need to log in
before you can comment on or make changes to this bug.
Description
•