Hacktoberfest 2026: le issue che i maintainer hanno segnato per ottobre, aperte e adatte ai principianti. Sfoglia le issue Hacktoberfest

Test suite fails on ppc64le

Aperta
#40 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub

Nessuno ha ancora preso questa issue.

Valutazione

Difficoltà
4/5
Tempo stimato
3-5 giorni
Idoneità per principianti
25/100
Tipo di issue
Bug
Chiarezza
Da chiarire
Stato di attività
Ferma
Stack tecnologico
cpp, electron, javascript, node.js

Direzione di ricerca

Riproduci il malfunzionamento su ppc64le con npm install e ELECTRON_RUN_AS_NODE=1 /usr/lib64/electron-26/electron ./node_modules/.bin/mocha. Inizia esaminando src/main.cc e src/logger.cc insieme al backtrace riportato in build/Release/spdlog.node; il lavoro è completato quando i test dell’API terminano senza segmentation fault su quella piattaforma.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

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/spdlog@0.13.11 install
> node-gyp rebuild

gyp info it worked if it ends with ok
gyp info using node-gyp@9.3.1
gyp info using node@18.17.1 | 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/user@1000.service/session.slice/vte-spawn-bc9c63ba-b11d-4ae2-a027-0dcdc029825a.scope
          Unit: user@1000.service
     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 https://github.com/microsoft/vscode/issues/182743

@madscientist159

Lingua principale
JavaScript
Stelle
58
Fork
30
Merge medio
3g 23h
PR unite (30g)
3

Guida per i contributori

Nessuna guida per i contributori indicizzata per questo repository

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di microsoft/node-spdlog

Tutte le issue di microsoft/node-spdlog

Issue simili

Altre issue su JavaScript

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.