nodejs / nodejs/node

V8 build error with 22.7.0

Ouverte
#54,576 14 commentaires 0 réactions 0 personnes assignées Voir sur GitHub

Personne n'a encore pris cette issue.

build confirmed-bug v8 engine
Langage dominant
JavaScript
Étoiles
122k
Forks
37.3k
Merge moyen
4 j 2 h
PR mergées (30 j)
283

Description

Like https://github.com/nodejs/node/issues/53633 which was for gcc 12 and fixed in commit f4a7ac5e1842c0f4629a0bebfda38f2502a2ee41 but with clang 15.0.7 on x86_64 linux I get the exact same build error:

../deps/v8/src/base/small-vector.h:25:3: error: static assertion failed due to requirement '::v8::base::is_trivially_copyable<std::pair<const v8::internal::com
piler::turboshaft::PhiOp *, const v8::internal::compiler::turboshaft::OpIndex>>::value': T should be trivially copyable                                        
  ASSERT_TRIVIALLY_COPYABLE(T);                                                                                                                                
  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~                                                                                                                                 
../deps/v8/src/base/macros.h:211:3: note: expanded from macro 'ASSERT_TRIVIALLY_COPYABLE'                                                                      
  static_assert(::v8::base::is_trivially_copyable<T>::value, \                                                                                                 
  ^             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~                                                                                                    
../deps/v8/src/compiler/turboshaft/loop-unrolling-reducer.h:431:65: note: in instantiation of template class 'v8::base::SmallVector<std::pair<const v8::interna
l::compiler::turboshaft::PhiOp *, const v8::internal::compiler::turboshaft::OpIndex>, 16>' requested here                                                      
  base::SmallVector<std::pair<const PhiOp*, const OpIndex>, 16> phis;

Maybe just remove that ASSERT_TRIVIALLY_COPYABLE? Upstream already tests for correctness and to us it's just a recurring source of build breakage.

Guide de contribution

Ouvrir le guide de contribution

Par où commencer

  1. Lisez l'issue en entier, puis le guide de contribution du projet.
  2. Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
  3. Forkez le dépôt et travaillez sur une branche.
  4. Ouvrez une pull request qui référence le numéro de l'issue.

Piste de recherche

Commencez par comparer l’échec dans deps/v8/src/base/small-vector.h et deps/v8/src/compiler/turboshaft/loop-unrolling-reducer.h avec l’issue associée 53633 et le commit f4a7ac5e1842c0f4629a0bebfda38f2502a2ee41. Vérifiez l’assertion dans deps/v8/src/base/macros.h et reproduisez le build clang 15.0.7 x86_64 Linux. C’est terminé lorsque le build réussit sans affaiblir les vérifications de correction.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Évaluation

Stack technique
cpp, linux
Domaine
build-system, compilers, operating-systems
Type d'issue
Bug
Difficulté
4/5
Temps estimé
3-5 jours
Activité
À l'abandon
Clarté
Plutôt claire
Accessibilité débutants
35/100

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.