monotone

Issue 156: mtn 1.0 (and some others have build/run failures)

Reported by Tony Cooper, Mar 27, 2011

I have experienced two problems when building and running mtn on 
WhiteBox Linux 4 respin 2 (pretty much equivalent to RHAS 4.2/4.3 
Intel 32 bit).

1) The link command for mtn is missing -ldl and -lrt. Adding these 
makes it link ok. (-lrt needed for clock_gettime() and -ldl for a 
number of the dl library routines).

2) When run for most things it errors with an illegal instruction 
message:

-----
$ mtn --db=test-1_00.mtn db init
mtn: fatal signal: Illegal instruction
this is almost certainly a bug in monotone.
please send this error message, the output of 'mtn version --full',
and a description of what you were doing to <
https://code.monotone.ca/p/monotone/issues/>
do not send a core dump, but if you have one, 
please preserve it in case we ask you for information from it.
Illegal instruction
-----

mtn version --full gives:

-----
monotone 1.0 (base revision:
3405a2457cf8869f247a293d30cfe3a41b5eb5a2)
Running on          : Linux 2.6.9-34.EL #1 Sun Mar 19 13:34:16 CST 
2006 i686
C++ compiler        : GNU C++ version 3.4.5 20051201 (Red Hat 
3.4.5-2)
C++ standard library: GNU libstdc++ version 20051201
Boost version       : 1_33_1
SQLite version      : 3.4.2 (compiled against 3.4.2)
Lua version         : Lua 5.1
PCRE version        : 4.5 01-December-2003 (compiled against 7.9)
Botan version       : 1.8.2 (compiled against 1.8.2)
Changes since base revision:
format_version "1"

new_manifest [b252820fde344fd3f5d023fd91de86522baa671d]

old_revision [3405a2457cf8869f247a293d30cfe3a41b5eb5a2]

patch "NEWS"
 from [c636641e064654102ff4c37362c07cad9726c7a2]
   to [282addc1d59cc722b9e713aa5e04605e9bd2289d]

  Generated from data cached in the distribution;
  further changes may have been made.
-----

I should also say that I have never had issues with the pre-built 
binaries.

I can provide an strace should that be useful.

Running in a debugger I get the following stack trace at the time 
the signal is caught:
#0  0x08515843 in botan_sha1_sse2_compress ()
#1  0x00000000 in ?? ()

Cheers,

Tony.

Comment 1 by Stephen Leake, Mar 29, 2011

The stack trace indicates that Botan is trying to use SSE2 
instructions; does your CPU actually have those?

Did you compile Botan from source? If not, try that, and try 
explicitly disabling SSE2.

Also, the PCRE versions don't match; it says you compiled with 
version 7.9, but are using 4.5 runtime library.

Comment 2 by Tony Cooper, Apr 9, 2011

As I suspected - this was a bit of a red herring.

Builds ok on Debian 5/6 and runs without crashing. I like Stephen's 
theory on this one, no SSE processor support for for an SSE enabled 
Botan library. The old build environment was a VM that was run on 
processors with and without SSE support and I suspect that when the 
Botan library was built it was on the box with SSE support. However 
I could not get Botan to build (I have no idea or record of how I 
did this before either, too old an STL perhaps?).

On Debian 5/6 it built but it missed off some linker library 
switches on Deb5. I tracked this down to a missing .pc file for one 
of the additional libraries installed via a standard Debian package. 
Recreating this file led to a completely clean build and so this is 
a Deb 5 packaging issue.

The Debian 5/6 binaries ran with no problems.

So I am closing this ticket.

Cheers,

Tony.

Comment 3 by Tony Cooper, Apr 9, 2011

Status: WontFix

Created: 13 years 30 days ago by Tony Cooper

Updated: 13 years 17 days ago

Status: WontFix

Followed by: 1 person

Labels:
Type:Crash
Priority:Medium

Quick Links:     www.monotone.ca    -     Downloads    -     Documentation    -     Wiki    -     Code Forge    -     Build Status