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 <wilderness...@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-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. > -- -- 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.