2.0.55-4ubuntu4 update causes svn failure
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
apache2 (Ubuntu) |
Fix Released
|
Medium
|
Soren Hansen | ||
subversion (Ubuntu) |
Fix Released
|
High
|
Unassigned | ||
Bug Description
I call Eclipse.org's eclipse by this script to enable libsvn-javahl for subclipse plugin.
#!/bin/bash
~/eclipse/eclipse -vm /usr/local/
Today's apache2 update causes the startup script crashed at middle of eclipse splash, I think it's because of libapr0 updated along with apache2 and it is "Depends" of libsvn0.
Just calling ~/eclipse/eclipse -vm /usr/local/

Lionel Porcheron (lionel.porcheron) wrote : | #1 |

atie (atie-at-matrix) wrote : | #2 |
Updated to today's subversion 1.3.2-3ubuntu2, but still this problem exists. As shown on the error log by eclipse/java vm, this problem seems to be at apr pool so maybe apache runtime module problem.
C [libsvnjavahl-

atie (atie-at-matrix) wrote : | #3 |
Here is ldd info in case.
$ ldd -r /usr/lib/
libm.so.6 => /lib/tls/
libc.so.6 => /lib/tls/
librt.so.1 => /lib/tls/
libnsl.so.1 => /lib/tls/
libdl.so.2 => /lib/tls/
libz.so.1 => /usr/lib/libz.so.1 (0xb76b8000)

packet (packet) wrote : | #4 |
I can confirm this bug. It makes libsvn-javahl (1.3.2-3ubuntu2) unusable. I can reproduce this bug with a self-compiled subversion 1.4.0 javahl linked against the same libraries (libapr0 2.0.55-4ubuntu4 and libneon 0.25.5.dfsg-5). The problem vanishes if I compile subversion 1.4.0 against the current libapr1 (1.2.7-3) and libaprutil1 (1.2.7-2) packages. Somehow, the apr stuff provided by apache2 seems to be incompatible with jni.
I used sun-java5-jre and sun-java5-sdk.

packet (packet) wrote : | #5 |

Jan Klesnil (klesnil) wrote : | #6 |
I have the same problem - eclipse 3.2 with latest stable subclipse plugin and svn-javahl library on Edgy.
On Dapper everything worked fine.

atie (atie-at-matrix) wrote : | #7 |
Affected package is in question, but change status to "Confirmed" based on other's confirmations.
Changed in subversion: | |
status: | Unconfirmed → Confirmed |

Max Bowsher (maxb) wrote : | #8 |
It does seem to be something in libapr0 that is causing the crash.
I rolled back libapr0 (along with a bunch of other packages which also build from the apache2 source package, as dictated by dependencies) to 2.0.55-4ubuntu2.1 (i.e. dapper-security), and the bug went away.
It is quite odd, since there doesn't seem to be anything in the changelog for -4ubuntu3 or -4ubuntu4 that looks likely to cause this.

Max Bowsher (maxb) wrote : | #9 |
Interesting data point: Rebuilding apache2_
I think there's enough evidence to justify reassigning the bug back to apache2 now.

Max Bowsher (maxb) wrote : | #10 |
I can't find anything obviously related, but I did note that there were mutex/semaphore related changes in the build:
(- is dapper, + is edgy)
autoconf definitions:
/* Define to 1 if you have the `pthread_
-/* #undef HAVE_PTHREAD_
+#define HAVE_PTHREAD_
/* Define if recursive pthread mutexes are available */
-#define HAVE_PTHREAD_
+/* #undef HAVE_PTHREAD_
apr.h:
-#define APR_HAS_
+#define APR_HAS_
Perhaps that can be useful to someone. Or maybe it's not related at all. :-/

Max Bowsher (maxb) wrote : | #11 |
Here is a backtrace. It sheds rather more light on the problem.
apr_thread_
Then, whilst attempting to handle the error, libsvnjavahl segfaults - presumably because the error occurred too early in initialization for the error handling code itself to have been initialized.
Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread -1209973072 (LWP 10067)]
0xae61264b in JNIUtil:
at subversion-
538 data->m_
Current language: auto; currently c++
(gdb) bt
#0 0xae61264b in JNIUtil:
at subversion-
#1 0xae612ae0 in JNIUtil::throwError (
message=
at subversion-
#2 0xae612f54 in JNIUtil:
op=0xae6334b4 "apr_thread_
at subversion-
#3 0xae6113b2 in JNIMutex (this=0x8301de0, pool=0x8353d88)
at subversion-
#4 0xae6136b1 in JNIUtil:
at subversion-
#5 0xae62a13f in Java_org_
env=0x805cf38, jclazz=0xbffa0980)
at subversion-
#6 0xb264a4db in ?? ()
#7 0x0805cf38 in ?? ()

Max Bowsher (maxb) wrote : | #12 |
...and my comment 1 above neatly ties in with the lack of HAVE_PTHREAD_
Thus, when svnjavahl tries to create a recursive mutex, it errors, and its error handling then blows up and SIGSEGVs.
Cause seems to be that glibc has started hiding HAVE_PTHREAD_
Adding -D_XOPEN_SOURCE=500 to debian/rules and rebuilding apache2_

biou (biouman) wrote : | #13 |
I can confirm that the fix of Max Bowsher in the precedent comment is working. Would it be a good idea to fill a bug on the apache2 or libapr0 package on that topic?

Max Bowsher (maxb) wrote : | #14 |
Setting to confirmed for apache2, based on my own analysis, and confirmation here in this bug log, that the true problem lies in libapr0. Hopefully the apache2 maintainer(s) could comment on this and consider releasing updated packages for edgy.
Changed in apache2: | |
status: | Unconfirmed → Confirmed |

Tolstoy (keith-irwin) wrote : | #15 |
Any ETA on when this might be fixed? Or even acknowledgement by the apache/ubuntu maintainers? I had to change my NT password, which somehow broke subclipse on linux. One option is to try the javahl lib to see how that goes, but eclipse tanks as a result of the above issues.
I've no idea how to revert libapr0 as the following doesn't work:
apt-get install libapr0=
and my attempt at setting up /etc/apt/
Very frustrating as I can't use subclipse via the IDE anymore.
Anyone willing to post some instructions on how to revert?

Max Bowsher (maxb) wrote : | #16 |
I cannot test this, as I have fixed my machine in a different way - rebuilding the apache package from edgy with the tweaked flags as mentioned. However, here is a recipe that might work for getting the dapper packages installed:
( [[[ and ]]] delimit lines to copy/paste )
Add to /etc/apt/
[[[
deb http://
]]]
Add to /etc/apt/
[[[
Package: apache2-common
Pin: release a=dapper-security
Pin-Priority: 1001
Package: apache2-utils
Pin: release a=dapper-security
Pin-Priority: 1001
Package: apache2-mpm-worker
Pin: release a=dapper-security
Pin-Priority: 1001
Package: apache2-
Pin: release a=dapper-security
Pin-Priority: 1001
Package: apache2-mpm-prefork
Pin: release a=dapper-security
Pin-Priority: 1001
Package: apache2-doc
Pin: release a=dapper-security
Pin-Priority: 1001
Package: apache2-prefork-dev
Pin: release a=dapper-security
Pin-Priority: 1001
Package: apache2-
Pin: release a=dapper-security
Pin-Priority: 1001
Package: libapr0
Pin: release a=dapper-security
Pin-Priority: 1001
Package: libapr0-dev
Pin: release a=dapper-security
Pin-Priority: 1001
Package: apache2
Pin: release a=dapper-security
Pin-Priority: 1001
]]]
Do ensure that there is at least one blank line separating the added lines from any existing data in /etc/apt/
Having edited both files:
apt-get update && apt-get upgrade
Hope that works,
Max.

Max Bowsher (maxb) wrote : | #17 |
Here is a debdiff of how I fixed things locally:
=======
diff -u apache2-
--- apache2-
+++ apache2-
@@ -57,7 +57,7 @@
-AP2_CONFLAGS = $(CFLAGS) -pipe -I/usr/
+AP2_CONFLAGS = $(CFLAGS) -pipe -I/usr/
#AP2_CONFLAGS += -D_LARGEFILE_SOURCE -D_FILE_
AP2_LDFLAGS = -ldb-4.3 -lexpat
diff -u apache2-
--- apache2-
+++ apache2-
@@ -1,3 +1,9 @@
+apache2 (2.0.55-
+
+ * Rebuild with -D_XOPEN_
+
+ -- Max Bowsher <email address hidden> Tue, 31 Oct 2006 16:15:55 +0000
+
apache2 (2.0.55-4ubuntu4) edgy; urgency=low
* Add debian/
=======

Tolstoy (keith-irwin) wrote : | #18 |
Thanks!
BTW, do you happen to have a quick link to working with source packages?
I know how to:
apt-get source apache2
and apply the patch. Not sure what to do after that. I guess I can google for it.

Tolstoy (keith-irwin) wrote : | #19 |
Just to save this in case I might need it again...
I applied the above patch (which for some reason didn't apply cleanly for the first hunk), then:
apt-get source apache2
sudo apt-get build-deb apache2
cd apache2-2.0.55
dpkg-buildpackage -rfakeroot
and then after a long while:
cd ..
sudo dpkg -i *.deb
and that pretty much worked, far as I can tell.
Thanks again, Max, for the patch!

Sven (anders-anduras) wrote : | #20 |
If you just uninstall the javahl library.
(If subclipse fail to load the library it will fall back to JavaSVN automatically.)
I don't now if there are some features missing, if you do it, but the basic things will work...
Maybe this will help some people...

Immanuel Scheerer (immanuel) wrote : | #21 |
The JavaSVN bundled with Subclipse 1.1.8 seems to be a 1.4 Subversion client. The current command line client is 1.3.
After I used Subclipse to update my working copies, I can no longer use the command line client (the following message is displayed):
svn: This client is too old to work with working copy '.'; please get a newer Subversion client
More information about the 1.3-1.4 incompatibility: http://
Therefore JavaSVN is at the moment no real alternative to JavaHL. When a working patch already exists, what can you do to get the corrected packages into the ubuntu repositories as quickly as possible?
Just a note for those who apply Max Bowsher 's patch by copying the text from his comment here - HTML removes a *vital* double-space on the line in
debian/changelog
-- Max Bowsher <email address hidden> Tue, 31 Oct 2006 16:15:55 +0000
There should be TWO spaces after the email address, before the date, otherwise when trying to build you'll get the very-hard-to-solve error:
line 5: badly formatted trailer line
And almost the only way to spot it is using hexdump to compare the additional entry with previous ones and noticing the double-space sequence!

Adriaan Peeters (apeeters) wrote : | #23 |
Other than that, the patch works perfectly!

Danny Staple (danny-orionrobots) wrote : | #24 |
Hmm, I am seeing this too on Edgy.
It appears that one has to use the hl lib if access to a local filespace repo is needed - which is a massive oversite of the Java SVN library.
Anyway - for those who have not read this thread thoroughly - take note that uninstalling Apache2 will not work. It is the Source Package for Apache2 which is at fault, and the libapr0 package, upon which the libjavahl-svn depends, is actually part of the Apache2 source (Lib Apache Runtime - Shared and used by SVN). I only realised this after trying (in a what the hey it's worth a shot, and not having read everything or expected it to work) to remove Apache 2 packages and see if that would help (Apache was no longer required on this box anyway). That will not work.
This definitely needs to be sorted with a long term fix, but until then, the above fix should be applied.
Again (with corrections to Tolstoy) that is:
apt-get source apache2
sudo apt-get build-dep apache2
Now apply the patch. Taking into account the missing spaces - there should be TWO before the * in the debian/changelog, and TWO after the email address .
cd apache2-2.0.55
dpkg-buildpackage -rfakeroot
At this point it will go off, as suggested above, for a while. Ignore the genchanges gripes if you see them.
cd ..
sudo dpkg -i libapr*.deb
Note that you will not be able to use *.deb, as this will try to install more than one of the different apache2 modes - prefork, threaded etc and will fail.Install the one that is appropriate to your setup - or none at all if you just need this library.
Look here for info on building like this: - https:/
Anyway - it all works for me now.
If you're confused on how to correctly apply the patch, and simply want it to work, you can make the change manually in about 30 seconds.
After you've got the source-code downloaded and extracted, simply open the debian/rules file with any text editor and make the change.
Assuming the source is extracted to your home directory:
gedit ~/apache2-
Edit > Preferences > View: "Display line numbers" = TICK
Scroll to line 60, and add the new option " -D_XOPEN_
AP2_CONFLAGS = $(CFLAGS) -pipe -I/usr/
Save the file, and you're done and ready to build.
The change to the changelog isn't strictly necessary but again, you can simply add that to the beginning of debian/changelog using any text editor.
gedit ~/apache2-
Insert at the top, pushing the rest of the document down. DO NOT include the double-quotes (") I've used here to make clear where the text starts and ends.
"apache2 (2.0.55-
* Rebuild with -D_XOPEN_
-- Max Bowsher <email address hidden> Tue, 31 Oct 2006 16:15:55 +0000
"
Don't forget its TWO spaces in front of "* Rebuild" and TWO spaces between "ukf.net>" and "Tue, 31".

dlr (dlr) wrote : Error handling of JavaHL bindings improved | #26 |
Upstream package report: The Subversion developers have fixed the error handling of the JavaHL binding's native global initialization to provide a more meaningful error, rather than just segfaulting:

Matti Lindell (mlind) wrote : | #27 |
I confirm that upstream patch pointed out by dlr fixes the eclipse javahl crashing issue. Although I'm unable to get eclipse to find javahl interafce (even when using LD_LIBRARY_PATH), it doesn't crash anymore.
If this works for others too, it would be good to get this as SRU.
Changed in subversion: | |
importance: | Undecided → High |

Matti Lindell (mlind) wrote : | #28 |
subscribing ubuntu-sru team to take a look at this issue.
Comments should indicate that problem is in subversion's "javahl bindings native global initialization". Impact is serious because of the segfault it causes. Among other things, jvm running eclipse dies when javahl tries to initialize. Upstream patch (included in proposed debdiff and in dlr's post) addresses this issue.

Adriaan Peeters (apeeters) wrote : | #29 |
The patch by mlind fixes the segfault, but to get javahl to work one still needs the -D_XOPEN_SOURCE=500 compile time option.
Adriaan: Yup, my patch only fixes JavaHL's error handling to avoid a segfault; it will appear in Subversion 1.5.0, and 1.4.4 (if we eventually cut such a release). For JavaHL initialization to complete successfully, one still needs a properly-compiled APR.

Martin Pitt (pitti) wrote : | #31 |
Unsubscribing ubuntu-sru. Please get this fixed and tested in Feisty first, then submit a proper SRU request as described on https:/

Matti Lindell (mlind) wrote : | #32 |
right, I was concentrating on the symptom instead of the actual issue, sorry about that. Is it only svn javahl bindings that require -D_XOPEN_SOURCE=500 or GNU_SOURCE ? It would be safer to use D_XOPEN_SOURCE=500 only for modules that do not work without it, using it globally may cause problems with some architectures.

Max Bowsher (maxb) wrote : | #33 |
In reply to mlind:
_XOPEN_SOURCE=500 is required *whilst compiling libapr0* (source package: apache2). I'm not sure what sort of modules you mean, but no, a localized fix targetted solely to affect the javahl bindings is not likely to be feasible.

Max Bowsher (maxb) wrote : | #34 |
Regarding the potential for a SRU:
This is a particularly awkward issue to SRU, because with Feisty having Apache 2.2 whilst Edgy has 2.0, testing in Feisty has limited relevance to Edgy.

Soren Hansen (soren) wrote : | #35 |
Just to clarify: Is this still an issue in final Feisty?
Changed in apache2: | |
assignee: | nobody → shawarma |

Adam Funk (a-funk) wrote : | #36 |
Soren Hansen:
> Just to clarify: Is this still an issue in final Feisty?
I don't think so. Since I upgraded to feisty, I can use JavaHL in Eclipse (that was the only manifestation of this bug that I had encountered).

Adriaan Peeters (apeeters) wrote : | #37 |
Feisty does not include libapr0 so I still have the patches one from edgy installed. I will try to remove that one soon.

Max Bowsher (maxb) wrote : | #38 |
It is not an issue with Feisty.
Feisty libsvn-java does not use libapr0 - it uses libapr1.

atie (atie-at-matrix) wrote : | #39 |
As Max said, I don't have this issue now with feisty.

caligari (rafacouto) wrote : | #40 |
Bug confirmed for Feisty Fawn, from scratch installation on June, 5.

Adriaan Peeters (apeeters) wrote : | #41 |
I am unable to confirm this bug on feisty. Caligari, please list the output of
dpkg -l |grep svn
dpkg -l |grep subversion
dpkg -l |grep apr

caligari (rafacouto) wrote : | #42 |
# dpkg -l |grep svn
ii kdesvn 0.11.0-1 subversion client with tight KDE integration
ii kdesvn-kio-plugins 0.11.0-1 subversion I/O slaves for KDE
ii libgtkhtml2-0 2.11.0+
ii libsvn-java 1.4.3dfsg1-1ubuntu1 Java bindings for Subversion
ii libsvn1 1.4.3dfsg1-1ubuntu1 Shared libraries used by Subversion
ii libsvnqt3 0.11.0-1 Qt wrapper library for subversion
ii libwps-0.1-1 0.1~svn20070131
# dpkg -l |grep subversion
ii kdesvn 0.11.0-1 subversion client with tight KDE integration
ii kdesvn-kio-plugins 0.11.0-1 subversion I/O slaves for KDE
ii libsvnqt3 0.11.0-1 Qt wrapper library for subversion
ii subversion 1.4.3dfsg1-1ubuntu1 Advanced version control system
ii subversion-tools 1.4.3dfsg1-1ubuntu1 Assorted tools related to Subversion
# dpkg -l |grep apr
ii libapr1 1.2.7-8.1 The Apache Portable Runtime Library
ii libaprutil1 1.2.7+dfsg-2build1 The Apache Portable Runtime Utility Library
# dpkg -l |grep java
ii java-common 0.25ubuntu2 Base of all Java packages
ii java-gcj-compat 1.0.65-8ubuntu3 Java runtime environment using GIJ
ii libbcel-java 5.1-6ubuntu2 Analyze, create, and manipulate (binary) Jav
ii libcommons-
ii libcommons-
ii libcommons-
ii libcommons-
ii libcommons-
ii libcommons-el-java 1.0-3 Implementation of the JSP2.0 Expression Lang
ii libcommons-
ii libcommons-

Mathias Gug (mathiaz) wrote : | #43 |
caligari: do you still have the problem with gutsy ?
Changed in apache2: | |
importance: | Undecided → Medium |
status: | Confirmed → Incomplete |

Mathias Gug (mathiaz) wrote : | #44 |
Marking 'Fix released' in subversion as libapr1 fixed the problem.
Changed in subversion: | |
status: | Confirmed → Fix Released |

caligari (rafacouto) wrote : | #45 |
Mathias Gug:
With gutsy:
$ sudo apt-get install libsvn-java
$ sudo vi /etc/eclipse/
and it works fine!
Thank you :-)

Mathias Gug (mathiaz) wrote : | #46 |
Closing bug as this seems to work in Gutsy, and thus Hardy.
Changed in apache2: | |
status: | Incomplete → Fix Released |

Martin (martin-zdila) wrote : | #47 |
The issue is back in Ubuntu 11.04 updated today.

Dave Walker (davewalker) wrote : | #48 |
@Martin, can you clarify what you are seeing? This bug report has become somewhat confusing, and I'm not quite sure what part you are experiencing.
Thanks.

Martin (martin-zdila) wrote : | #49 |
- my eclipse.ini Edit (433 bytes, text/plain)
If I run Eclipse Helios it will crash after UI is loaded. Messages in the console:
martin@
(process:5771): Gdk-WARNING **: locale not supported by C library
(process:5771): Gtk-WARNING **: Locale not supported by C library.
Using the fallback 'C' locale.
(Eclipse:5771): Gdk-WARNING **: locale not supported by C library
Mar 9, 2011 1:15:52 PM com.objectaid.
INFO: found license Sequence Diagram 1.0.x - EVAL until 2011-03-17
svnjavahl: error: cannot set LC_ALL locale
svnjavahl: error: environment variable LANG is en
svnjavahl: error: please check that your locale name is correct
#
# A fatal error has been detected by the Java Runtime Environment:
#
# SIGSEGV (0xb) at pc=0x00007f0b66
#
# JRE version: 6.0_24-b07
# Java VM: Java HotSpot(TM) 64-Bit Server VM (19.1-b02 mixed mode linux-amd64 compressed oops)
# Problematic frame:
# C [libapr-
#
# An error report file with more information is saved as:
# /home/martin/
#
# If you would like to submit a bug report, please visit:
# http://
# The crash happened outside the Java Virtual Machine in native code.
# See problematic frame for where to report the bug.
#
After I comment out -Djava.

Mars29200 (mars29200) wrote : | #50 |
Hi all,
I also get such error today on eclipse startup in 11.04 :
(process:3737): Gdk-WARNING **: locale not supported by C library
(process:3737): Gtk-WARNING **: Locale not supported by C library.
Using the fallback 'C' locale.
(Eclipse:3737): Gdk-WARNING **: locale not supported by C library
svnjavahl: error: cannot set LC_ALL locale
svnjavahl: error: environment variable LANG is de_DE.ISO-8859-1
svnjavahl: error: please check that your locale name is correct
#
# A fatal error has been detected by the Java Runtime Environment:
#
# SIGSEGV (0xb) at pc=0x00007ff49e
#
# JRE version: 6.0_24-b07
# Java VM: Java HotSpot(TM) 64-Bit Server VM (19.1-b02 mixed mode linux-amd64 compressed oops)
# Problematic frame:
# C [libapr-
#
# An error report file with more information is saved as:
# /home/msauvette
#
# If you would like to submit a bug report, please visit:
# http://
# The crash happened outside the Java Virtual Machine in native code.
# See problematic frame for where to report the bug.
#
svnjavahl: error: cannot set LC_ALL locale
svnjavahl: error: environment variable LANG is de_DE.ISO-8859-1
svnjavahl: error: please check that your locale name is correct
does something different as to be set there that it work again?

Marco Ferretti (marco-ferretti) wrote : | #51 |
Hi
same here on Ubuntu 10.04 ( 32 bit ) after this morning's updates ( I remember php5, mod-php5 but there were a few more ) .
ferrema@pupfish:~$ eclipse
(process:7461): Gdk-WARNING **: locale not supported by C library
(process:7461): Gtk-WARNING **: Locale not supported by C library.
Using the fallback 'C' locale.
(eclipse:7461): Gdk-WARNING **: locale not supported by C library
svnjavahl: error: cannot set LC_ALL locale
svnjavahl: error: environment variable LANG is en_US
svnjavahl: error: please check that your locale name is correct
#
# A fatal error has been detected by the Java Runtime Environment:
#
# SIGSEGV (0xb) at pc=0x0440f83c, pid=7461, tid=58760048
#
# JRE version: 6.0_26-b03
# Java VM: Java HotSpot(TM) Client VM (20.1-b02 mixed mode, sharing linux-x86 )
# Problematic frame:
# C [libapr-
#
# An error report file with more information is saved as:
# /home/ferrema/
#
# If you would like to submit a bug report, please visit:
# http://
# The crash happened outside the Java Virtual Machine in native code.
# See problematic frame for where to report the bug.
#
Aborted
ferrema@pupfish:~$ joe .bashrc
Processing '/etc/joe/
done

Marco Ferretti (marco-ferretti) wrote : | #52 |
FYI :
running the following :
ferrema@pupfish:/$ export LC_ALL=
ferrema@pupfish:/$ sudo dpkg-reconfigure locales
Generating locales...
en_AG.UTF-8... done
en_AU.UTF-8... done
en_BW.UTF-8... done
en_CA.UTF-8... done
en_DK.UTF-8... done
en_GB.UTF-8... done
en_HK.UTF-8... done
en_IE.UTF-8... done
en_IN.UTF-8... done
en_NG.UTF-8... done
en_NZ.UTF-8... done
en_PH.UTF-8... done
en_SG.UTF-8... done
en_US.UTF-8... up-to-date
en_ZA.UTF-8... done
en_ZW.UTF-8... done
it_CH.UTF-8... done
it_IT.UTF-8... done
Generation complete.
ferrema@pupfish:/$ eclipse
ferrema@pupfish:/$
fixes the issue .
if the problem is libsvn0, the correct source package is subversion, not apache2.