Closed
Bug 547086
Opened 15 years ago
Closed 15 years ago
js_TryMethod suppresses "too much recursion" exception, going in circles indefinitely
Categories
(Core :: JavaScript Engine, defect)
Tracking
()
RESOLVED
FIXED
People
(Reporter: gal, Assigned: gal)
References
Details
(Whiteboard: fixed-in-tracemonkey)
Attachments
(1 file)
817 bytes,
patch
|
mrbkap
:
review+
|
Details | Diff | Splinter Review |
No description provided.
Assignee | ||
Updated•15 years ago
|
Blocks: harmony:proxies
Assignee | ||
Comment 1•15 years ago
|
||
Assignee: general → gal
Assignee | ||
Updated•15 years ago
|
Attachment #427657 -
Flags: review?(mrbkap)
Updated•15 years ago
|
Attachment #427657 -
Flags: review?(mrbkap) → review+
Assignee | ||
Comment 2•15 years ago
|
||
Whiteboard: fixed-in-tracemonkey
Comment 3•15 years ago
|
||
from tracemonkey tinderbox with this checkin:
begin test: ecma/GlobalObject/15.1-2-n.js
15.1-2-n The Global Object
TEST-UNEXPECTED-FAIL | automation.py | Exited with code 11 during test run
INFO | automation.py | Application ran for: 0:02:10.836400
INFO | automation.py | Reading PID log: /tmp/tmptvYAC5pidlog
PROCESS-CRASH | automation.py | application crashed (minidump found)
Operating system: Linux
0.0.0 Linux 2.6.18-53.1.19.el5 #1 SMP Wed May 7 08:20:19 EDT 2008 i686
CPU: x86
GenuineIntel family 6 model 23 stepping 8
1 CPU
Crash reason: SIGSEGV
Crash address: 0xc
Thread 0 (crashed)
0 libmozjs.so!js_ComputeThis [jsapi.h:10a40c748aed : 177 + 0x0]
eip = 0x00180372 esp = 0xbfa299f4 ebp = 0xbfa29a3c ebx = 0x002773dc
esi = 0xb2ee2c00 edi = 0xad5ee068 eax = 0x00000000 ecx = 0x00000000
edx = 0x00000001 efl = 0x00010246
Found by: given as instruction pointer in context
1 libmozjs.so!js_Invoke [jsinterp.cpp:10a40c748aed : 1217 + 0x1c]
eip = 0x0018074d esp = 0xbfa29a44 ebp = 0xbfa29b1c
Found by: previous frame's frame pointer
2 libmozjs.so!js_Interpret [jsops.cpp:10a40c748aed : 2303 + 0x20]
eip = 0x00171649 esp = 0xbfa29b24 ebp = 0xbfa29dfc
Found by: previous frame's frame pointer
3 libmozjs.so!js_Execute [jsinterp.cpp:10a40c748aed : 1665 + 0xa]
eip = 0x0017fe72 esp = 0xbfa29e04 ebp = 0xbfa29ebc
Found by: previous frame's frame pointer
Comment 4•15 years ago
|
||
sayrer backed this out in http://hg.mozilla.org/tracemonkey/rev/767ed57a7bbd at my urging but this is still crashing. It didn't crash in the check in prior to http://hg.mozilla.org/tracemonkey/rev/10a40c748aed however. I'll bisect and report back.
Comment 5•15 years ago
|
||
I fingered the wrong patch.
regression changeset: 38099:a4df44da864c user: Andreas Gal <gal@mozilla.com> date: Fri Feb 19 17:31:44 2010 -0800 summary: Remove LiveConnect kludge from call path (1.9.3 will not have LiveConnect according to jst, r=brendan).
Assignee | ||
Comment 6•15 years ago
|
||
Working on it.
Assignee | ||
Comment 7•15 years ago
|
||
With current TM tip (shell). Trying xpcshell next.
whale:tests gal$ ./jsDriver.pl -f /dev/stdout -e smdebug -s ../Darwin_DBG.OBJ/js -l ecma/GlobalObject/15.1-2-n.js
-#- Executing 1 test(s).
<html><head>
<title>Test results, smdebug</title>
</head>
<body bgcolor='white'>
<a name='tippy_top'></a>
<h2>Test results, smdebug</h2><br>
<p class='results_summary'>
Test List: ecma/GlobalObject/15.1-2-n.js<br>
Skip List: (none)<br>
1 test(s) selected, 1 test(s) completed, 0 failures reported (0% failed)<br>
Engine command line: ../Darwin_DBG.OBJ/js <br>
OS type: Darwin whale.local 10.2.0 Darwin Kernel Version 10.2.0: Tue Nov 3 10:37:10 PST 2009; root:xnu-1486.2.11~1/RELEASE_I386 i386<br>
Testcase execution time: 0 seconds.<br>
Tests completed on Sat Feb 20 11:34:59 2010.<br><br>
<h1>Whoop-de-doo, nothing failed!</h1>
</body>-#- Wrote results to '/dev/stdout'.
whale:tests gal$
Comment 8•15 years ago
|
||
try firefox ./jsreftest.html?test=ecma/GlobalObject/15.1-2-n.js from the js/src/tests dir.
Assignee | ||
Comment 9•15 years ago
|
||
The above command line doesn't find the file.
If I specify a full path, a dialog asks for special permissions. If I click on ok, a small dialog box appears with no text and two buttons without labels. Its modal and neither button is active.
Can you give me the precise command line and path how I can run the test in the browser?
Comment 10•15 years ago
|
||
Worth putting back this bug's patch and backing out the real regressor's patch?
/be
Comment 11•15 years ago
|
||
yeah, I'll reland it.
Assignee | ||
Comment 12•15 years ago
|
||
I found the problem. I need mrbkap for the review though. I will see if Brendan can help.
Comment 13•15 years ago
|
||
python firefox-debug/_tests/reftest/runreftest.py --debugger=gdb --extra-profile-file=js/src/tests/user.js js/src/tests/ecma/GlobalObject/jstests.list
the command line in comment 8 will work if you copy the js/src/tests/user.js to your profile.
Assignee | ||
Comment 14•15 years ago
|
||
Assignee | ||
Comment 15•15 years ago
|
||
njn reported this:
s: win32-slave56REFTEST TEST-UNEXPECTED-PASS
file:///e:/builds/moz2_slave/tracemonkey-win32-debug-unittest-jsreftest/build/jsreftest/tests/jsreftest.html?test=js1_5/extensions/regress-322957.js
| TryMethod should not eat getter exceptions item 1
Assignee | ||
Comment 16•15 years ago
|
||
Igor wrote the original test. It was set to expected-fail. It passes now since we fixed the bug. It makes me wonder why we never fixed this before though. Igor?
Comment 18•15 years ago
|
||
(In reply to comment #16)
> Igor wrote the original test. It was set to expected-fail. It passes now since
> we fixed the bug. It makes me wonder why we never fixed this before though.
IIRC there was some compatibility worries as TryMethod was supposed to just query if method exists, it was not expected to throw exceptions. But that is not true any longer and we should fix the suite to require the test to pass.
Assignee | ||
Comment 19•15 years ago
|
||
I am wondering whether this is also related to this bug:
TEST-UNEXPECTED-FAIL | /builds/slave/tracemonkey-linux-opt-unittest-xpcshell/build/xpcshell/tests/test_places/queries/test_tags.js | test failed (with xpcshell return code: 0), see following log:
>>>>>>>
TEST-INFO | (xpcshell/head.js) | test 1 pending
TEST-PASS | /builds/slave/tracemonkey-linux-opt-unittest-xpcshell/build/xpcshell/tests/test_places/queries/head_queries.js | [check_no_bookmarks : 501] 0 == 0
Running test: Tags getter/setter should work correctly
Without setting tags, tags getter should return empty array
Comment 20•15 years ago
|
||
Status: NEW → RESOLVED
Closed: 15 years ago
Resolution: --- → FIXED
Updated•15 years ago
|
Flags: in-testsuite+
You need to log in
before you can comment on or make changes to this bug.
Description
•