"git checkout -b 4.8 -t branch-heads/4.8"

See https://github.com/v8/v8/wiki/Getting-Started-with-Embedding for more 
information.

On Wednesday, February 10, 2016 at 12:02:55 PM UTC+1, Danny Dorfman wrote:
>
> Hello Jakob,
>
> Thank you for the quick response. Can you please help me fetch the latest 
> *stable* release? (I can't seem to find the instructions in the V8 docs)
>
> D.
>
> On Wednesday, February 10, 2016 at 11:36:41 AM UTC+2, Jakob Kummerow wrote:
>>
>> Version "3.31" doesn't really exist. Yes we once created a branch of that 
>> name, but it was abandoned right after because it was in such a bad state 
>> that we gave up trying to stabilize it. It was never used in a Chrome 
>> stable channel release, which would have been your hint that it's ready for 
>> production.
>>
>> I'd guess that your string has nothing to do with the failure, it just so 
>> happens to be the allocation that triggers a GC round. Somehow spinning up 
>> the sweeper threads fails. If this were happening on the 4.8 or 4.9 branch, 
>> I'd investigate further... ;-)
>>
>> On Wed, Feb 10, 2016 at 9:59 AM, Danny Dorfman <wilder...@gmail.com> 
>> wrote:
>>
>>> Hello there,
>>>
>>> I am running with V8 3.31, the debug version, and I get this crash upon 
>>> allocating a large string:
>>>
>>> #0  0x00007f0a6b0efb4b in v8::base::OS::Abort () at 
>>> ../src/base/platform/platform-posix.cc:210
>>> 210  if (g_hard_abort) {
>>> (gdb) bt
>>> #0  0x00007f0a6b0efb4b in v8::base::OS::Abort () at 
>>> ../src/base/platform/platform-posix.cc:210
>>> #1  0x00007f0a6b0ec208 in V8_Fatal (file=0x7f0a6b3c0c28 
>>> ".././src/base/platform/mutex.h", line=77, format=0x7f0a6b0f0e38 
>>> "CHECK_EQ(%s, %s) failed\n#   Expected: %i\n#   Found: %i") at 
>>> ../src/base/logging.cc:87
>>> #2  0x00007f0a6aaa1b12 in CheckEqualsHelper (file=0x7f0a6b3c0c28 
>>> ".././src/base/platform/mutex.h", line=77, expected_source=0x7f0a6b3c0c26 
>>> "1", expected=1, value_source=0x7f0a6b3c0c1f "level_", value=2) at 
>>> .././src/base/logging.h:51
>>> #3  0x00007f0a6b0ed084 in v8::base::Mutex::AssertHeldAndUnmark 
>>> (this=0x7f0ad84971a0) at .././src/base/platform/mutex.h:77
>>> #4  0x00007f0a6b0ed934 in v8::base::Mutex::Unlock (this=0x7f0ad84971a0) 
>>> at ../src/base/platform/mutex.cc:134
>>> #5  0x00007f0a6ad57df2 in 
>>> v8::internal::MarkCompactCollector::StartSweeperThreads 
>>> (this=0x7f0ad872ac68) at ../src/heap/mark-compact.cc:461
>>> #6  0x00007f0a6ad625a2 in 
>>> v8::internal::MarkCompactCollector::SweepSpaces (this=0x7f0ad872ac68) at 
>>> ../src/heap/mark-compact.cc:4134
>>> #7  0x00007f0a6ad573de in 
>>> v8::internal::MarkCompactCollector::CollectGarbage (this=0x7f0ad872ac68) at 
>>> ../src/heap/mark-compact.cc:313
>>> #8  0x00007f0a6ad297ad in v8::internal::Heap::MarkCompact 
>>> (this=0x7f0ad8725d80) at ../src/heap/heap.cc:1205
>>> #9  0x00007f0a6ad29182 in v8::internal::Heap::PerformGarbageCollection 
>>> (this=0x7f0ad8725d80, collector=v8::internal::MARK_COMPACTOR, 
>>> gc_callback_flags=v8::kNoGCCallbackFlags) at ../src/heap/heap.cc:1095
>>> #10 0x00007f0a6ad2851c in v8::internal::Heap::CollectGarbage 
>>> (this=0x7f0ad8725d80, collector=v8::internal::MARK_COMPACTOR, 
>>> gc_reason=0x7f0a6b166db4 "last resort gc", collector_reason=0x0, 
>>> gc_callback_flags=v8::kNoGCCallbackFlags) at ./src/heap/heap.cc:843
>>> #11 0x00007f0a6ad2819c in v8::internal::Heap::CollectAllAvailableGarbage 
>>> (this=0x7f0ad8725d80, gc_reason=0x7f0a6b166db4 "last resort gc") at 
>>> ../src/heap/heap.cc:762
>>> #12 0x00007f0a6acc31ed in v8::internal::Factory::NewRawTwoByteString 
>>> (this=0x7f0ad8725d60, length=431158, pretenure=v8::internal::NOT_TENURED) 
>>> at ../src/factory.cc:385
>>> #13 0x00007f0a6acc0ff0 in v8::internal::Factory::NewStringFromUtf8 
>>> (this=0x7f0ad8725d60, string=..., pretenure=v8::internal::NOT_TENURED) at 
>>> ../src/factory.cc:247
>>> #14 0x00007f0a6aada0fa in v8::(anonymous namespace)::NewString 
>>> (factory=0x7f0ad8725d60, type=v8::String::kNormalString, string=...) at 
>>> ../src/api.cc:5452
>>> #15 0x00007f0a6aaeaad6 in v8::(anonymous namespace)::NewString<char> 
>>> (v8_isolate=0x7f0ad8725d60, location=0x7f0a6b0f8ed4 
>>> "v8::String::NewFromUtf8()", env=0x7f0a6b0f8ec0 "String::NewFromUtf8", 
>>>  data=0x7f0ad853f660 '/' <repeats 74 times>, "\n// xxxxxxxxx \n// ", '-' 
>>> <repeats 75 times>, "\n\n//"..., type=v8::String::kNormalString, 
>>> length=431185)  at ../src/api.cc:5496
>>> #16 0x00007f0a6aada20b in v8::String::NewFromUtf8 
>>> (isolate=0x7f0ad8725d60, data=0x7f0ad853f660 '/' <repeats 74 times>, 
>>> "\n// xxxxxxxxx \n// ", '-' <repeats 75 times>, "\n\n//"..., 
>>> type=v8::String::kNormalString, length=431185) at ../src/api.cc:5515
>>> - - - - - - 
>>>
>>> My code appears in the next frame, and says something like:
>>> v8::Local<v8::String> vSource = v8::String::NewFromUtf8(isolate, src, 
>>> v8::String::kNormalString, len);
>>>
>>> As you can see, the string is quite large (431185 bytes long). Any idea 
>>> why this is happening? What can I do about this?
>>>
>>> Regards,
>>> Danny
>>>
>>>
>>> -- 
>>> -- 
>>> v8-users mailing list
>>> v8-u...@googlegroups.com
>>> http://groups.google.com/group/v8-users
>>> --- 
>>> You received this message because you are subscribed to the Google 
>>> Groups "v8-users" group.
>>> To unsubscribe from this group and stop receiving emails from it, send 
>>> an email to v8-users+u...@googlegroups.com.
>>> For more options, visit https://groups.google.com/d/optout.
>>>
>>
>>

-- 
-- 
v8-users mailing list
v8-users@googlegroups.com
http://groups.google.com/group/v8-users
--- 
You received this message because you are subscribed to the Google Groups 
"v8-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to v8-users+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to