python / python/cpython

[BOLT] [3.12] Python 3.12.7 --enable bolt option not working

Ouverte
#124,948 17 commentaires 0 réactions 1 personne assignée Voir sur GitHub

@corona10 y travaille déjà.

Depuis le 4/10/2024.

  • #128572 par @miss-islington — fusionnée
build type-bug
Langage dominant
Python
Étoiles
77.2k
Forks
36k
Métriques de merge des PR
Métriques de PR en attente

Description

Bug report

Bug description:

Hi together,

After updating llvm-bolt to 19.1.0 it is not possible to use the --enable-bolt function anymore.
Following can be found in the log:

BOLT-INFO: 0 out of 5950 functions in the binary (0.0%) have non-empty execution profile
BOLT-INSTRUMENTER: Number of indirect call site descriptors: 7119
BOLT-INSTRUMENTER: Number of indirect call target descriptors: 5874
BOLT-INSTRUMENTER: Number of function descriptors: 5874
BOLT-INSTRUMENTER: Number of branch counters: 78400
BOLT-INSTRUMENTER: Number of ST leaf node counters: 40936
BOLT-INSTRUMENTER: Number of direct call counters: 0
BOLT-INSTRUMENTER: Total number of counters: 119336
BOLT-INSTRUMENTER: Total size of counters: 954688 bytes (static alloc memory)
BOLT-INSTRUMENTER: Total size of string table emitted: 133862 bytes in file
BOLT-INSTRUMENTER: Total size of descriptors: 7642344 bytes in file
BOLT-INSTRUMENTER: Profile will be saved to file /tmp/pkg/src/Python-3.12.7/libpython3.12.so.1.0.bolt
BOLT-INFO: 65850 instructions were shortened
BOLT-INFO: removed 134 empty blocks
BOLT-INFO: UCE removed 1155 blocks and 71042 bytes of code
BOLT-INFO: padding code to 0xe00000 to accommodate hot text
BOLT-INFO: output linked against instrumentation runtime library, lib entry point is 0xf90930
BOLT-INFO: clear procedure is 0xf8c380
BOLT-INFO: patched build-id (flipped last bit)
BOLT-INFO: setting __bolt_runtime_start to 0xf908e0
BOLT-INFO: setting __bolt_runtime_fini to 0xf90930
BOLT-INFO: setting __hot_start to 0x800000
BOLT-INFO: setting __hot_end to 0xdf7438
BOLT-ERROR: unable to get new address corresponding to input address 0x1a6e11 in function sre_ucs1_match/1. Consider adding this function to --skip-funcs=...
make[1]: *** [Makefile:856: profile-bolt-stamp] Error 1
make[1]: Leaving directory '/tmp/pkg/src/Python-3.12.7'
make: *** [Makefile:885: bolt-opt] Error 2
==> ERROR: A failure occurred in build().

so, it appears to fail at the instrumentation and suggest to add --skip-funcs=sre_ucs1_match/*.

CPython versions tested on:

3.12

Operating systems tested on:

Linux

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.

Évaluation

Cette issue n'a pas encore été évaluée.

Recevez les nouvelles issues par e-mail

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