Your message dated Sat, 27 Feb 2016 19:23:59 +0100
with message-id <56d1e9bf.8010...@debian.org>
and subject line Re: virtuoso-opensource: FTBFS on armel
has caused the Debian Bug report #576910,
regarding virtuoso-opensource: FTBFS on armel
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 ow...@bugs.debian.org
immediately.)


-- 
576910: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=576910
Debian Bug Tracking System
Contact ow...@bugs.debian.org with problems
--- Begin Message ---
Package: virtuoso-opensource
Version: 6.1.0+dfsg2-2
Severity: serious
Tags: confirmed upstream

See following.

---------- Forwarded message ----------
From: Obey Arthur Liu <art...@milliways.fr>
Date: Mon, Mar 15, 2010 at 12:43 AM
Subject: FTBFS for virtuoso-opensource on SPARC
To: debian-sp...@lists.debian.org
Cc: pkg-virtuoso-maintain...@lists.alioth.debian.org


Hi all,

I am the maintainer of virtuoso-opensource[1], a newly packaged
semantic database on which new versions of KDE will depend.
It is therefore important to get it to build on all architectures[2].
I have so far squashed issues on kfreebsd-* and armel but hurd-i386
and sparc are still problematic.
While the hurd-i386 problems are probably too deep right now for a
fix, I believe sparc can be fixed.

I suspect it is a memory alignment issue, similarly to the armel
fix[3], although my attempts at fixing them
similarly[ftbfs-sparc.patch attached] have not been successful yet.

Here's the crash without any patching (full backtrace further below):
Program received signal SIGBUS, Bus error.
sequence_next_inc_1 (name=0x1391148 "RDF_PREF_SEQ", in_map=0,
inc_by=1, err_ret=0x0) at regist.c:714
714             res = (*place);
Location[4].

Here's how to reproduce the crash:
dchroot sid # as needed
dget 
http://www.milliways.fr/debian/packages/virtuoso/virtuoso-opensource_6.1.0+dfsg2-2.dsc
dpkg-source -x virtuoso-opensource_6.1.0+dfsg2-2.dsc
cd virtuoso-opensource-6.1.0+dfsg2
# We want to enable debug symbols by adding --with-debug to the ./configure
sed -i 's/\(zlib$\)/\1 --with-debug/' debian/rules
dpkg-buildpackage -us -uc -d

After a while, you should see:
Waiting Virtuoso Server start on port 1111...
Waiting Virtuoso Server start on port 1111...
Waiting Virtuoso Server start on port 1111...
Just Ctrl-C the build. It has already crashed by this point.

Now, to reproduce the crash:
cd binsrc/rdf_mappers
rm vad.db
# This should crash:
../virtuoso/virtuoso-t +wait +foreground +debug +configfile virtuoso.ini
# Now to make it crash again, wipe the database and run it again under gdb:
rm vad.db
gdb --args ../virtuoso/virtuoso-t +wait +foreground +debug +configfile
virtuoso.ini


Full backtrace:
(gdb) bt
#0  sequence_next_inc_1 (name=0x1391148 "RDF_PREF_SEQ", in_map=0,
inc_by=1, err_ret=0x0) at regist.c:714
#1  0x001e737c in tb_new_id_and_name (lt=0xa48290, itc=0xffe81d98, tb=0x133a528,
   name=0x1391318 "http://www.w3.org/2002/07/owl#";,
value_seq_name=0x4d0870 "RDF_PREF_SEQ") at rdf_core.c:1629
#2  0x001e7690 in tb_name_to_id (lt=0xa48290, tb_name=0x4d0848
"DB.DBA.RDF_PREFIX",
   name=0x1391318 "http://www.w3.org/2002/07/owl#";,
value_seq_name=0x4d0870 "RDF_PREF_SEQ") at rdf_core.c:1747
#3  0x001e87e4 in key_name_to_iri_id_1 (lt=0xa48290, name=0xe36268
"http://www.w3.org/2002/07/owl#sameAs";, make_new=1)
   at rdf_core.c:1882
#4  0x001ea6e0 in iri_to_id (qst=0x1391208, name=0xe36268
"http://www.w3.org/2002/07/owl#sameAs";, mode=1, err_ret=0xffe82b3c)
   at rdf_core.c:2248
#5  0x001eab74 in bif_iri_to_id (qst=0x1391208, err_ret=0xffe82ba4,
args=0x13b2898) at rdf_core.c:2281
#6  0x0016e094 in ins_call_bif (ins=0x1391190, qst=0x1391208,
code_vec=0x1391190) at sqlintrp.c:285
#7  0x00172db4 in code_vec_run_1 (code_vec=0x1391190, qst=0x1391208,
offset=0) at sqlintrp.c:2004
#8  0x00198144 in qn_input (xx=0x1266980, inst=0x1391208,
state=0x1391208) at sqlrun.c:682
#9  0x0019ca14 in qr_exec (cli=0xa46a98, qr=0x1390d50, caller=0x1,
cr_name=0x0, stmt=0x0, lc_ret=0xffe82f5c, parms=0x130dd70,
   opts=0x0, named_params=1) at sqlrun.c:3172
#10 0x0019d304 in qr_quick_exec (qr=0x1390d50, cli=0xa46a98,
id=0x5a1e58 "", lc_ret=0xffe82f5c, n_pars=<value optimized out>)
   at sqlrun.c:3727
#11 0x001ee6c0 in sas_init () at rdfinf.c:999
#12 0x001e80ac in rdf_core_init () at rdf_core.c:3293
#13 0x001a6524 in srv_global_init (mode=0x5a1e58 "") at sqlsrv.c:3844
#14 0x000480d4 in main (argc=6, argv=0x9bcd30) at viunix.c:657

Note that the build system is quite horrible, but the following
incantation should approximate an incremental compilation for any
edited files under libsrc/Wi/:
$ cd libsrc/Wi/ && make clean && cd ../..


If you have an easy fix for this, I'd be very grateful.
If there's none, I'll escalate to upstream in a few days.

I'm not subscribed to debian-sparc@ but I'm on
pkg-virtuoso-maintainers@ (cc'ed).

Cheers

Arthur


[1] <http://packages.qa.debian.org/v/virtuoso-opensource.html>
[2] <https://buildd.debian.org/pkg.cgi?pkg=virtuoso-opensource>
[3] 
<https://alioth.debian.org/plugins/scmgit/cgi-bin/gitweb.cgi?p=pkg-virtuoso/pkg-virtuoso.git;a=blob;f=debian/patches/ftbfs-armel.patch;h=537d80cbadcee6ff1989423996ee56081bfecf16;hb=e6e9276c42ee01dcc3436fe72f73000cb0e28f69>
[4] 
<https://alioth.debian.org/plugins/scmgit/cgi-bin/gitweb.cgi?p=pkg-virtuoso/pkg-virtuoso.git;a=blob;f=libsrc/Wi/regist.c;h=3a806cf5b4da627f0828f8702f1aa540af957223;hb=HEAD#l714>
--- a/libsrc/Wi/widisk.h	2010-03-14 22:55:59.753733192 +0100
+++ b/libsrc/Wi/widisk.h	2010-03-14 23:52:32.165226937 +0100
@@ -216,16 +216,33 @@
 
 #ifdef WORDS_BIGENDIAN
 
+// Debian maintainer: sparc compatibility
+#if 0
 #define LONG_REF(ip) \
   ((((int)(*(short*)(ip))) << 16) \
 + (((unsigned short*)(ip)) [1]))
+#endif
+static inline int LONG_REF(unsigned char *ip) {
+  int ret;
+  memcpy(&ret, ip + 2, 2);
+  memcpy(&ret + 2, ip, 2);
+  return ret;
+}
 
 
+// Debian maintainer: sparc compatibility
+#if 0
 #define LONG_SET(ip, v) \
 { \
   ((unsigned short *) (ip))[0] = (v) >> 16;		\
  ((unsigned short *) (ip))[1] = (unsigned short)(v);	\
 }
+#endif
+static inline void LONG_SET(unsigned char *ip, int v) {
+  int x = v;
+  memcpy(ip, &x + 2, 2);
+  memcpy(ip + 2, &x, 2);
+}
 
 #else
 
@@ -248,6 +265,8 @@
 
 #ifdef WORDS_BIGENDIAN
 
+// Debian maintainer: sparc compatibility
+#if 0
 #define INT64_REF(p) \
     ( \
       (  ((int64)((short*)(p))[0]) << 48) \
@@ -255,7 +274,18 @@
       | (((int32)((unsigned short*)(p))[2]) << 16) \
       | (((unsigned short*)(p))[3]) \
     )
+#endif
+static inline int64 INT64_REF(unsigned char *p) {
+  int64 ret;
+  memcpy(&ret, p + 6, 2);
+  memcpy(&ret + 2, p + 4, 2);
+  memcpy(&ret + 4, p + 2, 2);
+  memcpy(&ret + 6, p, 2);
+  return ret;
+}
 
+// Debian maintainer: sparc compatibility
+#if 0
 #define INT64_SET(p, v) \
 	{ \
 	  ((unsigned short *) (p))[0] = (unsigned short)((v) >> 48); \
@@ -263,6 +293,8 @@
 	  ((unsigned short *) (p))[2] = (unsigned short)((v) >> 16); \
 	  ((unsigned short *) (p))[3] = (unsigned short)(v); \
        	}
+#endif
+static inline void INT64_SET(unsigned char *p, int64 v) { int64 x = v; memcpy(p, &x + 6, 2); memcpy(p + 2, &x + 4, 2); memcpy(p + 4, &x + 2, 2); memcpy(p + 6, &x, 2); }
 
 #else
 

--- End Message ---
--- Begin Message ---
Version: 6.1.6+dfsg2-1

The recent builds on armel have been successful.


Andreas

--- End Message ---

Reply via email to