Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ocaml 3.04 stack overflow during opt.opt build on ia64 (camlp4 related) #3135

Closed
vicuna opened this issue Jan 9, 2002 · 7 comments
Closed
Labels

Comments

@vicuna
Copy link

vicuna commented Jan 9, 2002

Original bug ID: 789
Reporter: administrator
Status: closed
Resolution: fixed
Priority: normal
Severity: minor
Category: ~DO NOT USE (was: OCaml general)

Bug description

Hello, ...

The ocaml 3.04-2 debian package fails to build on ia64 due to a stack overflow
bug during make opt.opt.

I append here a full build log of the pristine ocaml 3.04 tarball from the
inria ftp site as well as the content of /proc/cpuinfo and /proc/version

Here is the last lines of the build log :

make[3]: Entering directory /home/luther/orig/ocaml-3.04/camlp4/camlp4'^M ../../boot/ocamlrun ../../ocamlopt -I ../../stdlib ../odyl/odyl.cmxa camlp4.cmxa -I ../meta pa_r.cmx pa_rp.cmx pr_dump.cmx ../odyl/odyl.cmx -linkall -o ../meta/camlp4r.opt^M make[3]: Leaving directory /home/luther/orig/ocaml-3.04/camlp4/camlp4'^M
make[2]: Leaving directory /home/luther/orig/ocaml-3.04/camlp4/meta'^M make[2]: Entering directory /home/luther/orig/ocaml-3.04/camlp4/etc'^M
../../boot/ocamlrun ../boot/camlp4r -nolib -I ../boot pa_extend.cmo
q_MLast.cmo -o pa_o.ppo pa_o.ml^M
../../boot/ocamlrun ../../ocamlopt -I ../../stdlib -I ../camlp4 -I ../boot -c
-impl pa_o.ppo^M
Uncaught exception: Stack overflow^M
make[2]: *** [pa_o.cmx] Error 2^M
make[2]: Leaving directory /home/luther/orig/ocaml-3.04/camlp4/etc'^M make[1]: *** [optp4] Error 2^M make[1]: Leaving directory /home/luther/orig/ocaml-3.04/camlp4'^M
make: *** [camlp4optopt] Error 2^M

As seen, it is related to camlp4.

For now, i will disable the build of the opt.opt target for the ia64
architecture, in wait for a better fix.

Friendly,

Sven Luther

@vicuna
Copy link
Author

vicuna commented Jan 9, 2002

Comment author: administrator

Salut,

On Wed, Jan 09, 2002 at 04:53:23PM +0100, luther@dpt-info.u-strasbg.fr wrote:

The ocaml 3.04-2 debian package fails to build on ia64 due to a
stack overflow bug during make opt.opt.

C'est un bug connu, référencé plusieurs fois. On est dessus. En attendant,
tu peux éditer le Makefile principal d'OCaml et changer la ligne:
opt.opt: ocamlc.opt ocamlopt.opt ocamllex.opt camlp4optopt
en:
opt.opt: ocamlc.opt ocamlopt.opt ocamllex.opt

--
Daniel de RAUGLAUDRE
daniel.de_rauglaudre@inria.fr
http://cristal.inria.fr/~ddr/

@vicuna
Copy link
Author

vicuna commented Jan 9, 2002

Comment author: administrator

En attendant,
tu peux éditer le Makefile principal d'OCaml et changer la ligne:
opt.opt: ocamlc.opt ocamlopt.opt ocamllex.opt camlp4optopt
en:
opt.opt: ocamlc.opt ocamlopt.opt ocamllex.opt

Ou bien utiliser la variable d'environnement OCAMLRUNPARAM pour
reduire la taille du tas mineur:

export OCAMLRUNPARAM='s=16k' (ou 10k, etc.)
make opt.opt

-- Damien

@vicuna
Copy link
Author

vicuna commented Jan 9, 2002

Comment author: administrator

The ocaml 3.04-2 debian package fails to build on ia64 due to a
stack overflow bug during make opt.opt.

C'est un bug connu, référencé plusieurs fois. On est dessus.

En fait, non: c'est sur ia64, pas sur Power PC. Malheureusement, nous
n'avons plus accès à une machine IA64, donc ocaml doit être considéré
comme non maintenu sur cette plate-forme. Je ne sais même pas s'il
est sage d'en faire un package Debian dans ces conditions...

  • Xavier Leroy

@vicuna
Copy link
Author

vicuna commented Jan 9, 2002

Comment author: administrator

On Wed, Jan 09, 2002 at 08:26:05PM +0100, Xavier Leroy wrote:

The ocaml 3.04-2 debian package fails to build on ia64 due to a
stack overflow bug during make opt.opt.

C'est un bug connu, référencé plusieurs fois. On est dessus.

En fait, non: c'est sur ia64, pas sur Power PC. Malheureusement, nous
n'avons plus accès à une machine IA64, donc ocaml doit être considéré
comme non maintenu sur cette plate-forme. Je ne sais même pas s'il
est sage d'en faire un package Debian dans ces conditions...

Euh, j'ai acces a une machine ia64, je peut etre voir si vous pouvez y avoir
acces. Sinon, je peut compiler que le bytecode, cela devrait marcher sur
n'importe quelle architecture, n'est-ce pas ?

Amicalement,

Sven Luther

@vicuna
Copy link
Author

vicuna commented Jan 10, 2002

Comment author: administrator

Euh, j'ai acces a une machine ia64, je peut etre voir si vous pouvez y avoir
acces.

En fait, j'ai rencontré ce matin un collègue de l'ENS Lyon qui a une machine
IA64 et va m'ouvrir un compte dessus. On va pouvoir débugger!

Sinon, je peut compiler que le bytecode, cela devrait marcher sur
n'importe quelle architecture, n'est-ce pas ?

Oui, tout à fait. En fait, tu peux même compiler ocamlopt, mais avec
une petite note "attention, c'est expérimental et pas forcément très
stable".

Amicalement,

  • Xavier

@vicuna
Copy link
Author

vicuna commented Jan 10, 2002

Comment author: administrator

On Thu, Jan 10, 2002 at 02:45:01PM +0100, Xavier Leroy wrote:

Euh, j'ai acces a une machine ia64, je peut etre voir si vous pouvez y avoir
acces.

En fait, j'ai rencontré ce matin un collègue de l'ENS Lyon qui a une machine
IA64 et va m'ouvrir un compte dessus. On va pouvoir débugger!

Sinon, je peut compiler que le bytecode, cela devrait marcher sur
n'importe quelle architecture, n'est-ce pas ?

Oui, tout à fait. En fait, tu peux même compiler ocamlopt, mais avec
une petite note "attention, c'est expérimental et pas forcément très
stable".

Mmm, d'accord, quoi que je doute que quelqu'un utilise vraiment ocaml sur ia64
pour le moment, mais bon cela peut changer dans le future.

Amicalement,

Sven Luther

@vicuna
Copy link
Author

vicuna commented Jun 3, 2002

Comment author: administrator

make opt.opt works OK on IA64 with 3.04+12.

3.04 needed a lot of stack space because of recursion in the minor GC.
As of 3.04+10, we need more than 512k (but less than 1M) of stack to make
opt.opt. -- Damien

@vicuna vicuna closed this as completed Jun 3, 2002
@vicuna vicuna added the bug label Mar 19, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

1 participant