Re: [v8-users] Runtime crash on trying to create a half-meg string

2016-02-10 Thread Jakob Kummerow
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 
wrote:

> Hello there,
>
> I am running with V8 3.31, the debug version, and I get this crash upon
> allocating a large string:
>
> #0  0x7f0a6b0efb4b in v8::base::OS::Abort () at
> ../src/base/platform/platform-posix.cc:210
> 210  if (g_hard_abort) {
> (gdb) bt
> #0  0x7f0a6b0efb4b in v8::base::OS::Abort () at
> ../src/base/platform/platform-posix.cc:210
> #1  0x7f0a6b0ec208 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  0x7f0a6aaa1b12 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  0x7f0a6b0ed084 in v8::base::Mutex::AssertHeldAndUnmark
> (this=0x7f0ad84971a0) at .././src/base/platform/mutex.h:77
> #4  0x7f0a6b0ed934 in v8::base::Mutex::Unlock (this=0x7f0ad84971a0) at
> ../src/base/platform/mutex.cc:134
> #5  0x7f0a6ad57df2 in
> v8::internal::MarkCompactCollector::StartSweeperThreads
> (this=0x7f0ad872ac68) at ../src/heap/mark-compact.cc:461
> #6  0x7f0a6ad625a2 in v8::internal::MarkCompactCollector::SweepSpaces
> (this=0x7f0ad872ac68) at ../src/heap/mark-compact.cc:4134
> #7  0x7f0a6ad573de in
> v8::internal::MarkCompactCollector::CollectGarbage (this=0x7f0ad872ac68) at
> ../src/heap/mark-compact.cc:313
> #8  0x7f0a6ad297ad in v8::internal::Heap::MarkCompact
> (this=0x7f0ad8725d80) at ../src/heap/heap.cc:1205
> #9  0x7f0a6ad29182 in v8::internal::Heap::PerformGarbageCollection
> (this=0x7f0ad8725d80, collector=v8::internal::MARK_COMPACTOR,
> gc_callback_flags=v8::kNoGCCallbackFlags) at ../src/heap/heap.cc:1095
> #10 0x7f0a6ad2851c 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 0x7f0a6ad2819c in v8::internal::Heap::CollectAllAvailableGarbage
> (this=0x7f0ad8725d80, gc_reason=0x7f0a6b166db4 "last resort gc") at
> ../src/heap/heap.cc:762
> #12 0x7f0a6acc31ed in v8::internal::Factory::NewRawTwoByteString
> (this=0x7f0ad8725d60, length=431158, pretenure=v8::internal::NOT_TENURED)
> at ../src/factory.cc:385
> #13 0x7f0a6acc0ff0 in v8::internal::Factory::NewStringFromUtf8
> (this=0x7f0ad8725d60, string=..., pretenure=v8::internal::NOT_TENURED) at
> ../src/factory.cc:247
> #14 0x7f0a6aada0fa in v8::(anonymous namespace)::NewString
> (factory=0x7f0ad8725d60, type=v8::String::kNormalString, string=...) at
> ../src/api.cc:5452
> #15 0x7f0a6aaeaad6 in v8::(anonymous namespace)::NewString
> (v8_isolate=0x7f0ad8725d60, location=0x7f0a6b0f8ed4
> "v8::String::NewFromUtf8()", env=0x7f0a6b0f8ec0 "String::NewFromUtf8",
>  data=0x7f0ad853f660 '/' , "\n// x \n// ", '-'
> , "\n\n//"..., type=v8::String::kNormalString,
> length=431185)  at ../src/api.cc:5496
> #16 0x7f0a6aada20b in v8::String::NewFromUtf8 (isolate=0x7f0ad8725d60,
> data=0x7f0ad853f660 '/' , "\n// x \n// ", '-'
> , "\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 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, 

Re: [v8-users] Runtime crash on trying to create a half-meg string

2016-02-10 Thread Danny Dorfman
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  > wrote:
>
>> Hello there,
>>
>> I am running with V8 3.31, the debug version, and I get this crash upon 
>> allocating a large string:
>>
>> #0  0x7f0a6b0efb4b in v8::base::OS::Abort () at 
>> ../src/base/platform/platform-posix.cc:210
>> 210  if (g_hard_abort) {
>> (gdb) bt
>> #0  0x7f0a6b0efb4b in v8::base::OS::Abort () at 
>> ../src/base/platform/platform-posix.cc:210
>> #1  0x7f0a6b0ec208 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  0x7f0a6aaa1b12 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  0x7f0a6b0ed084 in v8::base::Mutex::AssertHeldAndUnmark 
>> (this=0x7f0ad84971a0) at .././src/base/platform/mutex.h:77
>> #4  0x7f0a6b0ed934 in v8::base::Mutex::Unlock (this=0x7f0ad84971a0) 
>> at ../src/base/platform/mutex.cc:134
>> #5  0x7f0a6ad57df2 in 
>> v8::internal::MarkCompactCollector::StartSweeperThreads 
>> (this=0x7f0ad872ac68) at ../src/heap/mark-compact.cc:461
>> #6  0x7f0a6ad625a2 in v8::internal::MarkCompactCollector::SweepSpaces 
>> (this=0x7f0ad872ac68) at ../src/heap/mark-compact.cc:4134
>> #7  0x7f0a6ad573de in 
>> v8::internal::MarkCompactCollector::CollectGarbage (this=0x7f0ad872ac68) at 
>> ../src/heap/mark-compact.cc:313
>> #8  0x7f0a6ad297ad in v8::internal::Heap::MarkCompact 
>> (this=0x7f0ad8725d80) at ../src/heap/heap.cc:1205
>> #9  0x7f0a6ad29182 in v8::internal::Heap::PerformGarbageCollection 
>> (this=0x7f0ad8725d80, collector=v8::internal::MARK_COMPACTOR, 
>> gc_callback_flags=v8::kNoGCCallbackFlags) at ../src/heap/heap.cc:1095
>> #10 0x7f0a6ad2851c 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 0x7f0a6ad2819c in v8::internal::Heap::CollectAllAvailableGarbage 
>> (this=0x7f0ad8725d80, gc_reason=0x7f0a6b166db4 "last resort gc") at 
>> ../src/heap/heap.cc:762
>> #12 0x7f0a6acc31ed in v8::internal::Factory::NewRawTwoByteString 
>> (this=0x7f0ad8725d60, length=431158, pretenure=v8::internal::NOT_TENURED) 
>> at ../src/factory.cc:385
>> #13 0x7f0a6acc0ff0 in v8::internal::Factory::NewStringFromUtf8 
>> (this=0x7f0ad8725d60, string=..., pretenure=v8::internal::NOT_TENURED) at 
>> ../src/factory.cc:247
>> #14 0x7f0a6aada0fa in v8::(anonymous namespace)::NewString 
>> (factory=0x7f0ad8725d60, type=v8::String::kNormalString, string=...) at 
>> ../src/api.cc:5452
>> #15 0x7f0a6aaeaad6 in v8::(anonymous namespace)::NewString 
>> (v8_isolate=0x7f0ad8725d60, location=0x7f0a6b0f8ed4 
>> "v8::String::NewFromUtf8()", env=0x7f0a6b0f8ec0 "String::NewFromUtf8", 
>>  data=0x7f0ad853f660 '/' , "\n// x \n// ", '-' 
>> , "\n\n//"..., type=v8::String::kNormalString, 
>> length=431185)  at ../src/api.cc:5496
>> #16 0x7f0a6aada20b in v8::String::NewFromUtf8 
>> (isolate=0x7f0ad8725d60, data=0x7f0ad853f660 '/' , 
>> "\n// x \n// ", '-' , "\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 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 .

Re: [v8-users] Runtime crash on trying to create a half-meg string

2016-02-10 Thread Michael Hablich
"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  
>> wrote:
>>
>>> Hello there,
>>>
>>> I am running with V8 3.31, the debug version, and I get this crash upon 
>>> allocating a large string:
>>>
>>> #0  0x7f0a6b0efb4b in v8::base::OS::Abort () at 
>>> ../src/base/platform/platform-posix.cc:210
>>> 210  if (g_hard_abort) {
>>> (gdb) bt
>>> #0  0x7f0a6b0efb4b in v8::base::OS::Abort () at 
>>> ../src/base/platform/platform-posix.cc:210
>>> #1  0x7f0a6b0ec208 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  0x7f0a6aaa1b12 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  0x7f0a6b0ed084 in v8::base::Mutex::AssertHeldAndUnmark 
>>> (this=0x7f0ad84971a0) at .././src/base/platform/mutex.h:77
>>> #4  0x7f0a6b0ed934 in v8::base::Mutex::Unlock (this=0x7f0ad84971a0) 
>>> at ../src/base/platform/mutex.cc:134
>>> #5  0x7f0a6ad57df2 in 
>>> v8::internal::MarkCompactCollector::StartSweeperThreads 
>>> (this=0x7f0ad872ac68) at ../src/heap/mark-compact.cc:461
>>> #6  0x7f0a6ad625a2 in 
>>> v8::internal::MarkCompactCollector::SweepSpaces (this=0x7f0ad872ac68) at 
>>> ../src/heap/mark-compact.cc:4134
>>> #7  0x7f0a6ad573de in 
>>> v8::internal::MarkCompactCollector::CollectGarbage (this=0x7f0ad872ac68) at 
>>> ../src/heap/mark-compact.cc:313
>>> #8  0x7f0a6ad297ad in v8::internal::Heap::MarkCompact 
>>> (this=0x7f0ad8725d80) at ../src/heap/heap.cc:1205
>>> #9  0x7f0a6ad29182 in v8::internal::Heap::PerformGarbageCollection 
>>> (this=0x7f0ad8725d80, collector=v8::internal::MARK_COMPACTOR, 
>>> gc_callback_flags=v8::kNoGCCallbackFlags) at ../src/heap/heap.cc:1095
>>> #10 0x7f0a6ad2851c 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 0x7f0a6ad2819c in v8::internal::Heap::CollectAllAvailableGarbage 
>>> (this=0x7f0ad8725d80, gc_reason=0x7f0a6b166db4 "last resort gc") at 
>>> ../src/heap/heap.cc:762
>>> #12 0x7f0a6acc31ed in v8::internal::Factory::NewRawTwoByteString 
>>> (this=0x7f0ad8725d60, length=431158, pretenure=v8::internal::NOT_TENURED) 
>>> at ../src/factory.cc:385
>>> #13 0x7f0a6acc0ff0 in v8::internal::Factory::NewStringFromUtf8 
>>> (this=0x7f0ad8725d60, string=..., pretenure=v8::internal::NOT_TENURED) at 
>>> ../src/factory.cc:247
>>> #14 0x7f0a6aada0fa in v8::(anonymous namespace)::NewString 
>>> (factory=0x7f0ad8725d60, type=v8::String::kNormalString, string=...) at 
>>> ../src/api.cc:5452
>>> #15 0x7f0a6aaeaad6 in v8::(anonymous namespace)::NewString 
>>> (v8_isolate=0x7f0ad8725d60, location=0x7f0a6b0f8ed4 
>>> "v8::String::NewFromUtf8()", env=0x7f0a6b0f8ec0 "String::NewFromUtf8", 
>>>  data=0x7f0ad853f660 '/' , "\n// x \n// ", '-' 
>>> , "\n\n//"..., type=v8::String::kNormalString, 
>>> length=431185)  at ../src/api.cc:5496
>>> #16 0x7f0a6aada20b in v8::String::NewFromUtf8 
>>> (isolate=0x7f0ad8725d60, data=0x7f0ad853f660 '/' , 
>>> "\n// x \n// ", '-' , "\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 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
>>>
>>>
>>> -- 
>>> -- 
>>> 

Re: [v8-users] Runtime crash on trying to create a half-meg string

2016-02-10 Thread Jakob Kummerow
Also,
https://github.com/v8/v8/wiki/Release-Process#which-version-should-i-embed-in-my-application
.

On Wed, Feb 10, 2016 at 12:52 PM, Michael Hablich 
wrote:

> "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 
>>> wrote:
>>>
 Hello there,

 I am running with V8 3.31, the debug version, and I get this crash upon
 allocating a large string:

 #0  0x7f0a6b0efb4b in v8::base::OS::Abort () at
 ../src/base/platform/platform-posix.cc:210
 210  if (g_hard_abort) {
 (gdb) bt
 #0  0x7f0a6b0efb4b in v8::base::OS::Abort () at
 ../src/base/platform/platform-posix.cc:210
 #1  0x7f0a6b0ec208 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  0x7f0a6aaa1b12 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  0x7f0a6b0ed084 in v8::base::Mutex::AssertHeldAndUnmark
 (this=0x7f0ad84971a0) at .././src/base/platform/mutex.h:77
 #4  0x7f0a6b0ed934 in v8::base::Mutex::Unlock (this=0x7f0ad84971a0)
 at ../src/base/platform/mutex.cc:134
 #5  0x7f0a6ad57df2 in
 v8::internal::MarkCompactCollector::StartSweeperThreads
 (this=0x7f0ad872ac68) at ../src/heap/mark-compact.cc:461
 #6  0x7f0a6ad625a2 in
 v8::internal::MarkCompactCollector::SweepSpaces (this=0x7f0ad872ac68) at
 ../src/heap/mark-compact.cc:4134
 #7  0x7f0a6ad573de in
 v8::internal::MarkCompactCollector::CollectGarbage (this=0x7f0ad872ac68) at
 ../src/heap/mark-compact.cc:313
 #8  0x7f0a6ad297ad in v8::internal::Heap::MarkCompact
 (this=0x7f0ad8725d80) at ../src/heap/heap.cc:1205
 #9  0x7f0a6ad29182 in v8::internal::Heap::PerformGarbageCollection
 (this=0x7f0ad8725d80, collector=v8::internal::MARK_COMPACTOR,
 gc_callback_flags=v8::kNoGCCallbackFlags) at ../src/heap/heap.cc:1095
 #10 0x7f0a6ad2851c 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 0x7f0a6ad2819c in
 v8::internal::Heap::CollectAllAvailableGarbage (this=0x7f0ad8725d80,
 gc_reason=0x7f0a6b166db4 "last resort gc") at ../src/heap/heap.cc:762
 #12 0x7f0a6acc31ed in v8::internal::Factory::NewRawTwoByteString
 (this=0x7f0ad8725d60, length=431158, pretenure=v8::internal::NOT_TENURED)
 at ../src/factory.cc:385
 #13 0x7f0a6acc0ff0 in v8::internal::Factory::NewStringFromUtf8
 (this=0x7f0ad8725d60, string=..., pretenure=v8::internal::NOT_TENURED) at
 ../src/factory.cc:247
 #14 0x7f0a6aada0fa in v8::(anonymous namespace)::NewString
 (factory=0x7f0ad8725d60, type=v8::String::kNormalString, string=...) at
 ../src/api.cc:5452
 #15 0x7f0a6aaeaad6 in v8::(anonymous namespace)::NewString
 (v8_isolate=0x7f0ad8725d60, location=0x7f0a6b0f8ed4
 "v8::String::NewFromUtf8()", env=0x7f0a6b0f8ec0 "String::NewFromUtf8",
  data=0x7f0ad853f660 '/' , "\n// x \n// ", '-'
 , "\n\n//"..., type=v8::String::kNormalString,
 length=431185)  at ../src/api.cc:5496
 #16 0x7f0a6aada20b in v8::String::NewFromUtf8
 (isolate=0x7f0ad8725d60, data=0x7f0ad853f660 '/' ,
 "\n// x \n// ", '-' , "\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 vSource = v8::String::NewFromUtf8(isolate,