Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Automated building fails since 2.12 #3878

Closed
benjaminclot opened this issue Jun 4, 2019 · 13 comments
Closed

Automated building fails since 2.12 #3878

benjaminclot opened this issue Jun 4, 2019 · 13 comments
Assignees
Labels
pinned won't be closed by stalebot

Comments

@benjaminclot
Copy link
Contributor

benjaminclot commented Jun 4, 2019

Type of issue

Since Prebid 2.12, our automated building process has been failing. It runs on a GitLab worker with a Docker node:latest image.

Description

The culprit is the fibers module:

> fibers@3.1.1 install /builds/b.clot/build-and-deploy/Prebid.js/node_modules/fibers
> node build.js || nodejs build.js

make: Entering directory '/builds/b.clot/build-and-deploy/Prebid.js/node_modules/fibers/build'
  CXX(target) Release/obj.target/fibers/src/fibers.o
../src/fibers.cc:68:2: error: 'Handle' does not name a type
  Handle<String> NewLatin1String(Isolate* isolate, const char* string) {
  ^~~~~~
../src/fibers.cc:72:2: error: 'Handle' does not name a type
  Handle<String> NewLatin1Symbol(Isolate* isolate, const char* string) {
  ^~~~~~
../src/fibers.cc:94:2: error: 'Handle' does not name a type
  Handle<Object> NewInstance(Isolate* isolate, Local<Function> fn, int argc, Local<Value> argv[]) {
  ^~~~~~
../src/fibers.cc:104:2: error: 'Handle' does not name a type
  Handle<Number> ToNumber(Local<Value> value) {
  ^~~~~~
../src/fibers.cc:114:50: error: 'Handle' has not been declared
  Local<Value> GetStackTrace(TryCatch* try_catch, Handle<Context> context) {
                                                  ^~~~~~
../src/fibers.cc:114:56: error: expected ',' or '...' before '<' token
  Local<Value> GetStackTrace(TryCatch* try_catch, Handle<Context> context) {
                                                        ^
../src/fibers.cc: In function 'v8::Local<v8::Value> uni::GetStackTrace(uni::TryCatch*, int)':
../src/fibers.cc:115:32: error: 'context' was not declared in this scope
   return try_catch->StackTrace(context).ToLocalChecked();
                                ^~~~~~~
../src/fibers.cc: At global scope:
../src/fibers.cc:127:39: error: 'Handle' has not been declared
  void fixStackLimit(Isolate* isolate, Handle<Context> context) {
                                       ^~~~~~
../src/fibers.cc:127:45: error: expected ',' or '...' before '<' token
  void fixStackLimit(Isolate* isolate, Handle<Context> context) {
                                             ^
../src/fibers.cc: In function 'void uni::fixStackLimit(v8::Isolate*, int)':
../src/fibers.cc:128:19: error: 'context' was not declared in this scope
   Script::Compile(context, uni::NewLatin1String(isolate, "void 0;")).ToLocalChecked();
                   ^~~~~~~
../src/fibers.cc:128:28: error: 'NewLatin1String' is not a member of 'uni'
   Script::Compile(context, uni::NewLatin1String(isolate, "void 0;")).ToLocalChecked();
                            ^~~
../src/fibers.cc: At global scope:
../src/fibers.cc:149:58: error: 'Handle' has not been declared
  void Reset(Isolate* isolate, Persistent<T>& persistent, Handle<T> handle) {
                                                          ^~~~~~
../src/fibers.cc:149:64: error: expected ',' or '...' before '<' token
  void Reset(Isolate* isolate, Persistent<T>& persistent, Handle<T> handle) {
                                                                ^
../src/fibers.cc: In function 'void uni::Reset(v8::Isolate*, v8::Persistent<T, v8::NonCopyablePersistentTraits<T> >&, int)':
../src/fibers.cc:150:29: error: 'handle' was not declared in this scope
   persistent.Reset(isolate, handle);
                             ^~~~~~
../src/fibers.cc: At global scope:
../src/fibers.cc:162:26: error: variable or field 'SetInternalPointer' declared void
  void SetInternalPointer(Handle<T> handle, int index, void* val) {
                          ^~~~~~
../src/fibers.cc:162:26: error: 'Handle' was not declared in this scope
../src/fibers.cc:162:34: error: expected primary-expression before '>' token
  void SetInternalPointer(Handle<T> handle, int index, void* val) {
                                  ^
../src/fibers.cc:162:36: error: 'handle' was not declared in this scope
  void SetInternalPointer(Handle<T> handle, int index, void* val) {
                                    ^~~~~~
../src/fibers.cc:162:44: error: expected primary-expression before 'int'
  void SetInternalPointer(Handle<T> handle, int index, void* val) {
                                            ^~~
../src/fibers.cc:162:55: error: expected primary-expression before 'void'
  void SetInternalPointer(Handle<T> handle, int index, void* val) {
                                                       ^~~~
../src/fibers.cc:166:27: error: 'Handle' was not declared in this scope
  void* GetInternalPointer(Handle<T> handle, int index) {
                           ^~~~~~
../src/fibers.cc:166:35: error: expected primary-expression before '>' token
  void* GetInternalPointer(Handle<T> handle, int index) {
                                   ^
../src/fibers.cc:166:37: error: 'handle' was not declared in this scope
  void* GetInternalPointer(Handle<T> handle, int index) {
                                     ^~~~~~
../src/fibers.cc:166:45: error: expected primary-expression before 'int'
  void* GetInternalPointer(Handle<T> handle, int index) {
                                             ^~~
../src/fibers.cc:166:54: error: expression list treated as compound expression in initializer [-fpermissive]
  void* GetInternalPointer(Handle<T> handle, int index) {
                                                      ^
../src/fibers.cc:166:56: error: expected ';' before '{' token
  void* GetInternalPointer(Handle<T> handle, int index) {
                                                        ^
../src/fibers.cc:171:2: error: 'Handle' does not name a type
  Handle<T> Deref(Isolate* isolate, Persistent<T>& handle) {
  ^~~~~~
../src/fibers.cc:176:14: error: variable or field 'Return' declared void
  void Return(Handle<T> handle, const Arguments& args) {
              ^~~~~~
../src/fibers.cc:176:14: error: 'Handle' was not declared in this scope
../src/fibers.cc:176:22: error: expected primary-expression before '>' token
  void Return(Handle<T> handle, const Arguments& args) {
                      ^
../src/fibers.cc:176:24: error: 'handle' was not declared in this scope
  void Return(Handle<T> handle, const Arguments& args) {
                        ^~~~~~
../src/fibers.cc:176:32: error: expected primary-expression before 'const'
  void Return(Handle<T> handle, const Arguments& args) {
                                ^~~~~
../src/fibers.cc:180:14: error: variable or field 'Return' declared void
  void Return(Handle<T> handle, GetterCallbackInfo info) {
              ^~~~~~
../src/fibers.cc:180:14: error: 'Handle' was not declared in this scope
../src/fibers.cc:180:22: error: expected primary-expression before '>' token
  void Return(Handle<T> handle, GetterCallbackInfo info) {
                      ^
../src/fibers.cc:180:24: error: 'handle' was not declared in this scope
  void Return(Handle<T> handle, GetterCallbackInfo info) {
                        ^~~~~~
../src/fibers.cc:180:51: error: expected primary-expression before 'info'
  void Return(Handle<T> handle, GetterCallbackInfo info) {
                                                   ^~~~
../src/fibers.cc:188:2: error: 'Handle' does not name a type
  Handle<Value> ThrowException(Isolate* isolate, Handle<Value> exception) {
  ^~~~~~
../src/fibers.cc:192:2: error: 'Handle' does not name a type
  Handle<Context> GetCurrentContext(Isolate* isolate) {
  ^~~~~~
../src/fibers.cc:196:2: error: 'Handle' does not name a type
  Handle<Primitive> Undefined(Isolate* isolate) {
  ^~~~~~
../src/fibers.cc:200:2: error: 'Handle' does not name a type
  Handle<Boolean> NewBoolean(Isolate* isolate, bool value) {
  ^~~~~~
../src/fibers.cc:204:2: error: 'Handle' does not name a type
  Handle<Number> NewNumber(Isolate* isolate, double value) {
  ^~~~~~
../src/fibers.cc:208:2: error: 'Handle' does not name a type
  Handle<FunctionTemplate> NewFunctionTemplate(
  ^~~~~~
../src/fibers.cc:218:2: error: 'Handle' does not name a type
  Handle<Signature> NewSignature(
  ^~~~~~
../src/fibers.cc:408:17: error: expected ';' at end of member declaration
   static Fiber& Unwrap(Handle<Object> handle) {
                 ^~~~~~
../src/fibers.cc:408:30: error: expected ')' before '<' token
   static Fiber& Unwrap(Handle<Object> handle) {
                              ^
../src/fibers.cc:414:15: error: expected ')' before '<' token
   Fiber(Handle<Object> handle, Handle<Function> cb, Handle<Context> v8_context) :
               ^
../src/fibers.cc:680:3: error: 'Handle' does not name a type
   Handle<Value> ReturnYielded() {
   ^~~~~~
../src/fibers.cc:842:20: error: 'Handle' has not been declared
   static void Init(Handle<Object> target) {
                    ^~~~~~
../src/fibers.cc:842:26: error: expected ',' or '...' before '<' token
   static void Init(Handle<Object> target) {
                          ^
In file included from ../src/fibers.cc:3:0:
../src/fibers.cc: In static member function 'static void Fiber::WeakCallback(void*)':
../src/fibers.cc:458:23: error: 'class v8::Persistent<v8::Object>' has no member named 'IsNearDeath'
    assert(that.handle.IsNearDeath());
                       ^
../src/fibers.cc: In static member function 'static void Fiber::DestroyOrphans()':
../src/fibers.cc:495:17: error: 'Deref' is not a member of 'uni'
      auto stack(uni::Deref(that.isolate, fatal_stack));
                 ^~~
../src/fibers.cc: In static member function 'static uni::FunctionType Fiber::New(const Arguments&)':
../src/fibers.cc:10:40: error: 'ThrowException' is not a member of 'uni'
 #define THROW(x, m) return uni::Return(uni::ThrowException(Isolate::GetCurrent(), x(uni::NewLatin1String(Isolate::GetCurrent(), m))), args)
                                        ^
../src/fibers.cc:517:5: note: in expansion of macro 'THROW'
     THROW(Exception::TypeError, "Fiber expects 1 argument");
     ^~~~~
../src/fibers.cc:10:85: error: 'NewLatin1String' is not a member of 'uni'
 #define THROW(x, m) return uni::Return(uni::ThrowException(Isolate::GetCurrent(), x(uni::NewLatin1String(Isolate::GetCurrent(), m))), args)
                                                                                     ^
../src/fibers.cc:517:5: note: in expansion of macro 'THROW'
     THROW(Exception::TypeError, "Fiber expects 1 argument");
     ^~~~~
../src/fibers.cc:10:139: error: return-statement with a value, in function returning 'void' [-fpermissive]
 #define THROW(x, m) return uni::Return(uni::ThrowException(Isolate::GetCurrent(), x(uni::NewLatin1String(Isolate::GetCurrent(), m))), args)
                                                                                                                                           ^
../src/fibers.cc:517:5: note: in expansion of macro 'THROW'
     THROW(Exception::TypeError, "Fiber expects 1 argument");
     ^~~~~
../src/fibers.cc:10:40: error: 'ThrowException' is not a member of 'uni'
 #define THROW(x, m) return uni::Return(uni::ThrowException(Isolate::GetCurrent(), x(uni::NewLatin1String(Isolate::GetCurrent(), m))), args)
                                        ^
../src/fibers.cc:519:5: note: in expansion of macro 'THROW'
     THROW(Exception::TypeError, "Fiber expects a function");
     ^~~~~
../src/fibers.cc:10:85: error: 'NewLatin1String' is not a member of 'uni'
 #define THROW(x, m) return uni::Return(uni::ThrowException(Isolate::GetCurrent(), x(uni::NewLatin1String(Isolate::GetCurrent(), m))), args)
                                                                                     ^
../src/fibers.cc:519:5: note: in expansion of macro 'THROW'
     THROW(Exception::TypeError, "Fiber expects a function");
     ^~~~~
../src/fibers.cc:10:139: error: return-statement with a value, in function returning 'void' [-fpermissive]
 #define THROW(x, m) return uni::Return(uni::ThrowException(Isolate::GetCurrent(), x(uni::NewLatin1String(Isolate::GetCurrent(), m))), args)
                                                                                                                                           ^
../src/fibers.cc:519:5: note: in expansion of macro 'THROW'
     THROW(Exception::TypeError, "Fiber expects a function");
     ^~~~~
../src/fibers.cc:521:5: error: 'Handle' was not declared in this scope
     Handle<Value> argv[1] = { args[0] };
     ^~~~~~
../src/fibers.cc:521:17: error: expected primary-expression before '>' token
     Handle<Value> argv[1] = { args[0] };
                 ^
../src/fibers.cc:521:19: error: 'argv' was not declared in this scope
     Handle<Value> argv[1] = { args[0] };
                   ^~~~
../src/fibers.cc:522:24: error: 'NewInstance' is not a member of 'uni'
     return uni::Return(uni::NewInstance(Isolate::GetCurrent(), uni::Deref(Isolate::GetCurrent(), tmpl)->GetFunction(), 1, argv), args);
                        ^~~
../src/fibers.cc:522:64: error: 'Deref' is not a member of 'uni'
     return uni::Return(uni::NewInstance(Isolate::GetCurrent(), uni::Deref(Isolate::GetCurrent(), tmpl)->GetFunction(), 1, argv), args);
                                                                ^~~
../src/fibers.cc:522:134: error: return-statement with a value, in function returning 'void' [-fpermissive]
     return uni::Return(uni::NewInstance(Isolate::GetCurrent(), uni::Deref(Isolate::GetCurrent(), tmpl)->GetFunction(), 1, argv), args);
                                                                                                                                      ^
../src/fibers.cc:525:4: error: 'Handle' was not declared in this scope
    Handle<Function> fn = Handle<Function>::Cast(args[0]);
    ^~~~~~
../src/fibers.cc:525:19: error: expected primary-expression before '>' token
    Handle<Function> fn = Handle<Function>::Cast(args[0]);
                   ^
../src/fibers.cc:525:21: error: 'fn' was not declared in this scope
    Handle<Function> fn = Handle<Function>::Cast(args[0]);
                     ^~
../src/fibers.cc:525:41: error: expected primary-expression before '>' token
    Handle<Function> fn = Handle<Function>::Cast(args[0]);
                                         ^
../src/fibers.cc:525:42: error: '::Cast' has not been declared
    Handle<Function> fn = Handle<Function>::Cast(args[0]);
                                          ^~
../src/fibers.cc:526:31: error: 'GetCurrentContext' is not a member of 'uni'
    new Fiber(args.This(), fn, uni::GetCurrentContext(Isolate::GetCurrent()));
                               ^~~
../src/fibers.cc:527:40: error: no matching function for call to 'Return(v8::Local<v8::Object>, const Arguments&)'
    return uni::Return(args.This(), args);
                                        ^
../src/fibers.cc:184:7: note: candidate: template<class T> void uni::Return(v8::Persistent<T, v8::NonCopyablePersistentTraits<T> >&, uni::GetterCallbackInfo)
  void Return(Persistent<T>& handle, GetterCallbackInfo info) {
       ^~~~~~
../src/fibers.cc:184:7: note:   template argument deduction/substitution failed:
../src/fibers.cc:527:40: note:   'v8::Local<v8::Object>' is not derived from 'v8::Persistent<T, v8::NonCopyablePersistentTraits<T> >'
    return uni::Return(args.This(), args);
                                        ^
../src/fibers.cc:527:40: error: return-statement with a value, in function returning 'void' [-fpermissive]
../src/fibers.cc: In static member function 'static uni::FunctionType Fiber::Run(const Arguments&)':
../src/fibers.cc:535:38: error: no match for call to '(Fiber) (v8::Local<v8::Object>)'
    Fiber& that = Unwrap(args.Holder());
                                      ^
../src/fibers.cc:10:40: error: 'ThrowException' is not a member of 'uni'
 #define THROW(x, m) return uni::Return(uni::ThrowException(Isolate::GetCurrent(), x(uni::NewLatin1String(Isolate::GetCurrent(), m))), args)
                                        ^
../src/fibers.cc:541:5: note: in expansion of macro 'THROW'
     THROW(Exception::Error, "This Fiber is already running");
     ^~~~~
../src/fibers.cc:10:85: error: 'NewLatin1String' is not a member of 'uni'
 #define THROW(x, m) return uni::Return(uni::ThrowException(Isolate::GetCurrent(), x(uni::NewLatin1String(Isolate::GetCurrent(), m))), args)
                                                                                     ^
../src/fibers.cc:541:5: note: in expansion of macro 'THROW'
     THROW(Exception::Error, "This Fiber is already running");
     ^~~~~
../src/fibers.cc:10:139: error: return-statement with a value, in function returning 'void' [-fpermissive]
 #define THROW(x, m) return uni::Return(uni::ThrowException(Isolate::GetCurrent(), x(uni::NewLatin1String(Isolate::GetCurrent(), m))), args)
                                                                                                                                           ^
../src/fibers.cc:541:5: note: in expansion of macro 'THROW'
     THROW(Exception::Error, "This Fiber is already running");
     ^~~~~
../src/fibers.cc:10:40: error: 'ThrowException' is not a member of 'uni'
 #define THROW(x, m) return uni::Return(uni::ThrowException(Isolate::GetCurrent(), x(uni::NewLatin1String(Isolate::GetCurrent(), m))), args)
                                        ^
../src/fibers.cc:543:5: note: in expansion of macro 'THROW'
     THROW(Exception::TypeError, "run() excepts 1 or no arguments");
     ^~~~~
../src/fibers.cc:10:85: error: 'NewLatin1String' is not a member of 'uni'
 #define THROW(x, m) return uni::Return(uni::ThrowException(Isolate::GetCurrent(), x(uni::NewLatin1String(Isolate::GetCurrent(), m))), args)
                                                                                     ^
../src/fibers.cc:543:5: note: in expansion of macro 'THROW'
     THROW(Exception::TypeError, "run() excepts 1 or no arguments");
     ^~~~~
../src/fibers.cc:10:139: error: return-statement with a value, in function returning 'void' [-fpermissive]
 #define THROW(x, m) return uni::Return(uni::ThrowException(Isolate::GetCurrent(), x(uni::NewLatin1String(Isolate::GetCurrent(), m))), args)
                                                                                                                                           ^
../src/fibers.cc:543:5: note: in expansion of macro 'THROW'
     THROW(Exception::TypeError, "run() excepts 1 or no arguments");
     ^~~~~
../src/fibers.cc:10:40: error: 'ThrowException' is not a member of 'uni'
 #define THROW(x, m) return uni::Return(uni::ThrowException(Isolate::GetCurrent(), x(uni::NewLatin1String(Isolate::GetCurrent(), m))), args)
                                        ^
../src/fibers.cc:554:6: note: in expansion of macro 'THROW'
      THROW(Exception::RangeError, "Out of memory");
      ^~~~~
../src/fibers.cc:10:85: error: 'NewLatin1String' is not a member of 'uni'
 #define THROW(x, m) return uni::Return(uni::ThrowException(Isolate::GetCurrent(), x(uni::NewLatin1String(Isolate::GetCurrent(), m))), args)
                                                                                     ^
../src/fibers.cc:554:6: note: in expansion of macro 'THROW'
      THROW(Exception::RangeError, "Out of memory");
      ^~~~~
../src/fibers.cc:10:139: error: return-statement with a value, in function returning 'void' [-fpermissive]
 #define THROW(x, m) return uni::Return(uni::ThrowException(Isolate::GetCurrent(), x(uni::NewLatin1String(Isolate::GetCurrent(), m))), args)
                                                                                                                                           ^
../src/fibers.cc:554:6: note: in expansion of macro 'THROW'
      THROW(Exception::RangeError, "Out of memory");
      ^~~~~
../src/fibers.cc:564:52: error: no matching function for call to 'Reset(v8::Isolate*&, v8::Persistent<v8::Value>&, v8::Local<v8::Value>)'
      uni::Reset(that.isolate, that.yielded, args[0]);
                                                    ^
../src/fibers.cc:149:7: note: candidate: template<class T> void uni::Reset(v8::Isolate*, v8::Persistent<T, v8::NonCopyablePersistentTraits<T> >&, int)
  void Reset(Isolate* isolate, Persistent<T>& persistent, Handle<T> handle) {
       ^~~~~
../src/fibers.cc:149:7: note:   template argument deduction/substitution failed:
../src/fibers.cc:564:51: note:   cannot convert '(& args)->v8::FunctionCallbackInfo<T>::operator[]<v8::Value>(0)' (type 'v8::Local<v8::Value>') to type 'int'
      uni::Reset(that.isolate, that.yielded, args[0]);
                                             ~~~~~~^
../src/fibers.cc:566:52: error: 'Undefined' is not a member of 'uni'
      uni::Reset<Value>(that.isolate, that.yielded, uni::Undefined(that.isolate));
                                                    ^~~
../src/fibers.cc:566:52: note: suggested alternatives:
In file included from /root/.node-gyp/12.3.1/include/node/node.h:63:0,
                 from ../src/coroutine.h:1,
                 from ../src/fibers.cc:1:
/root/.node-gyp/12.3.1/include/node/v8.h:10838:18: note:   'v8::Undefined'
 Local<Primitive> Undefined(Isolate* isolate) {
                  ^~~~~~~~~
/root/.node-gyp/12.3.1/include/node/v8.h:10838:18: note:   'v8::Undefined'
../src/fibers.cc:570:28: error: 'class Fiber' has no member named 'ReturnYielded'
    return uni::Return(that.ReturnYielded(), args);
                            ^~~~~~~~~~~~~
../src/fibers.cc:570:49: error: return-statement with a value, in function returning 'void' [-fpermissive]
    return uni::Return(that.ReturnYielded(), args);
                                                 ^
../src/fibers.cc: In static member function 'static uni::FunctionType Fiber::ThrowInto(const Arguments&)':
../src/fibers.cc:577:38: error: no match for call to '(Fiber) (v8::Local<v8::Object>)'
    Fiber& that = Unwrap(args.Holder());
                                      ^
../src/fibers.cc:10:40: error: 'ThrowException' is not a member of 'uni'
 #define THROW(x, m) return uni::Return(uni::ThrowException(Isolate::GetCurrent(), x(uni::NewLatin1String(Isolate::GetCurrent(), m))), args)
                                        ^
../src/fibers.cc:580:5: note: in expansion of macro 'THROW'
     THROW(Exception::Error, "This Fiber is not yielding");
     ^~~~~
../src/fibers.cc:10:85: error: 'NewLatin1String' is not a member of 'uni'
 #define THROW(x, m) return uni::Return(uni::ThrowException(Isolate::GetCurrent(), x(uni::NewLatin1String(Isolate::GetCurrent(), m))), args)
                                                                                     ^
../src/fibers.cc:580:5: note: in expansion of macro 'THROW'
     THROW(Exception::Error, "This Fiber is not yielding");
     ^~~~~
../src/fibers.cc:10:139: error: return-statement with a value, in function returning 'void' [-fpermissive]
 #define THROW(x, m) return uni::Return(uni::ThrowException(Isolate::GetCurrent(), x(uni::NewLatin1String(Isolate::GetCurrent(), m))), args)
                                                                                                                                           ^
../src/fibers.cc:580:5: note: in expansion of macro 'THROW'
     THROW(Exception::Error, "This Fiber is not yielding");
     ^~~~~
../src/fibers.cc:582:51: error: 'Undefined' is not a member of 'uni'
     uni::Reset<Value>(that.isolate, that.yielded, uni::Undefined(that.isolate));
                                                   ^~~
../src/fibers.cc:582:51: note: suggested alternatives:
In file included from /root/.node-gyp/12.3.1/include/node/node.h:63:0,
                 from ../src/coroutine.h:1,
                 from ../src/fibers.cc:1:
/root/.node-gyp/12.3.1/include/node/v8.h:10838:18: note:   'v8::Undefined'
 Local<Primitive> Undefined(Isolate* isolate) {
                  ^~~~~~~~~
/root/.node-gyp/12.3.1/include/node/v8.h:10838:18: note:   'v8::Undefined'
../src/fibers.cc:584:51: error: no matching function for call to 'Reset(v8::Isolate*&, v8::Persistent<v8::Value>&, v8::Local<v8::Value>)'
     uni::Reset(that.isolate, that.yielded, args[0]);
                                                   ^
../src/fibers.cc:149:7: note: candidate: template<class T> void uni::Reset(v8::Isolate*, v8::Persistent<T, v8::NonCopyablePersistentTraits<T> >&, int)
  void Reset(Isolate* isolate, Persistent<T>& persistent, Handle<T> handle) {
       ^~~~~
../src/fibers.cc:149:7: note:   template argument deduction/substitution failed:
../src/fibers.cc:584:50: note:   cannot convert '(& args)->v8::FunctionCallbackInfo<T>::operator[]<v8::Value>(0)' (type 'v8::Local<v8::Value>') to type 'int'
     uni::Reset(that.isolate, that.yielded, args[0]);
                                            ~~~~~~^
../src/fibers.cc:10:40: error: 'ThrowException' is not a member of 'uni'
 #define THROW(x, m) return uni::Return(uni::ThrowException(Isolate::GetCurrent(), x(uni::NewLatin1String(Isolate::GetCurrent(), m))), args)
                                        ^
../src/fibers.cc:586:5: note: in expansion of macro 'THROW'
     THROW(Exception::TypeError, "throwInto() expects 1 or no arguments");
     ^~~~~
../src/fibers.cc:10:85: error: 'NewLatin1String' is not a member of 'uni'
 #define THROW(x, m) return uni::Return(uni::ThrowException(Isolate::GetCurrent(), x(uni::NewLatin1String(Isolate::GetCurrent(), m))), args)
                                                                                     ^
../src/fibers.cc:586:5: note: in expansion of macro 'THROW'
     THROW(Exception::TypeError, "throwInto() expects 1 or no arguments");
     ^~~~~
../src/fibers.cc:10:139: error: return-statement with a value, in function returning 'void' [-fpermissive]
 #define THROW(x, m) return uni::Return(uni::ThrowException(Isolate::GetCurrent(), x(uni::NewLatin1String(Isolate::GetCurrent(), m))), args)
                                                                                                                                           ^
../src/fibers.cc:586:5: note: in expansion of macro 'THROW'
     THROW(Exception::TypeError, "throwInto() expects 1 or no arguments");
     ^~~~~
../src/fibers.cc:590:28: error: 'class Fiber' has no member named 'ReturnYielded'
    return uni::Return(that.ReturnYielded(), args);
                            ^~~~~~~~~~~~~
../src/fibers.cc:590:49: error: return-statement with a value, in function returning 'void' [-fpermissive]
    return uni::Return(that.ReturnYielded(), args);
                                                 ^
../src/fibers.cc: In static member function 'static uni::FunctionType Fiber::Reset(const Arguments&)':
../src/fibers.cc:598:38: error: no match for call to '(Fiber) (v8::Local<v8::Object>)'
    Fiber& that = Unwrap(args.Holder());
                                      ^
../src/fibers.cc:601:24: error: 'Undefined' is not a member of 'uni'
     return uni::Return(uni::Undefined(that.isolate), args);
                        ^~~
../src/fibers.cc:601:24: note: suggested alternatives:
In file included from /root/.node-gyp/12.3.1/include/node/node.h:63:0,
                 from ../src/coroutine.h:1,
                 from ../src/fibers.cc:1:
/root/.node-gyp/12.3.1/include/node/v8.h:10838:18: note:   'v8::Undefined'
 Local<Primitive> Undefined(Isolate* isolate) {
                  ^~~~~~~~~
/root/.node-gyp/12.3.1/include/node/v8.h:10838:18: note:   'v8::Undefined'
../src/fibers.cc:601:58: error: return-statement with a value, in function returning 'void' [-fpermissive]
     return uni::Return(uni::Undefined(that.isolate), args);
                                                          ^
../src/fibers.cc:10:40: error: 'ThrowException' is not a member of 'uni'
 #define THROW(x, m) return uni::Return(uni::ThrowException(Isolate::GetCurrent(), x(uni::NewLatin1String(Isolate::GetCurrent(), m))), args)
                                        ^
../src/fibers.cc:603:5: note: in expansion of macro 'THROW'
     THROW(Exception::Error, "This Fiber is not yielding");
     ^~~~~
../src/fibers.cc:10:85: error: 'NewLatin1String' is not a member of 'uni'
 #define THROW(x, m) return uni::Return(uni::ThrowException(Isolate::GetCurrent(), x(uni::NewLatin1String(Isolate::GetCurrent(), m))), args)
                                                                                     ^
../src/fibers.cc:603:5: note: in expansion of macro 'THROW'
     THROW(Exception::Error, "This Fiber is not yielding");
     ^~~~~
../src/fibers.cc:10:139: error: return-statement with a value, in function returning 'void' [-fpermissive]
 #define THROW(x, m) return uni::Return(uni::ThrowException(Isolate::GetCurrent(), x(uni::NewLatin1String(Isolate::GetCurrent(), m))), args)
                                                                                                                                           ^
../src/fibers.cc:603:5: note: in expansion of macro 'THROW'
     THROW(Exception::Error, "This Fiber is not yielding");
     ^~~~~
../src/fibers.cc:10:40: error: 'ThrowException' is not a member of 'uni'
 #define THROW(x, m) return uni::Return(uni::ThrowException(Isolate::GetCurrent(), x(uni::NewLatin1String(Isolate::GetCurrent(), m))), args)
                                        ^
../src/fibers.cc:605:5: note: in expansion of macro 'THROW'
     THROW(Exception::TypeError, "reset() expects no arguments");
     ^~~~~
../src/fibers.cc:10:85: error: 'NewLatin1String' is not a member of 'uni'
 #define THROW(x, m) return uni::Return(uni::ThrowException(Isolate::GetCurrent(), x(uni::NewLatin1String(Isolate::GetCurrent(), m))), args)
                                                                                     ^
../src/fibers.cc:605:5: note: in expansion of macro 'THROW'
     THROW(Exception::TypeError, "reset() expects no arguments");
     ^~~~~
../src/fibers.cc:10:139: error: return-statement with a value, in function returning 'void' [-fpermissive]
 #define THROW(x, m) return uni::Return(uni::ThrowException(Isolate::GetCurrent(), x(uni::NewLatin1String(Isolate::GetCurrent(), m))), args)
                                                                                                                                           ^
../src/fibers.cc:605:5: note: in expansion of macro 'THROW'
     THROW(Exception::TypeError, "reset() expects no arguments");
     ^~~~~
../src/fibers.cc:613:4: error: 'Handle' was not declared in this scope
    Handle<Value> val = uni::Deref(that.isolate, that.yielded);
    ^~~~~~
../src/fibers.cc:613:16: error: expected primary-expression before '>' token
    Handle<Value> val = uni::Deref(that.isolate, that.yielded);
                ^
../src/fibers.cc:613:18: error: 'val' was not declared in this scope
    Handle<Value> val = uni::Deref(that.isolate, that.yielded);
                  ^~~
../src/fibers.cc:613:24: error: 'Deref' is not a member of 'uni'
    Handle<Value> val = uni::Deref(that.isolate, that.yielded);
                        ^~~
../src/fibers.cc:616:24: error: 'ThrowException' is not a member of 'uni'
     return uni::Return(uni::ThrowException(that.isolate, val), args);
                        ^~~
../src/fibers.cc:616:68: error: return-statement with a value, in function returning 'void' [-fpermissive]
     return uni::Return(uni::ThrowException(that.isolate, val), args);
                                                                    ^
../src/fibers.cc:618:33: error: return-statement with a value, in function returning 'void' [-fpermissive]
     return uni::Return(val, args);
                                 ^
../src/fibers.cc: In member function 'void Fiber::UnwindStack()':
../src/fibers.cc:635:4: error: 'Handle' was not declared in this scope
    Handle<Value> zombie_exception = Exception::Error(uni::NewLatin1String(isolate, "This Fiber is a zombie"));
    ^~~~~~
../src/fibers.cc:635:16: error: expected primary-expression before '>' token
    Handle<Value> zombie_exception = Exception::Error(uni::NewLatin1String(isolate, "This Fiber is a zombie"));
                ^
../src/fibers.cc:635:54: error: 'NewLatin1String' is not a member of 'uni'
    Handle<Value> zombie_exception = Exception::Error(uni::NewLatin1String(isolate, "This Fiber is a zombie"));
                                                      ^~~
../src/fibers.cc:636:64: error: no matching function for call to 'Reset(v8::Isolate*&, v8::Persistent<v8::Value>&, v8::Persistent<v8::Value>&)'
    uni::Reset(isolate, this->zombie_exception, zombie_exception);
                                                                ^
../src/fibers.cc:149:7: note: candidate: template<class T> void uni::Reset(v8::Isolate*, v8::Persistent<T, v8::NonCopyablePersistentTraits<T> >&, int)
  void Reset(Isolate* isolate, Persistent<T>& persistent, Handle<T> handle) {
       ^~~~~
../src/fibers.cc:149:7: note:   template argument deduction/substitution failed:
../src/fibers.cc:636:48: note:   cannot convert '((Fiber*)this)->Fiber::zombie_exception' (type 'v8::Persistent<v8::Value>') to type 'int'
    uni::Reset(isolate, this->zombie_exception, zombie_exception);
                                                ^~~~~~~~~~~~~~~~
../src/fibers.cc:637:49: error: no matching function for call to 'Reset(v8::Isolate*&, v8::Persistent<v8::Value>&, v8::Persistent<v8::Value>&)'
    uni::Reset(isolate, yielded, zombie_exception);
                                                 ^
../src/fibers.cc:149:7: note: candidate: template<class T> void uni::Reset(v8::Isolate*, v8::Persistent<T, v8::NonCopyablePersistentTraits<T> >&, int)
  void Reset(Isolate* isolate, Persistent<T>& persistent, Handle<T> handle) {
       ^~~~~
../src/fibers.cc:149:7: note:   template argument deduction/substitution failed:
../src/fibers.cc:637:33: note:   cannot convert '((Fiber*)this)->Fiber::zombie_exception' (type 'v8::Persistent<v8::Value>') to type 'int'
    uni::Reset(isolate, yielded, zombie_exception);
                                 ^~~~~~~~~~~~~~~~
../src/fibers.cc:650:41: error: 'Undefined' is not a member of 'uni'
     uni::Reset<Value>(isolate, yielded, uni::Undefined(isolate));
                                         ^~~
../src/fibers.cc:650:41: note: suggested alternatives:
In file included from /root/.node-gyp/12.3.1/include/node/node.h:63:0,
                 from ../src/coroutine.h:1,
                 from ../src/fibers.cc:1:
/root/.node-gyp/12.3.1/include/node/v8.h:10838:18: note:   'v8::Undefined'
 Local<Primitive> Undefined(Isolate* isolate) {
                  ^~~~~~~~~
/root/.node-gyp/12.3.1/include/node/v8.h:10838:18: note:   'v8::Undefined'
../src/fibers.cc: In static member function 'static void Fiber::RunFiber(void**)':
../src/fibers.cc:712:5: error: 'Handle' was not declared in this scope
     Handle<Context> v8_context = uni::Deref(that.isolate, that.v8_context);
     ^~~~~~
../src/fibers.cc:712:19: error: expected primary-expression before '>' token
     Handle<Context> v8_context = uni::Deref(that.isolate, that.v8_context);
                   ^
../src/fibers.cc:712:21: error: invalid use of member 'Fiber::v8_context' in static member function
     Handle<Context> v8_context = uni::Deref(that.isolate, that.v8_context);
                     ^~~~~~~~~~
../src/fibers.cc:397:23: note: declared here
   Persistent<Context> v8_context;
                       ^~~~~~~~~~
../src/fibers.cc:712:34: error: 'Deref' is not a member of 'uni'
     Handle<Context> v8_context = uni::Deref(that.isolate, that.v8_context);
                                  ^~~
../src/fibers.cc:713:5: error: invalid use of member 'Fiber::v8_context' in static member function
     v8_context->Enter();
     ^~~~~~~~~~
../src/fibers.cc:397:23: note: declared here
   Persistent<Context> v8_context;
                       ^~~~~~~~~~
../src/fibers.cc:715:38: error: invalid use of member 'Fiber::v8_context' in static member function
     uni::fixStackLimit(that.isolate, v8_context);
                                      ^~~~~~~~~~
../src/fibers.cc:397:23: note: declared here
   Persistent<Context> v8_context;
                       ^~~~~~~~~~
../src/fibers.cc:717:17: error: expected primary-expression before '>' token
     Handle<Value> yielded;
                 ^
../src/fibers.cc:717:19: error: invalid use of member 'Fiber::yielded' in static member function
     Handle<Value> yielded;
                   ^~~~~~~
../src/fibers.cc:399:21: note: declared here
   Persistent<Value> yielded;
                     ^~~~~~~
../src/fibers.cc:719:18: error: expected primary-expression before '>' token
      Handle<Value> argv[1] = { (*args)[0] };
                  ^
../src/fibers.cc:719:20: error: 'argv' was not declared in this scope
      Handle<Value> argv[1] = { (*args)[0] };
                    ^~~~
../src/fibers.cc:720:6: error: invalid use of member 'Fiber::yielded' in static member function
      yielded = uni::Deref(that.isolate, that.cb)->Call(v8_context->Global(), 1, argv);
      ^~~~~~~
../src/fibers.cc:399:21: note: declared here
   Persistent<Value> yielded;
                     ^~~~~~~
../src/fibers.cc:720:16: error: 'Deref' is not a member of 'uni'
      yielded = uni::Deref(that.isolate, that.cb)->Call(v8_context->Global(), 1, argv);
                ^~~
../src/fibers.cc:720:56: error: invalid use of member 'Fiber::v8_context' in static member function
      yielded = uni::Deref(that.isolate, that.cb)->Call(v8_context->Global(), 1, argv);
                                                        ^~~~~~~~~~
../src/fibers.cc:397:23: note: declared here
   Persistent<Context> v8_context;
                       ^~~~~~~~~~
../src/fibers.cc:722:6: error: invalid use of member 'Fiber::yielded' in static member function
      yielded = uni::Deref(that.isolate, that.cb)->Call(v8_context->Global(), 0, NULL);
      ^~~~~~~
../src/fibers.cc:399:21: note: declared here
   Persistent<Value> yielded;
                     ^~~~~~~
../src/fibers.cc:722:16: error: 'Deref' is not a member of 'uni'
      yielded = uni::Deref(that.isolate, that.cb)->Call(v8_context->Global(), 0, NULL);
                ^~~
../src/fibers.cc:722:56: error: invalid use of member 'Fiber::v8_context' in static member function
      yielded = uni::Deref(that.isolate, that.cb)->Call(v8_context->Global(), 0, NULL);
                                                        ^~~~~~~~~~
../src/fibers.cc:397:23: note: declared here
   Persistent<Context> v8_context;
                       ^~~~~~~~~~
../src/fibers.cc:726:66: error: no matching function for call to 'Reset(v8::Isolate*&, v8::Persistent<v8::Value>&, v8::Local<v8::Value>)'
      uni::Reset(that.isolate, that.yielded, try_catch.Exception());
                                                                  ^
../src/fibers.cc:149:7: note: candidate: template<class T> void uni::Reset(v8::Isolate*, v8::Persistent<T, v8::NonCopyablePersistentTraits<T> >&, int)
  void Reset(Isolate* isolate, Persistent<T>& persistent, Handle<T> handle) {
       ^~~~~
../src/fibers.cc:149:7: note:   template argument deduction/substitution failed:
../src/fibers.cc:726:64: note:   cannot convert 'try_catch.uni::TryCatch::<anonymous>.v8::TryCatch::Exception()' (type 'v8::Local<v8::Value>') to type 'int'
      uni::Reset(that.isolate, that.yielded, try_catch.Exception());
                                             ~~~~~~~~~~~~~~~~~~~^~
../src/fibers.cc:728:45: error: 'Deref' is not a member of 'uni'
      if (that.zombie && !that.resetting && !uni::Deref(that.isolate, that.yielded)->StrictEquals(uni::Deref(that.isolate, that.zombie_exception))) {
                                             ^~~
../src/fibers.cc:728:98: error: 'Deref' is not a member of 'uni'
      if (that.zombie && !that.resetting && !uni::Deref(that.isolate, that.yielded)->StrictEquals(uni::Deref(that.isolate, that.zombie_exception))) {
                                                                                                  ^~~
../src/fibers.cc:730:76: error: invalid use of member 'Fiber::v8_context' in static member function
       uni::Reset(that.isolate, fatal_stack, uni::GetStackTrace(&try_catch, v8_context));
                                                                            ^~~~~~~~~~
../src/fibers.cc:397:23: note: declared here
   Persistent<Context> v8_context;
                       ^~~~~~~~~~
../src/fibers.cc:733:45: error: invalid use of member 'Fiber::yielded' in static member function
      uni::Reset(that.isolate, that.yielded, yielded);
                                             ^~~~~~~
../src/fibers.cc:399:21: note: declared here
   Persistent<Value> yielded;
                     ^~~~~~~
../src/fibers.cc:748:5: error: invalid use of member 'Fiber::v8_context' in static member function
     v8_context->Exit();
     ^~~~~~~~~~
../src/fibers.cc:397:23: note: declared here
   Persistent<Context> v8_context;
                       ^~~~~~~~~~
../src/fibers.cc: In static member function 'static uni::FunctionType Fiber::Yield_(const Arguments&)':
../src/fibers.cc:10:40: error: 'ThrowException' is not a member of 'uni'
 #define THROW(x, m) return uni::Return(uni::ThrowException(Isolate::GetCurrent(), x(uni::NewLatin1String(Isolate::GetCurrent(), m))), args)
                                        ^
../src/fibers.cc:763:5: note: in expansion of macro 'THROW'
     THROW(Exception::Error, "yield() called with no fiber running");
     ^~~~~
../src/fibers.cc:10:85: error: 'NewLatin1String' is not a member of 'uni'
 #define THROW(x, m) return uni::Return(uni::ThrowException(Isolate::GetCurrent(), x(uni::NewLatin1String(Isolate::GetCurrent(), m))), args)
                                                                                     ^
../src/fibers.cc:763:5: note: in expansion of macro 'THROW'
     THROW(Exception::Error, "yield() called with no fiber running");
     ^~~~~
../src/fibers.cc:10:139: error: return-statement with a value, in function returning 'void' [-fpermissive]
 #define THROW(x, m) return uni::Return(uni::ThrowException(Isolate::GetCurrent(), x(uni::NewLatin1String(Isolate::GetCurrent(), m))), args)
                                                                                                                                           ^
../src/fibers.cc:763:5: note: in expansion of macro 'THROW'
     THROW(Exception::Error, "yield() called with no fiber running");
     ^~~~~
../src/fibers.cc:769:24: error: 'ThrowException' is not a member of 'uni'
     return uni::Return(uni::ThrowException(that.isolate, uni::Deref(that.isolate, that.zombie_exception)), args);
                        ^~~
../src/fibers.cc:769:58: error: 'Deref' is not a member of 'uni'
     return uni::Return(uni::ThrowException(that.isolate, uni::Deref(that.isolate, that.zombie_exception)), args);
                                                          ^~~
../src/fibers.cc:769:112: error: return-statement with a value, in function returning 'void' [-fpermissive]
     return uni::Return(uni::ThrowException(that.isolate, uni::Deref(that.isolate, that.zombie_exception)), args);
                                                                                                                ^
../src/fibers.cc:771:74: error: no matching function for call to 'Reset(v8::Isolate*&, v8::Persistent<v8::Value>&, v8::Local<v8::Primitive>)'
     uni::Reset<Value>(that.isolate, that.yielded, Undefined(that.isolate));
                                                                          ^
../src/fibers.cc:149:7: note: candidate: template<class T> void uni::Reset(v8::Isolate*, v8::Persistent<T, v8::NonCopyablePersistentTraits<T> >&, int)
  void Reset(Isolate* isolate, Persistent<T>& persistent, Handle<T> handle) {
       ^~~~~
../src/fibers.cc:149:7: note:   template argument deduction/substitution failed:
../src/fibers.cc:771:60: note:   cannot convert 'v8::Undefined(that.Fiber::isolate)' (type 'v8::Local<v8::Primitive>') to type 'int'
     uni::Reset<Value>(that.isolate, that.yielded, Undefined(that.isolate));
                                                   ~~~~~~~~~^~~~~~~~~~~~~~
../src/fibers.cc:773:51: error: no matching function for call to 'Reset(v8::Isolate*&, v8::Persistent<v8::Value>&, v8::Local<v8::Value>)'
     uni::Reset(that.isolate, that.yielded, args[0]);
                                                   ^
../src/fibers.cc:149:7: note: candidate: template<class T> void uni::Reset(v8::Isolate*, v8::Persistent<T, v8::NonCopyablePersistentTraits<T> >&, int)
  void Reset(Isolate* isolate, Persistent<T>& persistent, Handle<T> handle) {
       ^~~~~
../src/fibers.cc:149:7: note:   template argument deduction/substitution failed:
../src/fibers.cc:773:50: note:   cannot convert '(& args)->v8::FunctionCallbackInfo<T>::operator[]<v8::Value>(0)' (type 'v8::Local<v8::Value>') to type 'int'
     uni::Reset(that.isolate, that.yielded, args[0]);
                                            ~~~~~~^
../src/fibers.cc:10:40: error: 'ThrowException' is not a member of 'uni'
 #define THROW(x, m) return uni::Return(uni::ThrowException(Isolate::GetCurrent(), x(uni::NewLatin1String(Isolate::GetCurrent(), m))), args)
                                        ^
../src/fibers.cc:775:5: note: in expansion of macro 'THROW'
     THROW(Exception::TypeError, "yield() expects 1 or no arguments");
     ^~~~~
../src/fibers.cc:10:85: error: 'NewLatin1String' is not a member of 'uni'
 #define THROW(x, m) return uni::Return(uni::ThrowException(Isolate::GetCurrent(), x(uni::NewLatin1String(Isolate::GetCurrent(), m))), args)
                                                                                     ^
../src/fibers.cc:775:5: note: in expansion of macro 'THROW'
     THROW(Exception::TypeError, "yield() expects 1 or no arguments");
     ^~~~~
../src/fibers.cc:10:139: error: return-statement with a value, in function returning 'void' [-fpermissive]
 #define THROW(x, m) return uni::Return(uni::ThrowException(Isolate::GetCurrent(), x(uni::NewLatin1String(Isolate::GetCurrent(), m))), args)
                                                                                                                                           ^
../src/fibers.cc:775:5: note: in expansion of macro 'THROW'
     THROW(Exception::TypeError, "yield() expects 1 or no arguments");
     ^~~~~
../src/fibers.cc:798:28: error: 'class Fiber' has no member named 'ReturnYielded'
    return uni::Return(that.ReturnYielded(), args);
                            ^~~~~~~~~~~~~
../src/fibers.cc:798:49: error: return-statement with a value, in function returning 'void' [-fpermissive]
    return uni::Return(that.ReturnYielded(), args);
                                                 ^
../src/fibers.cc: In static member function 'static uni::FunctionType Fiber::GetStarted(v8::Local<v8::String>, const GetterCallbackInfo&)':
../src/fibers.cc:806:24: error: 'Undefined' is not a member of 'uni'
     return uni::Return(uni::Undefined(Isolate::GetCurrent()), info);
                        ^~~
../src/fibers.cc:806:24: note: suggested alternatives:
In file included from /root/.node-gyp/12.3.1/include/node/node.h:63:0,
                 from ../src/coroutine.h:1,
                 from ../src/fibers.cc:1:
/root/.node-gyp/12.3.1/include/node/v8.h:301:27: note:   'v8::Undefined'
   friend Local<Primitive> Undefined(Isolate* isolate);
                           ^~~~~~~~~
/root/.node-gyp/12.3.1/include/node/v8.h:301:27: note:   'v8::Undefined'
../src/fibers.cc:806:67: error: return-statement with a value, in function returning 'void' [-fpermissive]
     return uni::Return(uni::Undefined(Isolate::GetCurrent()), info);
                                                                   ^
../src/fibers.cc:808:36: error: no match for call to '(Fiber) (v8::Local<v8::Object>)'
    Fiber& that = Unwrap(info.This());
                                    ^
../src/fibers.cc:809:23: error: 'NewBoolean' is not a member of 'uni'
    return uni::Return(uni::NewBoolean(that.isolate, that.started), info);
                       ^~~
../src/fibers.cc:809:72: error: return-statement with a value, in function returning 'void' [-fpermissive]
    return uni::Return(uni::NewBoolean(that.isolate, that.started), info);
                                                                        ^
../src/fibers.cc: In static member function 'static uni::FunctionType Fiber::GetCurrent(v8::Local<v8::String>, const GetterCallbackInfo&)':
../src/fibers.cc:816:24: error: 'Undefined' is not a member of 'uni'
     return uni::Return(uni::Undefined(Isolate::GetCurrent()), info);
                        ^~~
../src/fibers.cc:816:24: note: suggested alternatives:
In file included from /root/.node-gyp/12.3.1/include/node/node.h:63:0,
                 from ../src/coroutine.h:1,
                 from ../src/fibers.cc:1:
/root/.node-gyp/12.3.1/include/node/v8.h:301:27: note:   'v8::Undefined'
   friend Local<Primitive> Undefined(Isolate* isolate);
                           ^~~~~~~~~
/root/.node-gyp/12.3.1/include/node/v8.h:301:27: note:   'v8::Undefined'
../src/fibers.cc:816:67: error: return-statement with a value, in function returning 'void' [-fpermissive]
     return uni::Return(uni::Undefined(Isolate::GetCurrent()), info);
                                                                   ^
../src/fibers.cc: In static member function 'static uni::FunctionType Fiber::GetPoolSize(v8::Local<v8::String>, const GetterCallbackInfo&)':
../src/fibers.cc:824:23: error: 'NewNumber' is not a member of 'uni'
    return uni::Return(uni::NewNumber(Isolate::GetCurrent(), Coroutine::pool_size), info);
                       ^~~
../src/fibers.cc:824:88: error: return-statement with a value, in function returning 'void' [-fpermissive]
    return uni::Return(uni::NewNumber(Isolate::GetCurrent(), Coroutine::pool_size), info);
                                                                                        ^
../src/fibers.cc: In static member function 'static void Fiber::SetPoolSize(v8::Local<v8::String>, v8::Local<v8::Value>, const SetterCallbackInfo&)':
../src/fibers.cc:828:27: error: 'ToNumber' is not a member of 'uni'
    Coroutine::pool_size = uni::ToNumber(value)->Value();
                           ^~~
../src/fibers.cc: In static member function 'static uni::FunctionType Fiber::GetFibersCreated(v8::Local<v8::String>, const GetterCallbackInfo&)':
../src/fibers.cc:835:23: error: 'NewNumber' is not a member of 'uni'
    return uni::Return(uni::NewNumber(Isolate::GetCurrent(), Coroutine::coroutines_created()), info);
                       ^~~
../src/fibers.cc:835:99: error: return-statement with a value, in function returning 'void' [-fpermissive]
    return uni::Return(uni::NewNumber(Isolate::GetCurrent(), Coroutine::coroutines_created()), info);
                                                                                                   ^
../src/fibers.cc: In static member function 'static void Fiber::Init(int)':
../src/fibers.cc:853:4: error: 'Handle' was not declared in this scope
    Handle<FunctionTemplate> tmpl = uni::NewFunctionTemplate(isolate, New);
    ^~~~~~
../src/fibers.cc:853:27: error: expected primary-expression before '>' token
    Handle<FunctionTemplate> tmpl = uni::NewFunctionTemplate(isolate, New);
                           ^
../src/fibers.cc:853:36: error: 'NewFunctionTemplate' is not a member of 'uni'
    Handle<FunctionTemplate> tmpl = uni::NewFunctionTemplate(isolate, New);
                                    ^~~
../src/fibers.cc:854:41: error: no matching function for call to 'Reset(v8::Isolate*&, v8::Persistent<v8::FunctionTemplate>&, v8::Persistent<v8::FunctionTemplate>&)'
    uni::Reset(isolate, Fiber::tmpl, tmpl);
                                         ^
../src/fibers.cc:149:7: note: candidate: template<class T> void uni::Reset(v8::Isolate*, v8::Persistent<T, v8::NonCopyablePersistentTraits<T> >&, int)
  void Reset(Isolate* isolate, Persistent<T>& persistent, Handle<T> handle) {
       ^~~~~
../src/fibers.cc:149:7: note:   template argument deduction/substitution failed:
../src/fibers.cc:854:41: note:   cannot convert 'Fiber::tmpl' (type 'v8::Persistent<v8::FunctionTemplate>') to type 'int'
    uni::Reset(isolate, Fiber::tmpl, tmpl);
                                         ^
../src/fibers.cc:855:8: error: base operand of '->' has non-pointer type 'v8::Persistent<v8::FunctionTemplate>'
    tmpl->SetClassName(uni::NewLatin1Symbol(isolate, "Fiber"));
        ^~
../src/fibers.cc:855:23: error: 'NewLatin1Symbol' is not a member of 'uni'
    tmpl->SetClassName(uni::NewLatin1Symbol(isolate, "Fiber"));
                       ^~~
../src/fibers.cc:859:20: error: expected primary-expression before '>' token
    Handle<Signature> sig = uni::NewSignature(isolate, tmpl);
                    ^
../src/fibers.cc:859:22: error: 'sig' was not declared in this scope
    Handle<Signature> sig = uni::NewSignature(isolate, tmpl);
                      ^~~
../src/fibers.cc:859:28: error: 'NewSignature' is not a member of 'uni'
    Handle<Signature> sig = uni::NewSignature(isolate, tmpl);
                            ^~~
../src/fibers.cc:860:8: error: base operand of '->' has non-pointer type 'v8::Persistent<v8::FunctionTemplate>'
    tmpl->InstanceTemplate()->SetInternalFieldCount(1);
        ^~
../src/fibers.cc:863:25: error: expected primary-expression before '>' token
    Handle<ObjectTemplate> proto = tmpl->PrototypeTemplate();
                         ^
../src/fibers.cc:863:27: error: 'proto' was not declared in this scope
    Handle<ObjectTemplate> proto = tmpl->PrototypeTemplate();
                           ^~~~~
../src/fibers.cc:863:39: error: base operand of '->' has non-pointer type 'v8::Persistent<v8::FunctionTemplate>'
    Handle<ObjectTemplate> proto = tmpl->PrototypeTemplate();
                                       ^~
../src/fibers.cc:864:15: error: 'NewLatin1Symbol' is not a member of 'uni'
    proto->Set(uni::NewLatin1Symbol(isolate, "reset"),
               ^~~
../src/fibers.cc:865:5: error: 'NewFunctionTemplate' is not a member of 'uni'
     uni::NewFunctionTemplate(isolate, Reset, Handle<Value>(), sig));
     ^~~
../src/fibers.cc:865:58: error: expected primary-expression before '>' token
     uni::NewFunctionTemplate(isolate, Reset, Handle<Value>(), sig));
                                                          ^
../src/fibers.cc:865:60: error: expected primary-expression before ')' token
     uni::NewFunctionTemplate(isolate, Reset, Handle<Value>(), sig));
                                                            ^
../src/fibers.cc:866:15: error: 'NewLatin1Symbol' is not a member of 'uni'
    proto->Set(uni::NewLatin1Symbol(isolate, "run"),
               ^~~
../src/fibers.cc:867:5: error: 'NewFunctionTemplate' is not a member of 'uni'
     uni::NewFunctionTemplate(isolate, Run, Handle<Value>(), sig));
     ^~~
../src/fibers.cc:867:56: error: expected primary-expression before '>' token
     uni::NewFunctionTemplate(isolate, Run, Handle<Value>(), sig));
                                                        ^
../src/fibers.cc:867:58: error: expected primary-expression before ')' token
     uni::NewFunctionTemplate(isolate, Run, Handle<Value>(), sig));
                                                          ^
../src/fibers.cc:868:15: error: 'NewLatin1Symbol' is not a member of 'uni'
    proto->Set(uni::NewLatin1Symbol(isolate, "throwInto"),
               ^~~
../src/fibers.cc:869:5: error: 'NewFunctionTemplate' is not a member of 'uni'
     uni::NewFunctionTemplate(isolate, ThrowInto, Handle<Value>(), sig));
     ^~~
../src/fibers.cc:869:62: error: expected primary-expression before '>' token
     uni::NewFunctionTemplate(isolate, ThrowInto, Handle<Value>(), sig));
                                                              ^
../src/fibers.cc:869:64: error: expected primary-expression before ')' token
     uni::NewFunctionTemplate(isolate, ThrowInto, Handle<Value>(), sig));
                                                                ^
../src/fibers.cc:870:23: error: 'NewLatin1Symbol' is not a member of 'uni'
    proto->SetAccessor(uni::NewLatin1Symbol(isolate, "started"), GetStarted);
                       ^~~
../src/fibers.cc:873:19: error: expected primary-expression before '>' token
    Handle<Function> yield = uni::NewFunctionTemplate(isolate, Yield_)->GetFunction();
                   ^
../src/fibers.cc:873:21: error: 'yield' was not declared in this scope
    Handle<Function> yield = uni::NewFunctionTemplate(isolate, Yield_)->GetFunction();
                     ^~~~~
../src/fibers.cc:873:29: error: 'NewFunctionTemplate' is not a member of 'uni'
    Handle<Function> yield = uni::NewFunctionTemplate(isolate, Yield_)->GetFunction();
                             ^~~
../src/fibers.cc:874:17: error: expected primary-expression before '>' token
    Handle<String> sym_yield = uni::NewLatin1Symbol(isolate, "yield");
                 ^
../src/fibers.cc:874:19: error: 'sym_yield' was not declared in this scope
    Handle<String> sym_yield = uni::NewLatin1Symbol(isolate, "yield");
                   ^~~~~~~~~
../src/fibers.cc:874:31: error: 'NewLatin1Symbol' is not a member of 'uni'
    Handle<String> sym_yield = uni::NewLatin1Symbol(isolate, "yield");
                               ^~~
../src/fibers.cc:875:4: error: 'target' was not declared in this scope
    target->Set(sym_yield, yield);
    ^~~~~~
../src/fibers.cc:878:19: error: expected primary-expression before '>' token
    Handle<Function> fn = tmpl->GetFunction();
                   ^
../src/fibers.cc:878:21: error: 'fn' was not declared in this scope
    Handle<Function> fn = tmpl->GetFunction();
                     ^~
../src/fibers.cc:878:30: error: base operand of '->' has non-pointer type 'v8::Persistent<v8::FunctionTemplate>'
    Handle<Function> fn = tmpl->GetFunction();
                              ^~
../src/fibers.cc:880:34: error: 'NewLatin1Symbol' is not a member of 'uni'
    uni::SetAccessor(isolate, fn, uni::NewLatin1Symbol(isolate, "current"), GetCurrent);
                                  ^~~
../src/fibers.cc:881:34: error: 'NewLatin1Symbol' is not a member of 'uni'
    uni::SetAccessor(isolate, fn, uni::NewLatin1Symbol(isolate, "poolSize"), GetPoolSize, SetPoolSize);
                                  ^~~
../src/fibers.cc:882:34: error: 'NewLatin1Symbol' is not a member of 'uni'
    uni::SetAccessor(isolate, fn, uni::NewLatin1Symbol(isolate, "fibersCreated"), GetFibersCreated);
                                  ^~~
../src/fibers.cc:885:16: error: 'NewLatin1Symbol' is not a member of 'uni'
    target->Set(uni::NewLatin1Symbol(isolate, "Fiber"), fn);
                ^~~
../src/fibers.cc: At global scope:
../src/fibers.cc:901:11: error: variable or field 'init' declared void
 void init(Handle<Object> target) {
           ^~~~~~
../src/fibers.cc:901:11: error: 'Handle' was not declared in this scope
../src/fibers.cc:901:24: error: expected primary-expression before '>' token
 void init(Handle<Object> target) {
                        ^
../src/fibers.cc:901:26: error: 'target' was not declared in this scope
 void init(Handle<Object> target) {
                          ^~~~~~
../src/fibers.cc: In instantiation of 'void uni::Return(v8::Persistent<T, v8::NonCopyablePersistentTraits<T> >&, uni::GetterCallbackInfo) [with T = v8::Object; uni::GetterCallbackInfo = v8::PropertyCallbackInfo<v8::Value>]':
../src/fibers.cc:814:45:   required from here
../src/fibers.cc:185:3: warning: 'void v8::ReturnValue<T>::Set(const v8::Persistent<S>&) [with S = v8::Object; T = v8::Value]' is deprecated: Use Global<> instead [-Wdeprecated-declarations]
   info.GetReturnValue().Set(handle);
   ^~~~
In file included from /root/.node-gyp/12.3.1/include/node/node.h:63:0,
                 from ../src/coroutine.h:1,
                 from ../src/fibers.cc:1:
/root/.node-gyp/12.3.1/include/node/v8.h:9990:6: note: declared here
 void ReturnValue<T>::Set(const Persistent<S>& handle) {
      ^~~~~~~~~~~~~~
fibers.target.mk:116: recipe for target 'Release/obj.target/fibers/src/fibers.o' failed
make: Leaving directory '/builds/b.clot/build-and-deploy/Prebid.js/node_modules/fibers/build'
make: *** [Release/obj.target/fibers/src/fibers.o] Error 1
gyp ERR! build error 
gyp ERR! stack Error: `make` failed with exit code: 2
gyp ERR! stack     at ChildProcess.onExit (/usr/local/lib/node_modules/npm/node_modules/node-gyp/lib/build.js:262:23)
gyp ERR! stack     at ChildProcess.emit (events.js:200:13)
gyp ERR! stack     at Process.ChildProcess._handle.onexit (internal/child_process.js:272:12)
gyp ERR! System Linux 3.10.0-957.10.1.el7.x86_64
gyp ERR! command "/usr/local/bin/node" "/usr/local/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild" "--release"
gyp ERR! cwd /builds/b.clot/build-and-deploy/Prebid.js/node_modules/fibers
gyp ERR! node -v v12.3.1
gyp ERR! node-gyp -v v3.8.0
gyp ERR! not ok 
node-gyp exited with code: 1
Please make sure you are using a supported platform and node version. If you
would like to compile fibers on this machine please make sure you have setup your
build environment--
Windows + OS X instructions here: https://github.com/nodejs/node-gyp
Ubuntu users please run: `sudo apt-get install g++ build-essential`
RHEL users please run: `yum install gcc-c++` and `yum groupinstall 'Development Tools'` 
Alpine users please run: `sudo apk add python make g++`

Steps to reproduce

As far as I can tell, this module started to appear with the inclusion of the wdio-mocha-framework module.

Other information

@benjaminclot
Copy link
Contributor Author

As per this post (and others in the project), it is recommended to upgrade WebdriverIO to v5.

@stale
Copy link

stale bot commented Jun 26, 2019

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.

@stale stale bot added the stale label Jun 26, 2019
@stale stale bot closed this as completed Jul 3, 2019
@BartVB
Copy link
Contributor

BartVB commented Jul 24, 2019

Also ran into this.
Trying to build Prebid on MacOS with NodeJS v12.6.8 (default Homebew version) which results in the errors mentioned above.

@vladgurgov
Copy link
Contributor

vladgurgov commented Aug 3, 2019

@BartVB I run into the same issue. I got no time looking into that (seems I need to upgrade WebdriverIO somewhere?) but i just wanted to point out that switching back to node v11.6.0 solves that issue. Hope that helps.

@benjaminclot
Copy link
Contributor Author

Still fails with the node:latest Docker image (NodeJS v12.7).

@c0d3runn3r
Copy link

Failing for me too

@brondsem
Copy link
Contributor

I got this on MacOS with node v12.10.0 too. Should this issue be reopened?

@icarusfactor
Copy link

I used "n" to install an alternate version of node with command "n 11.6.0" and made it default by using just "n" . Then rerun the command and it compiled fine. You can install n and use it with "npm i n"

@GLStephen
Copy link
Collaborator

Installing build essentials for similar for your Linux variant seems to improve this as well. Node 11.15.0 seemed to be the last piece of the puzzle for me.

@GLStephen
Copy link
Collaborator

GLStephen commented Jan 24, 2020

Using the version from https://github.com/prebid/Prebid.js/blob/master/.nvmrc also works. Given that it is clearly the recommended version:

nvm install
nvm use

Seems to be the way to go.

@jsnellbaker
Copy link
Collaborator

In lieu of the above PR, I will be working on updating our version of webdriverio to 5 and implement the necessary changes in the e2e tests and config files (as there appear to be a few breaking changes from 4 > 5).

I will create a new PR with the combined set of changes, which should allow us to use node 12.

@jsnellbaker jsnellbaker reopened this Feb 19, 2020
@stale stale bot removed the stale label Feb 19, 2020
@jsnellbaker jsnellbaker self-assigned this Feb 19, 2020
@stale
Copy link

stale bot commented Mar 4, 2020

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.

@stale stale bot added the stale label Mar 4, 2020
@jsnellbaker jsnellbaker added pinned won't be closed by stalebot and removed stale labels Mar 4, 2020
aaronk added a commit to harvardinformatics/ifxdjango that referenced this issue Apr 6, 2020
…ebid.js#3878)

Fix drf port mapping
Added note about applyDevData to README.  If Demo is accessed without using applyDevData, a disabled veradmin
will be created that will conflict with the initDev one.
andymbryant pushed a commit to harvardinformatics/ifxdjango that referenced this issue Apr 9, 2020
…ebid.js#3878)

Fix drf port mapping
Added note about applyDevData to README.  If Demo is accessed without using applyDevData, a disabled veradmin
will be created that will conflict with the initDev one.
aaronk added a commit to harvardinformatics/ifxdjango that referenced this issue Apr 9, 2020
* updated docker-ui file to pull from node, commented out model import in init.py

* Roll node version back to 11 to avoid "fibers" build error (prebid/Prebid.js#3878)
Fix drf port mapping
Added note about applyDevData to README.  If Demo is accessed without using applyDevData, a disabled veradmin
will be created that will conflict with the initDev one.

* run instead of exec.  Functions better as an independent command in the README

* update authenticated logic in app component

* Remove .vue processing from django-admin so that Vue mustache fields aren't affected.

Co-authored-by: Andy Bryant <andybryant@FDOS-ABRYANT-1.local>
aaronk added a commit to harvardinformatics/ifxdjango that referenced this issue Apr 9, 2020
* updated docker-ui file to pull from node, commented out model import in init.py

* Roll node version back to 11 to avoid "fibers" build error (prebid/Prebid.js#3878)
Fix drf port mapping
Added note about applyDevData to README.  If Demo is accessed without using applyDevData, a disabled veradmin
will be created that will conflict with the initDev one.

* run instead of exec.  Functions better as an independent command in the README

* rolled node back to 11, audited packages

* update authenticated logic in app component

* added templatetag verbatims to vue template strings

* updated template tags with spacing

* updated string template formatting and spacing

Co-authored-by: Andy Bryant <andybryant@FDOS-ABRYANT-1.local>
@jsnellbaker
Copy link
Collaborator

This should be fixed with Prebid.js 3.22.0 where a number of the packages were updated to support newer node versions.

Closing this for now.

aaronk added a commit to harvardinformatics/ifxdjango that referenced this issue Mar 23, 2021
…ebid.js#3878)

Fix drf port mapping
Added note about applyDevData to README.  If Demo is accessed without using applyDevData, a disabled veradmin
will be created that will conflict with the initDev one.
aaronk added a commit to harvardinformatics/ifxdjango that referenced this issue Mar 23, 2021
…ebid.js#3878)

Fix drf port mapping
Added note about applyDevData to README.  If Demo is accessed without using applyDevData, a disabled veradmin
will be created that will conflict with the initDev one.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
pinned won't be closed by stalebot
Projects
None yet
Development

No branches or pull requests

8 participants