"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.