Re: RFC: Ivy Integration (Was RFC: Maven and the Java Build)

2009-07-01 Thread Aidan Skinner
On Mon, Jun 29, 2009 at 8:36 PM, Bryan Kearneybkear...@redhat.com wrote:

 Taking what Aiden suggested. Here is a first cut at ivy integration. What
 this does is:

 1) Require that every module have an ivy.xml file which is contains all the
 dependencies.
 2) Defines a depVersions.properties file at the root project to control the
 actual version numbers.
 3) Builds a pom file (DRY) with every build (see build/pom).

I really like this approach.

 A) Use the local lib file. If the requirement is to check in every version,
 we could do that by refactoring the lib directory to be a mini ivy or maven
 repo.

I'd rather write a resolver which looks in a flat directory. I know
it's a bit more work, but will make it much, much easier to get our
stuff downstream.

 Can folks please take a look at this patch and let me know what it misses
 from your requirements. To install it, please do the following:

I gotta say, that's pretty slick. :)

- Aidan
-- 
Apache Qpid - AMQP, JMS, other messaging love http://qpid.apache.org
A witty saying proves nothing - Voltaire

-
Apache Qpid - AMQP Messaging Implementation
Project:  http://qpid.apache.org
Use/Interact: mailto:dev-subscr...@qpid.apache.org



[jira] Created: (QPID-1963) segfault in TopicExchange::isBound()

2009-07-01 Thread Gordon Sim (JIRA)
segfault in TopicExchange::isBound()


 Key: QPID-1963
 URL: https://issues.apache.org/jira/browse/QPID-1963
 Project: Qpid
  Issue Type: Bug
  Components: C++ Broker
Affects Versions: 0.5
Reporter: Gordon Sim
Assignee: Gordon Sim
 Fix For: 0.6


Due to lack of appropriate locking in TopicExchange::isBound() invocation of 
this method concurrent with modifications to the set of bindings managed by the 
topic is unsafe and causes segfaults. 

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


-
Apache Qpid - AMQP Messaging Implementation
Project:  http://qpid.apache.org
Use/Interact: mailto:dev-subscr...@qpid.apache.org



[jira] Created: (QPID-1964) bin/release.sh --help does not work

2009-07-01 Thread Jan Sarenik (JIRA)
bin/release.sh --help does not work
---

 Key: QPID-1964
 URL: https://issues.apache.org/jira/browse/QPID-1964
 Project: Qpid
  Issue Type: Bug
  Components: Build Tools
Affects Versions: M4
Reporter: Jan Sarenik
Assignee: Martin Ritchie
Priority: Trivial
 Fix For: 0.5
 Attachments: 0001-Make-release.sh-help-work.patch



-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


-
Apache Qpid - AMQP Messaging Implementation
Project:  http://qpid.apache.org
Use/Interact: mailto:dev-subscr...@qpid.apache.org



[jira] Updated: (QPID-1964) bin/release.sh --help does not work

2009-07-01 Thread Jan Sarenik (JIRA)

 [ 
https://issues.apache.org/jira/browse/QPID-1964?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Jan Sarenik updated QPID-1964:
--

Attachment: 0001-Make-release.sh-help-work.patch

Patch

 bin/release.sh --help does not work
 ---

 Key: QPID-1964
 URL: https://issues.apache.org/jira/browse/QPID-1964
 Project: Qpid
  Issue Type: Bug
  Components: Build Tools
Affects Versions: M4
Reporter: Jan Sarenik
Assignee: Martin Ritchie
Priority: Trivial
 Fix For: 0.5

 Attachments: 0001-Make-release.sh-help-work.patch




-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


-
Apache Qpid - AMQP Messaging Implementation
Project:  http://qpid.apache.org
Use/Interact: mailto:dev-subscr...@qpid.apache.org



Re: C++ Broker: segfault in TopicExchange::isBound()

2009-07-01 Thread Gordon Sim

rsprin...@mail.etinternational.com wrote:

All,
We've been using Qpid M4 and 0.5 internally, both with C++, and have been
seeing occasional segfaults within the broker.  They all seem to occur
inside TopicExchange::isBound() (the one with 3 parameters, not 2).

Looking at the access patterns in this function, and judging by the
core dumps, it appears that multiple threads may access and modify
the class member bindings simultaneously, which seems like it
has the potential to cause a segfault.


Thanks very much for the report! I think you are exactly right, the 
topic exchange has no locking on the isBound() check and is therefore 
unsafe.


I raised a JIRA: https://issues.apache.org/jira/browse/QPID-1963


Since this is a race condition (if we're right), it's hard to
say for sure that the problem has been resolved, but since doing
the below, we've not had a segfault (roughly 5 hours so far,
rather than every 2-3 hours or so).
 - We added locks to all accesses of bindings throughout the
   file.  I believe the new ones were limited to isBound.
 - This may not be necessary at all, but to be safe (while
   we were investigating the problem), we changed all lock
   types from RWlock::ScopedLocks to Mutex::ScopedLocks, to avoid
   being tripped up by pthread (read/write) mutex semantics.


My suggested fix would be to simply hold a read lock across the 
isBound() method (as per attached patch). I have a reproducer that 
causes a crash within a few minutes and will try this fix out with it 
(so far so good).



We wanted to get the opinion of the experienced Qpid developers
on this list before opening a bug, but again, so far it seems to
be much more stable (we're hammering on Session::exchangeBound()
in our testing, which may be why we're seeing it in the first place).

I'm not sure if the other exchange types have the same problem or not.


From a brief examination, the other types do appear to have locking for 
that method. I'll run my test against them as well however.



Thanks!
-Rob


Thanks again for raising the issue and for all the investigation you 
have done on this so far!


--Gordon.
Index: src/qpid/broker/TopicExchange.cpp
===
--- src/qpid/broker/TopicExchange.cpp	(revision 789671)
+++ src/qpid/broker/TopicExchange.cpp	(working copy)
@@ -322,6 +322,7 @@
 
 bool TopicExchange::isBound(Queue::shared_ptr queue, const string* const routingKey, const FieldTable* const)
 {
+RWlock::ScopedRlock l(lock);
 if (routingKey  queue) {
 string key(normalize(*routingKey));
 return isBound(queue, key);


-
Apache Qpid - AMQP Messaging Implementation
Project:  http://qpid.apache.org
Use/Interact: mailto:dev-subscr...@qpid.apache.org

Re: License question

2009-07-01 Thread Justin Erenkrantz
On Mon, Jun 29, 2009 at 2:30 PM, Ted Rosstr...@redhat.com wrote:
 I would like to add a new m4 macro definition (AC_PROG_SWIG) to the CPP
 build directory but it has the following license text.  I understand that
 GPLv2 is not compatible with the Apache license but I don't know if the
 stated exceptions make it ok to incorporate this source.

 Can someone with more legal knowledge that I have weigh in on this?

httpd/APR uses autoconf macros that are under similar terms.  In
short, no worries here - feel free to use the macro in qpid.  --
justin

-
Apache Qpid - AMQP Messaging Implementation
Project:  http://qpid.apache.org
Use/Interact: mailto:dev-subscr...@qpid.apache.org



Re: RFC: Ivy Integration (Was RFC: Maven and the Java Build)

2009-07-01 Thread Bryan Kearney

Aidan Skinner wrote:

On Mon, Jun 29, 2009 at 8:36 PM, Bryan Kearneybkear...@redhat.com wrote:


Taking what Aiden suggested. Here is a first cut at ivy integration. What
this does is:

1) Require that every module have an ivy.xml file which is contains all the
dependencies.
2) Defines a depVersions.properties file at the root project to control the
actual version numbers.
3) Builds a pom file (DRY) with every build (see build/pom).


I really like this approach.


A) Use the local lib file. If the requirement is to check in every version,
we could do that by refactoring the lib directory to be a mini ivy or maven
repo.


I'd rather write a resolver which looks in a flat directory. I know
it's a bit more work, but will make it much, much easier to get our
stuff downstream.


We can.. as long as we bring in the pom/ivy artifacts as well. It would 
be easy to make it a flat file if we have


org.apache.mina-mina.core-1.0.1.jar
org.apache.mina-mina.core-1.0.1.pom

If folks can live with that, it can be flat. We need the upstream pom or 
ivy.xml checked in.





Can folks please take a look at this patch and let me know what it misses
from your requirements. To install it, please do the following:


I gotta say, that's pretty slick. :)



Thanks. If other folks are ok.. I will complete out the patch, but I 
want to get comments on what is good/bad before I do more.


-- bk

-
Apache Qpid - AMQP Messaging Implementation
Project:  http://qpid.apache.org
Use/Interact: mailto:dev-subscr...@qpid.apache.org



[jira] Resolved: (QPID-1964) bin/release.sh --help does not work

2009-07-01 Thread Aidan Skinner (JIRA)

 [ 
https://issues.apache.org/jira/browse/QPID-1964?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Aidan Skinner resolved QPID-1964.
-

   Resolution: Fixed
Fix Version/s: (was: 0.5)
   0.6
 Assignee: Aidan Skinner  (was: Martin Ritchie)

Hi Jan, thanks for the patch. Committed to svn r790140

 bin/release.sh --help does not work
 ---

 Key: QPID-1964
 URL: https://issues.apache.org/jira/browse/QPID-1964
 Project: Qpid
  Issue Type: Bug
  Components: Build Tools
Affects Versions: M4
Reporter: Jan Sarenik
Assignee: Aidan Skinner
Priority: Trivial
 Fix For: 0.6

 Attachments: 0001-Make-release.sh-help-work.patch




-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


-
Apache Qpid - AMQP Messaging Implementation
Project:  http://qpid.apache.org
Use/Interact: mailto:dev-subscr...@qpid.apache.org



make distcheck

2009-07-01 Thread Ján Sáreník
  Hi there!

Just an update, since two patches - one by aconway (789726),
the other (and equally important) by tross (789773) - I can
already make distcheck when bootstrapping using last autotools
on non-RHEL Linux distribution. Thanks for fixing that!

Not wanting to raise following much, but I have noticed errors
when I was trying to 'make -j4 distcheck', so my successful
distchecks were merely one-job-at-a-time. If there is any
interest, get back to me and I can prepare and send the logs.

  Best regards, Jasan
-- 
Red Hat Czech, MRG Quality Assurance Associate

-
Apache Qpid - AMQP Messaging Implementation
Project:  http://qpid.apache.org
Use/Interact: mailto:dev-subscr...@qpid.apache.org



[jira] Updated: (QPID-1963) segfault in TopicExchange::isBound()

2009-07-01 Thread Gordon Sim (JIRA)

 [ 
https://issues.apache.org/jira/browse/QPID-1963?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Gordon Sim updated QPID-1963:
-

Attachment: TopicExchange.patch

Patch represeting the fix, now committed on trunk as r790164.

 segfault in TopicExchange::isBound()
 

 Key: QPID-1963
 URL: https://issues.apache.org/jira/browse/QPID-1963
 Project: Qpid
  Issue Type: Bug
  Components: C++ Broker
Affects Versions: 0.5
Reporter: Gordon Sim
Assignee: Gordon Sim
 Fix For: 0.6

 Attachments: TopicExchange.patch


 Due to lack of appropriate locking in TopicExchange::isBound() invocation of 
 this method concurrent with modifications to the set of bindings managed by 
 the topic is unsafe and causes segfaults. 

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


-
Apache Qpid - AMQP Messaging Implementation
Project:  http://qpid.apache.org
Use/Interact: mailto:dev-subscr...@qpid.apache.org



Re: testAlertingReallyWorks?

2009-07-01 Thread Aidan Skinner
On Tue, Jun 30, 2009 at 11:52 AM, Marnie
McCormackmarnie.mccorm...@googlemail.com wrote:

 Fortunately or unfortunately, It fails pretty regularly so I'm betting you
 get to raise the JIRA !

I'm re-enabling this. Yell if you see it fail please. :)

- Aidan

-- 
Apache Qpid - AMQP, JMS, other messaging love http://qpid.apache.org
A witty saying proves nothing - Voltaire

-
Apache Qpid - AMQP Messaging Implementation
Project:  http://qpid.apache.org
Use/Interact: mailto:dev-subscr...@qpid.apache.org



[jira] Resolved: (QPID-1963) segfault in TopicExchange::isBound()

2009-07-01 Thread Gordon Sim (JIRA)

 [ 
https://issues.apache.org/jira/browse/QPID-1963?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Gordon Sim resolved QPID-1963.
--

Resolution: Fixed

 segfault in TopicExchange::isBound()
 

 Key: QPID-1963
 URL: https://issues.apache.org/jira/browse/QPID-1963
 Project: Qpid
  Issue Type: Bug
  Components: C++ Broker
Affects Versions: 0.5
Reporter: Gordon Sim
Assignee: Gordon Sim
 Fix For: 0.6

 Attachments: TopicExchange.patch


 Due to lack of appropriate locking in TopicExchange::isBound() invocation of 
 this method concurrent with modifications to the set of bindings managed by 
 the topic is unsafe and causes segfaults. 

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


-
Apache Qpid - AMQP Messaging Implementation
Project:  http://qpid.apache.org
Use/Interact: mailto:dev-subscr...@qpid.apache.org



Cdash scoreboard available for qpid dev use

2009-07-01 Thread Steve Huston
Hi folks,

As part of migrating the Qpid build system to Cmake, I've also set up
a Cdash dashboard to hold build results. The dashboard gives a good
overall view of the health of the builds; can keep track of which
builds are working and help show some history when they don't.

The dashboard is available at
http://www.riverace.com/CDash-1.4.2/index.php?project=qpid-cpp

I have a RHEL 5 and a Windows XP build daily, reporting results to the
dashboard.

Other people who wish to run builds that contribute to the dashboard
are welcome to. It involves setting up a small script to run the
build/test. The script I use on Linux is:

PATH=/usr/bin:/usr/local/bin:$HOME/Desktop/cmake-2.6.2-Linux-i386/bin:
$PATH
export PATH
PKG_CONFIG_PATH=/usr/lib/pkgconfig
export PKG_CONFIG_PATH
LANG=en_US.UTF-8
export LANG

ctest -S trunk_nightly.cmake -VV  qpid_ctest_trunk.log 21


The -VV  qpid_ctest_trunk.log was useful to me to get things going;
it may not be so useful to you...

I've attached my trunk_nightly.cmake - it sets up the build parameters
you want to use, primes the cmake cache with settings you like, etc.

There's a qpid/cpp/CTestConfig.cmake file in svn that has the settings
for where to send the build results when done. If someone wants to
move this all to some other Apache-maintained location, that's fine as
well.

-Steve


-
Apache Qpid - AMQP Messaging Implementation
Project:  http://qpid.apache.org
Use/Interact: mailto:dev-subscr...@qpid.apache.org

Re: Cdash scoreboard available for qpid dev use

2009-07-01 Thread Andrew Stitcher
On Wed, 2009-07-01 at 11:43 -0400, Steve Huston wrote:
 Hi folks,
 
 As part of migrating the Qpid build system to Cmake, I've also set up
 a Cdash dashboard to hold build results. The dashboard gives a good
 overall view of the health of the builds; can keep track of which
 builds are working and help show some history when they don't.
 
 The dashboard is available at
 http://www.riverace.com/CDash-1.4.2/index.php?project=qpid-cpp
 
 I have a RHEL 5 and a Windows XP build daily, reporting results to the
 dashboard.

I'd be a little suspicious of your build. As far as I can tell the cmake
build has been broken since r783877 when the name changed from qpidc to
qpid-cpp for at least f11 and I'd expect for rhel5 too. Perhaps your
builds aren't completely from scratch?

I've got some fixes to put in for this and some other cmake issues with
f11, so if it works for you don't worry about it.

Andrew



-
Apache Qpid - AMQP Messaging Implementation
Project:  http://qpid.apache.org
Use/Interact: mailto:dev-subscr...@qpid.apache.org



RE: Cdash scoreboard available for qpid dev use

2009-07-01 Thread Steve Huston
Hi Andrew,

 On Wed, 2009-07-01 at 11:43 -0400, Steve Huston wrote:
  Hi folks,
  
  As part of migrating the Qpid build system to Cmake, I've 
 also set up
  a Cdash dashboard to hold build results. The dashboard gives a
good
  overall view of the health of the builds; can keep track of which
  builds are working and help show some history when they don't.
  
  The dashboard is available at
  http://www.riverace.com/CDash-1.4.2/index.php?project=qpid-cpp
  
  I have a RHEL 5 and a Windows XP build daily, reporting 
 results to the
  dashboard.
 
 I'd be a little suspicious of your build. As far as I can 
 tell the cmake build has been broken since r783877 when the name
 changed from qpidc to
 qpid-cpp for at least f11 and I'd expect for rhel5 too. Perhaps your
 builds aren't completely from scratch?

It was quite broken until this morning, at least for me. It works now,
again, for me.

 I've got some fixes to put in for this and some other cmake 
 issues with
 f11, so if it works for you don't worry about it.

Let me know if anything still looks odd.

Thanks,
-Steve


-
Apache Qpid - AMQP Messaging Implementation
Project:  http://qpid.apache.org
Use/Interact: mailto:dev-subscr...@qpid.apache.org