Skip to content

Test suite fails on ppc64le #40

@darkbasic

Description

@darkbasic
niko@talos2 ~/devel/node-spdlog $ git submodule update --init --recursive
Submodule 'deps/spdlog' (https://github.com/gabime/spdlog.git) registered for path 'deps/spdlog'
Cloning into '/home/niko/devel/node-spdlog/deps/spdlog'...
Submodule path 'deps/spdlog': checked out 'ad0e89cbfb4d0c1ce4d097e134eb7be67baebb36'
niko@talos2 ~/devel/node-spdlog $ npm_config_nodedir=/usr/include/electron-26/node npm install

> @vscode/[email protected] install
> node-gyp rebuild

gyp info it worked if it ends with ok
gyp info using [email protected]
gyp info using [email protected] | linux | ppc64
gyp info find Python using Python version 3.11.5 found at "/usr/lib/python-exec/python3.11/python3"
gyp info spawn /usr/lib/python-exec/python3.11/python3
gyp info spawn args [
gyp info spawn args   '/home/niko/.local/share/fnm/node-versions/v18.17.1/installation/lib/node_modules/npm/node_modules/node-gyp/gyp/gyp_main.py',
gyp info spawn args   'binding.gyp',
gyp info spawn args   '-f',
gyp info spawn args   'make',
gyp info spawn args   '-I',
gyp info spawn args   '/home/niko/devel/node-spdlog/build/config.gypi',
gyp info spawn args   '-I',
gyp info spawn args   '/home/niko/.local/share/fnm/node-versions/v18.17.1/installation/lib/node_modules/npm/node_modules/node-gyp/addon.gypi',
gyp info spawn args   '-I',
gyp info spawn args   '/usr/include/electron-26/node/include/node/common.gypi',
gyp info spawn args   '-Dlibrary=shared_library',
gyp info spawn args   '-Dvisibility=default',
gyp info spawn args   '-Dnode_root_dir=/usr/include/electron-26/node',
gyp info spawn args   '-Dnode_gyp_dir=/home/niko/.local/share/fnm/node-versions/v18.17.1/installation/lib/node_modules/npm/node_modules/node-gyp',
gyp info spawn args   '-Dnode_lib_file=/usr/include/electron-26/node/$(Configuration)/node.lib',
gyp info spawn args   '-Dmodule_root_dir=/home/niko/devel/node-spdlog',
gyp info spawn args   '-Dnode_engine=v8',
gyp info spawn args   '--depth=.',
gyp info spawn args   '--no-parallel',
gyp info spawn args   '--generator-output',
gyp info spawn args   'build',
gyp info spawn args   '-Goutput_dir=.'
gyp info spawn args ]
gyp info spawn make
gyp info spawn args [ 'BUILDTYPE=Release', '-C', 'build' ]
make: Entering directory '/home/niko/devel/node-spdlog/build'
  CXX(target) Release/obj.target/spdlog/src/main.o
In file included from /usr/include/electron-26/node/include/node/v8-object.h:10,
                 from /usr/include/electron-26/node/include/node/v8-array-buffer.h:13,
                 from /usr/include/electron-26/node/include/node/v8.h:24,
                 from /usr/include/electron-26/node/include/node/node.h:79,
                 from ../node_modules/nan/nan.h:60,
                 from ../src/main.cc:7:
/usr/include/electron-26/node/include/node/v8-persistent-handle.h:245:44: warning: ‘template<class T> struct v8::CopyablePersistentTraits’ is deprecated: Use v8::Global instead [-Wdeprecated-declarations]
  245 |   using CopyablePersistent = Persistent<T, CopyablePersistentTraits<T>>;
      |                                            ^~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/electron-26/node/include/node/v8-persistent-handle.h:244:48: note: declared here
  244 | struct V8_DEPRECATED("Use v8::Global instead") CopyablePersistentTraits {
      |                                                ^~~~~~~~~~~~~~~~~~~~~~~~
../node_modules/nan/nan.h:206:16: warning: ‘template<class T> struct v8::CopyablePersistentTraits’ is deprecated: Use v8::Global instead [-Wdeprecated-declarations]
  206 |     public v8::CopyablePersistentTraits<T> {};
      |                ^~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/electron-26/node/include/node/v8-persistent-handle.h:244:48: note: declared here
  244 | struct V8_DEPRECATED("Use v8::Global instead") CopyablePersistentTraits {
      |                                                ^~~~~~~~~~~~~~~~~~~~~~~~
../node_modules/nan/nan.h: In function ‘bool Nan::IdleNotification(int)’:
../node_modules/nan/nan.h:686:63: warning: ‘bool v8::Isolate::IdleNotificationDeadline(double)’ is deprecated: Use MemoryPressureNotification() to influence the GC schedule. [-Wdeprecated-declarations]
  686 |     return v8::Isolate::GetCurrent()->IdleNotificationDeadline(
      |            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
  687 |         idle_time_in_ms * 0.001);
      |         ~~~~~~~~~~~~~~~~~~~~~~~~                               
In file included from /usr/include/electron-26/node/include/node/v8-initialization.h:13,
                 from /usr/include/electron-26/node/include/node/v8.h:34:
/usr/include/electron-26/node/include/node/v8-isolate.h:1297:8: note: declared here
 1297 |   bool IdleNotificationDeadline(double deadline_in_seconds);
      |        ^~~~~~~~~~~~~~~~~~~~~~~~
../src/main.cc: At global scope:
/usr/include/electron-26/node/include/node/node.h:1010:7: warning: cast between incompatible function types from ‘void (*)(Nan::ADDON_REGISTER_FUNCTION_ARGS_TYPE)’ {aka ‘void (*)(v8::Local<v8::Object>)’} to ‘node::addon_register_func’ {aka ‘void (*)(v8::Local<v8::Object>, v8::Local<v8::Value>, void*)’} [-Wcast-function-type]
 1010 |       (node::addon_register_func) (regfunc),                          \
      |       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/electron-26/node/include/node/node.h:1044:3: note: in expansion of macro ‘NODE_MODULE_X’
 1044 |   NODE_MODULE_X(modname, regfunc, NULL, 0)  // NOLINT (readability/null_usage)
      |   ^~~~~~~~~~~~~
../src/main.cc:18:1: note: in expansion of macro ‘NODE_MODULE’
   18 | NODE_MODULE(spdlog, Init)
      | ^~~~~~~~~~~
  CXX(target) Release/obj.target/spdlog/src/logger.o
In file included from /usr/include/electron-26/node/include/node/v8-object.h:10,
                 from /usr/include/electron-26/node/include/node/v8-array-buffer.h:13,
                 from /usr/include/electron-26/node/include/node/v8.h:24,
                 from /usr/include/electron-26/node/include/node/node.h:79,
                 from ../node_modules/nan/nan.h:60,
                 from ../src/logger.h:10,
                 from ../src/logger.cc:12:
/usr/include/electron-26/node/include/node/v8-persistent-handle.h:245:44: warning: ‘template<class T> struct v8::CopyablePersistentTraits’ is deprecated: Use v8::Global instead [-Wdeprecated-declarations]
  245 |   using CopyablePersistent = Persistent<T, CopyablePersistentTraits<T>>;
      |                                            ^~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/electron-26/node/include/node/v8-persistent-handle.h:244:48: note: declared here
  244 | struct V8_DEPRECATED("Use v8::Global instead") CopyablePersistentTraits {
      |                                                ^~~~~~~~~~~~~~~~~~~~~~~~
../node_modules/nan/nan.h:206:16: warning: ‘template<class T> struct v8::CopyablePersistentTraits’ is deprecated: Use v8::Global instead [-Wdeprecated-declarations]
  206 |     public v8::CopyablePersistentTraits<T> {};
      |                ^~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/electron-26/node/include/node/v8-persistent-handle.h:244:48: note: declared here
  244 | struct V8_DEPRECATED("Use v8::Global instead") CopyablePersistentTraits {
      |                                                ^~~~~~~~~~~~~~~~~~~~~~~~
../node_modules/nan/nan.h: In function ‘bool Nan::IdleNotification(int)’:
../node_modules/nan/nan.h:686:63: warning: ‘bool v8::Isolate::IdleNotificationDeadline(double)’ is deprecated: Use MemoryPressureNotification() to influence the GC schedule. [-Wdeprecated-declarations]
  686 |     return v8::Isolate::GetCurrent()->IdleNotificationDeadline(
      |            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
  687 |         idle_time_in_ms * 0.001);
      |         ~~~~~~~~~~~~~~~~~~~~~~~~                               
In file included from /usr/include/electron-26/node/include/node/v8-initialization.h:13,
                 from /usr/include/electron-26/node/include/node/v8.h:34:
/usr/include/electron-26/node/include/node/v8-isolate.h:1297:8: note: declared here
 1297 |   bool IdleNotificationDeadline(double deadline_in_seconds);
      |        ^~~~~~~~~~~~~~~~~~~~~~~~
  SOLINK_MODULE(target) Release/obj.target/spdlog.node
  COPY Release/spdlog.node
make: Leaving directory '/home/niko/devel/node-spdlog/build'
gyp info ok 

added 83 packages, and audited 84 packages in 35s

20 packages are looking for funding
  run `npm fund` for details

found 0 vulnerabilities
niko@talos2 ~/devel/node-spdlog $ ELECTRON_RUN_AS_NODE=1 /usr/lib64/electron-26/electron ./node_modules/.bin/mocha


  API
    ✔ Version
    ✔ Logger is present
Segmentation fault (core dumped)
talos2 ~ # coredumpctl list
TIME                             PID  UID  GID SIG     COREFILE EXE                                                                                  SIZE
Wed 2023-09-06 10:19:13 CEST   17392 1000 1000 SIGSEGV present  /usr/lib64/electron-26/electron                                                      7.0M
talos2 ~ # coredumpctl gdb 17392
           PID: 17392 (electron)
           UID: 1000 (niko)
           GID: 1000 (niko)
        Signal: 11 (SEGV)
     Timestamp: Wed 2023-09-06 10:19:12 CEST (26s ago)
  Command Line: /usr/lib64/electron-26/electron ./node_modules/.bin/mocha
    Executable: /usr/lib64/electron-26/electron
 Control Group: /user.slice/user-1000.slice/[email protected]/session.slice/vte-spawn-bc9c63ba-b11d-4ae2-a027-0dcdc029825a.scope
          Unit: [email protected]
     User Unit: vte-spawn-bc9c63ba-b11d-4ae2-a027-0dcdc029825a.scope
         Slice: user-1000.slice
     Owner UID: 1000 (niko)
       Boot ID: a573b4c3072b46e6abcf694bbc2c58d5
    Machine ID: b3e834569b8ff461391f5ac061feb773
      Hostname: talos2
       Storage: /var/lib/systemd/coredump/core.electron.1000.a573b4c3072b46e6abcf694bbc2c58d5.17392.1693988352000000.zst (present)
  Size on Disk: 7.0M
       Message: Process 17392 (electron) of user 1000 dumped core.

GNU gdb (Gentoo 13.2 vanilla) 13.2
Copyright (C) 2023 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
Type "show copying" and "show warranty" for details.
This GDB was configured as "powerpc64le-unknown-linux-gnu".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
<https://bugs.gentoo.org/>.
Find the GDB manual and other documentation resources online at:
    <http://www.gnu.org/software/gdb/documentation/>.

For help, type "help".
Type "apropos word" to search for commands related to "word"...
Reading symbols from /usr/lib64/electron-26/electron...
[New LWP 17392]
[New LWP 17394]
[New LWP 17395]
[New LWP 17397]
[New LWP 17396]
[New LWP 17393]
[New LWP 17399]
[New LWP 17401]
[New LWP 17398]
[New LWP 17402]
[New LWP 17403]
[New LWP 17400]
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/usr/lib64/libthread_db.so.1".
Core was generated by `/usr/lib64/electron-26/electron ./node_modules/.bin/mocha '.
Program terminated with signal SIGSEGV, Segmentation fault.
#0  0x00003fff74e224d4 in Nan::imp::FunctionCallbackWrapper(v8::FunctionCallbackInfo<v8::Value> const&) () from /home/niko/devel/node-spdlog/build/Release/spdlog.node
[Current thread is 1 (Thread 0x3fff8127b040 (LWP 17392))]
(gdb) backtrace
#0  0x00003fff74e224d4 in Nan::imp::FunctionCallbackWrapper(v8::FunctionCallbackInfo<v8::Value> const&) () at /home/niko/devel/node-spdlog/build/Release/spdlog.node
#1  0x0000000132818c34 in v8::internal::FunctionCallbackArguments::Call(v8::internal::CallHandlerInfo) (this=0x3fffffa68018, handler=...) at ../../v8/src/api/api-arguments-inl.h:99
#2  v8::internal::(anonymous namespace)::HandleApiCallHelper<true>(v8::internal::Isolate*, v8::internal::Handle<v8::internal::HeapObject>, v8::internal::Handle<v8::internal::FunctionTemplateInfo>, v8::internal::Handle<v8::internal::Object>, unsigned long*, int)
    (isolate=0x17d401140000, new_target=..., fun_data=..., receiver=..., argv=<optimized out>, argc=<optimized out>) at ../../v8/src/builtins/builtins-api.cc:113
#3  0x00000001328181c4 in v8::internal::Builtin_Impl_HandleApiConstruct(v8::internal::BuiltinArguments, v8::internal::Isolate*) (args=..., isolate=<optimized out>) at ../../v8/src/builtins/builtins-api.cc:144
#4  v8::internal::Builtin_HandleApiConstruct(int, unsigned long*, v8::internal::Isolate*) (args_length=10, args_object=<optimized out>, isolate=0x17d401140000) at ../../v8/src/builtins/builtins-api.cc:135
#5  0x000000013392b880 in Builtins_CEntry_Return1_ArgvOnStack_BuiltinExit ()
(gdb)

See also microsoft/vscode#182743

@madscientist159

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions