Test suite fails on ppc64le
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
- Ambito
- backend, testing-qa
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
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di microsoft/node-spdlog
-
Difficoltà 4/5 3-5 giorni Idoneità per principianti 35/100
microsoft/node-spdlog#55 · 1 commento ·
-
Difficoltà 4/5 3-5 giorni Idoneità per principianti 28/100
microsoft/node-spdlog#52 · 1 commento · 2 reazioni ·
Tutte le issue di microsoft/node-spdlog
Issue simili
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 70/100
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 75/100
mksglu/context-mode#1200 ·
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 75/100
neondatabase/website#5944 ·
-
module: core
Difficoltà 2/5 1-3 ore Idoneità per principianti 75/100
bigbluebutton/bigbluebutton#25849 ·
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 75/100
jaegertracing/jaeger-ui#4506 ·