[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#627761: marked as done (provide a way to use legacy custom linking)



Your message dated Wed, 25 May 2011 07:50:15 +0000
with message-id <E1QP8r9-00044b-63@franck.debian.org>
and subject line Bug#627761: fixed in ocaml 3.12.0-6
has caused the Debian Bug report #627761,
regarding provide a way to use legacy custom linking
to be marked as done.

This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.

(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact owner@bugs.debian.org
immediately.)


-- 
627761: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=627761
Debian Bug Tracking System
Contact owner@bugs.debian.org with problems
--- Begin Message ---
Package: ocaml
Version: 3.12.0-5
Severity: normal

It appears that the new "-output-obj" style strategy for generating
-custom bytecode executables
(cf. patches/0011-Embed-bytecode-in-C-object-when-using-custom.patch)
has broken the normal usage of stack backtraces in such executables.
We have a large OCaml application that links with a number of
native-code libraries; we use native-code compilation for most
purposes, but also use byte compilation specifically to support
debugging. In particular we run with OCAMLRUNPARAM=b to get stack
backtraces from uncaught OCaml exceptions.

When I upgraded to the latest Debian OCaml packages, this stopped
working. Now when I try to run a ELF-wrapper-around-bytecode
executable with the environment variable OCAMLRUNPARAM=b to debug an
exception, I see the error message

(Program not linked with -g, cannot print stack backtrace)

even though I did, in fact, compile the program with "-g". It appears
this is because read_debug_info() is searching for debugging
information in the executable and not finding it.

After looking through the OCaml source code, I found that a
combination of undocumented features can be used to provide an
inconvenient workaround to this problem. The relevant debugging
information is being created at link time, but it appears that it is
stored in a file with an unpredictable name in /tmp, with the
extension .cds. Though the file names like "/tmp/camlobjfe90df.cds"
sound like temporary files that would be deleted at the end of
compilation, they are not deleted; I currently have more than 100 such
files (taking more than 250MB) in /tmp. If I supply the undocumented
CAML_DEBUG_FILE environment variable at runtime, pointing to the
correct .cds file, then backtraces work again. However I don't see any
proper way to find the correct filename; hacky things that work
include running ocamlc under "strace -eopen" and looking for the most
recent .cds file in /tmp.

The "strip"ping problem that appeared to motivate the new embedding
process had never bothered us, so another suitable workaround from our
perspective would be if there was a way to disable the
new "-output-obj"-style behavior.

 -- Stephen



--- End Message ---
--- Begin Message ---
Source: ocaml
Source-Version: 3.12.0-6

We believe that the bug you reported is fixed in the latest version of
ocaml, which is due to be installed in the Debian FTP archive:

camlp4-extra_3.12.0-6_amd64.deb
  to main/o/ocaml/camlp4-extra_3.12.0-6_amd64.deb
camlp4_3.12.0-6_amd64.deb
  to main/o/ocaml/camlp4_3.12.0-6_amd64.deb
ocaml-base-nox_3.12.0-6_amd64.deb
  to main/o/ocaml/ocaml-base-nox_3.12.0-6_amd64.deb
ocaml-base_3.12.0-6_amd64.deb
  to main/o/ocaml/ocaml-base_3.12.0-6_amd64.deb
ocaml-compiler-libs_3.12.0-6_amd64.deb
  to main/o/ocaml/ocaml-compiler-libs_3.12.0-6_amd64.deb
ocaml-interp_3.12.0-6_amd64.deb
  to main/o/ocaml/ocaml-interp_3.12.0-6_amd64.deb
ocaml-mode_3.12.0-6_all.deb
  to main/o/ocaml/ocaml-mode_3.12.0-6_all.deb
ocaml-native-compilers_3.12.0-6_amd64.deb
  to main/o/ocaml/ocaml-native-compilers_3.12.0-6_amd64.deb
ocaml-nox_3.12.0-6_amd64.deb
  to main/o/ocaml/ocaml-nox_3.12.0-6_amd64.deb
ocaml-source_3.12.0-6_all.deb
  to main/o/ocaml/ocaml-source_3.12.0-6_all.deb
ocaml_3.12.0-6.debian.tar.gz
  to main/o/ocaml/ocaml_3.12.0-6.debian.tar.gz
ocaml_3.12.0-6.dsc
  to main/o/ocaml/ocaml_3.12.0-6.dsc
ocaml_3.12.0-6_amd64.deb
  to main/o/ocaml/ocaml_3.12.0-6_amd64.deb



A summary of the changes between this version and the previous one is
attached.

Thank you for reporting the bug, which will now be closed.  If you
have further comments please address them to 627761@bugs.debian.org,
and the maintainer will reopen the bug report if appropriate.

Debian distribution maintenance software
pp.
Stéphane Glondu <glondu@debian.org> (supplier of updated ocaml package)

(This message was generated automatically at their request; if you
believe that there is a problem with it please contact the archive
administrators by mailing ftpmaster@debian.org)


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA512

Format: 1.8
Date: Wed, 25 May 2011 07:40:01 +0200
Source: ocaml
Binary: ocaml-nox camlp4 camlp4-extra ocaml ocaml-base-nox ocaml-base ocaml-native-compilers ocaml-source ocaml-interp ocaml-compiler-libs ocaml-mode
Architecture: source amd64 all
Version: 3.12.0-6
Distribution: unstable
Urgency: low
Maintainer: Debian OCaml Maintainers <debian-ocaml-maint@lists.debian.org>
Changed-By: Stéphane Glondu <glondu@debian.org>
Description: 
 camlp4     - Pre Processor Pretty Printer for OCaml
 camlp4-extra - Pre Processor Pretty Printer for OCaml - extras
 ocaml      - ML language implementation with a class-based object system
 ocaml-base - Runtime system for OCaml bytecode executables
 ocaml-base-nox - Runtime system for OCaml bytecode executables (no X)
 ocaml-compiler-libs - OCaml interpreter and standard libraries
 ocaml-interp - OCaml interactive interpreter and standard libraries
 ocaml-mode - major mode for editing Objective Caml in Emacs
 ocaml-native-compilers - Native code compilers of the OCaml suite (the .opt ones)
 ocaml-nox  - ML implementation with a class-based object system (no X)
 ocaml-source - Sources for Objective Caml
Closes: 627756 627761
Changes: 
 ocaml (3.12.0-6) unstable; urgency=low
 .
   * Provide a way to use legacy custom linking (Closes: #627761)
   * Document Debian-specific -custom behaviour in README.Debian
   * Properly initialize executable name in caml_startup_code
     (Closes: #627756)
Checksums-Sha1: 
 c99e42cf8bca274f0f8c031d8bd1930d664ebcd7 2305 ocaml_3.12.0-6.dsc
 5c794bb72657ed14a1d9f46e6981d32532c6f46a 50725 ocaml_3.12.0-6.debian.tar.gz
 d27a9dc9e6dfee4aa40c0c61ca0f251f202bff16 7590348 ocaml-nox_3.12.0-6_amd64.deb
 19a6cbbc93f6c33e37575196248181298b1fddfa 18395500 camlp4_3.12.0-6_amd64.deb
 aa4203f45ed1469785b8779d9771dde9f0df65e7 17758766 camlp4-extra_3.12.0-6_amd64.deb
 bc35a7f10287088eaa95e1672f68c3ab79aca6a4 2174286 ocaml_3.12.0-6_amd64.deb
 43367d93441d6383ea7882cbc4f9ee0b60a88dc8 700664 ocaml-base-nox_3.12.0-6_amd64.deb
 71754bd603e489ca474ae6d93343790bda56cecb 127724 ocaml-base_3.12.0-6_amd64.deb
 f403e849ac69ecedaa31aaf1d335cefa154d9f5a 3202864 ocaml-native-compilers_3.12.0-6_amd64.deb
 b55ce9ea3674319f0ff93894986576f39026204f 2752042 ocaml-source_3.12.0-6_all.deb
 26086c1de20b031a7d326d36c552d9f33460e025 315372 ocaml-interp_3.12.0-6_amd64.deb
 8a46e89af99291c3a3a2069e77dfe10cc7108351 1213590 ocaml-compiler-libs_3.12.0-6_amd64.deb
 ab59c7c93711110563025d16cc7e3cfaa2e91ed7 114904 ocaml-mode_3.12.0-6_all.deb
Checksums-Sha256: 
 bac385e06671e9cf7ea490a9f1d3753608373fa0317d537a6b25b3877d28f92d 2305 ocaml_3.12.0-6.dsc
 a4dbe1e09ad9ab88138c3b54d6eeabf1b562bbc1fedbe26fbfd7b277ec05ae1b 50725 ocaml_3.12.0-6.debian.tar.gz
 d4971c456f060aa53a9cfef6f8ce7e84479ab8a36812d8947f9ceebee73d3da1 7590348 ocaml-nox_3.12.0-6_amd64.deb
 dab6c5b45459bc661d2e7fa2073c99b2e075208f4b239f2588ca4d872ecb85ee 18395500 camlp4_3.12.0-6_amd64.deb
 f18d1af02e1b5797033f9fb47801ea73a8d108af93fd013d10ae232c2301611b 17758766 camlp4-extra_3.12.0-6_amd64.deb
 454e0f83eec1c3fc906f9575453a8402c6e1fc712132aca66bf47264a786c286 2174286 ocaml_3.12.0-6_amd64.deb
 3be1baabf1774206e8abf51d3f2d96addc072f9c816ccfb0534fc0a33458cd48 700664 ocaml-base-nox_3.12.0-6_amd64.deb
 058c98d8443da585202a27850b993dcd2dda3f484e498ea76d9607aa48a29b4d 127724 ocaml-base_3.12.0-6_amd64.deb
 d2fdfe9cb9bff6994a614cad21b1595d2219a7a9014ee554c5be8ef46973b21a 3202864 ocaml-native-compilers_3.12.0-6_amd64.deb
 658b58d7fc1675a94f81989eafa54f4270d04c5eb2b122507b621525c586aae2 2752042 ocaml-source_3.12.0-6_all.deb
 7dd91c2b703e0d7d2a795c07f6eccf1356fee7eda1f3c07eeb912a6c8fed41a5 315372 ocaml-interp_3.12.0-6_amd64.deb
 bc56e2779014f9749971b0e305dbe7ecdbc4163f6644324a29f0f54ef2aae95f 1213590 ocaml-compiler-libs_3.12.0-6_amd64.deb
 95214e1f11576d550d2a54388104cc6e17d596692fd2490dfa5f7eb6007667ee 114904 ocaml-mode_3.12.0-6_all.deb
Files: 
 bbc5d0bb345f1255a9b3ac1324a4f0fd 2305 ocaml optional ocaml_3.12.0-6.dsc
 ef062e7bba6ddb9c099799be37e48b92 50725 ocaml optional ocaml_3.12.0-6.debian.tar.gz
 5a3006015b611e197936d5fd7a157234 7590348 ocaml optional ocaml-nox_3.12.0-6_amd64.deb
 dd73cd4eabf221ad34f74e09da8f877f 18395500 ocaml optional camlp4_3.12.0-6_amd64.deb
 0d64f16b6de5b0d24e1390ead8a61234 17758766 ocaml optional camlp4-extra_3.12.0-6_amd64.deb
 09aabe2e2b7df133310d915a77e659d7 2174286 ocaml optional ocaml_3.12.0-6_amd64.deb
 aa30db0655ad2edba40769afdb9dd8a2 700664 ocaml optional ocaml-base-nox_3.12.0-6_amd64.deb
 2fe0096fd4e5c7d3b13c3df611d3366c 127724 ocaml optional ocaml-base_3.12.0-6_amd64.deb
 273c8cec58315a979f7c964babab88ec 3202864 ocaml optional ocaml-native-compilers_3.12.0-6_amd64.deb
 5315201c9cea0a1e60415ed875e00552 2752042 ocaml optional ocaml-source_3.12.0-6_all.deb
 3b4b1eff7065311d35451fe3106040a6 315372 ocaml optional ocaml-interp_3.12.0-6_amd64.deb
 e9725412111e17205565f30378056187 1213590 ocaml optional ocaml-compiler-libs_3.12.0-6_amd64.deb
 3666e01b0cb6eecdc8ed094cad00f853 114904 ocaml optional ocaml-mode_3.12.0-6_all.deb

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.11 (GNU/Linux)

iQIcBAEBCgAGBQJN3J1rAAoJEHhT2k1JiBrTeuIP/1CFv4hWS2CxRmdHk0UAAmvE
O16N+CqqRWPAK5H4QIVdq0sc5N7wEEY1ApBJYkKjHDeig1FKP7kcvmufL7lGK5e+
j2Q9NpUk0SJzA4acwzGjwS9yT5I7mYAnxQq39s3Xv2xEUomD3Hqg58pqi4eOhkod
2LaDUaDO60xiCT9a9hs6x3c1OLe8u2qxytLbKOfSFhRSiJvXs/q3BNDF8J0lr1th
6fIYatXKh4/+sgb6MlJ18G5dAIKzaa0l6j0OzH9zakEt9ity6ZEyo5likaVQxKRs
4tU5BfUId6TdbW3+nlBgDZViVQQxMC0V5a5M+/1gPjkZoDTee+SicpyE3DyiLWzQ
687oB9Zao6h+0ZnzWpujN3kPKcJEdf63R6TueKUu61tzbHSHYiK93+xni1/3V7QU
QWym79/XYx6WB65c0v4r48Z0LSoCKqeE28rQ0ZBlBzAjvWH2cMj5fWLk5vIUniOq
mzMxW92Ogthfg2wkq1LWEIK93/qT0zXIEbRv1SH9wseVdM9PxQvV46D7t4eY1M97
8cNGMVOu3vlg1Ha4uRwIqOPR1ZEnErIEqxYetLTDdP4vT0awlsFMmP3ai4tUFXht
NoJRdbJdOwb7S+l/lBgGYkAYGpLjstnM0kDrnXCwuoJLRdOYPoCSJ9MwrwhFPuG+
k57UoEmMn7bPEC26dl0b
=fS3r
-----END PGP SIGNATURE-----



--- End Message ---

Reply to: