hlship | 1 Jun 12:27 2006
Picon

[GUMP <at> vmgump]: Project jakarta-hivemind-compile (in module jakarta-hivemind) failed

To whom it may engage...

This is an automated request, but not an unsolicited one. For 
more information please visit http://gump.apache.org/nagged.html, 
and/or contact the folk at general <at> gump.apache.org.

Project jakarta-hivemind-compile has an issue affecting its community integration.
This issue affects 4 projects,
 and has been outstanding for 45 runs.
The current state of this project is 'Failed', with reason 'Build Failed'.
For reference only, the following projects are affected by this:
    - jakarta-hivemind :  HiveMind is a services and configuration
    microkernel
    - jakarta-hivemind-compile :  HiveMind is a services and configuration
    microkernel
    - jakarta-hivemind-library :  HiveMind is a services and configuration
    microkernel
    - jakarta-tapestry :  Component-based web application framework organized around i...

Full details are available at:
    http://vmgump.apache.org/gump/public/jakarta-hivemind/jakarta-hivemind-compile/index.html

That said, some information snippets are provided here.

The following annotations (debug/informational/warning/error messages) were provided:
 -INFO- Failed with reason build failed

The following work was performed:
http://vmgump.apache.org/gump/public/jakarta-hivemind/jakarta-hivemind-compile/gump_work/build_jakarta-hivemind_jakarta-hivemind-compile.html
Work Name: build_jakarta-hivemind_jakarta-hivemind-compile (Type: Build)
(Continue reading)

hlship | 2 Jun 11:25 2006
Picon

[GUMP <at> vmgump]: Project jakarta-hivemind-compile (in module jakarta-hivemind) failed

To whom it may engage...

This is an automated request, but not an unsolicited one. For 
more information please visit http://gump.apache.org/nagged.html, 
and/or contact the folk at general <at> gump.apache.org.

Project jakarta-hivemind-compile has an issue affecting its community integration.
This issue affects 4 projects,
 and has been outstanding for 48 runs.
The current state of this project is 'Failed', with reason 'Build Failed'.
For reference only, the following projects are affected by this:
    - jakarta-hivemind :  HiveMind is a services and configuration
    microkernel
    - jakarta-hivemind-compile :  HiveMind is a services and configuration
    microkernel
    - jakarta-hivemind-library :  HiveMind is a services and configuration
    microkernel
    - jakarta-tapestry :  Component-based web application framework organized around i...

Full details are available at:
    http://vmgump.apache.org/gump/public/jakarta-hivemind/jakarta-hivemind-compile/index.html

That said, some information snippets are provided here.

The following annotations (debug/informational/warning/error messages) were provided:
 -INFO- Failed with reason build failed

The following work was performed:
http://vmgump.apache.org/gump/public/jakarta-hivemind/jakarta-hivemind-compile/gump_work/build_jakarta-hivemind_jakarta-hivemind-compile.html
Work Name: build_jakarta-hivemind_jakarta-hivemind-compile (Type: Build)
(Continue reading)

hlship | 3 Jun 11:41 2006
Picon

[GUMP <at> vmgump]: Project jakarta-hivemind-compile (in module jakarta-hivemind) failed

To whom it may engage...

This is an automated request, but not an unsolicited one. For 
more information please visit http://gump.apache.org/nagged.html, 
and/or contact the folk at general <at> gump.apache.org.

Project jakarta-hivemind-compile has an issue affecting its community integration.
This issue affects 4 projects,
 and has been outstanding for 51 runs.
The current state of this project is 'Failed', with reason 'Build Failed'.
For reference only, the following projects are affected by this:
    - jakarta-hivemind :  HiveMind is a services and configuration
    microkernel
    - jakarta-hivemind-compile :  HiveMind is a services and configuration
    microkernel
    - jakarta-hivemind-library :  HiveMind is a services and configuration
    microkernel
    - jakarta-tapestry :  Component-based web application framework organized around i...

Full details are available at:
    http://vmgump.apache.org/gump/public/jakarta-hivemind/jakarta-hivemind-compile/index.html

That said, some information snippets are provided here.

The following annotations (debug/informational/warning/error messages) were provided:
 -INFO- Failed with reason build failed

The following work was performed:
http://vmgump.apache.org/gump/public/jakarta-hivemind/jakarta-hivemind-compile/gump_work/build_jakarta-hivemind_jakarta-hivemind-compile.html
Work Name: build_jakarta-hivemind_jakarta-hivemind-compile (Type: Build)
(Continue reading)

hlship | 4 Jun 11:39 2006
Picon

[GUMP <at> vmgump]: Project jakarta-hivemind-compile (in module jakarta-hivemind) failed

To whom it may engage...

This is an automated request, but not an unsolicited one. For 
more information please visit http://gump.apache.org/nagged.html, 
and/or contact the folk at general <at> gump.apache.org.

Project jakarta-hivemind-compile has an issue affecting its community integration.
This issue affects 4 projects,
 and has been outstanding for 53 runs.
The current state of this project is 'Failed', with reason 'Build Failed'.
For reference only, the following projects are affected by this:
    - jakarta-hivemind :  HiveMind is a services and configuration
    microkernel
    - jakarta-hivemind-compile :  HiveMind is a services and configuration
    microkernel
    - jakarta-hivemind-library :  HiveMind is a services and configuration
    microkernel
    - jakarta-tapestry :  Component-based web application framework organized around i...

Full details are available at:
    http://vmgump.apache.org/gump/public/jakarta-hivemind/jakarta-hivemind-compile/index.html

That said, some information snippets are provided here.

The following annotations (debug/informational/warning/error messages) were provided:
 -INFO- Failed with reason build failed

The following work was performed:
http://vmgump.apache.org/gump/public/jakarta-hivemind/jakarta-hivemind-compile/gump_work/build_jakarta-hivemind_jakarta-hivemind-compile.html
Work Name: build_jakarta-hivemind_jakarta-hivemind-compile (Type: Build)
(Continue reading)

hlship | 5 Jun 11:25 2006
Picon

[GUMP <at> vmgump]: Project jakarta-hivemind-compile (in module jakarta-hivemind) failed

To whom it may engage...

This is an automated request, but not an unsolicited one. For 
more information please visit http://gump.apache.org/nagged.html, 
and/or contact the folk at general <at> gump.apache.org.

Project jakarta-hivemind-compile has an issue affecting its community integration.
This issue affects 4 projects,
 and has been outstanding for 56 runs.
The current state of this project is 'Failed', with reason 'Build Failed'.
For reference only, the following projects are affected by this:
    - jakarta-hivemind :  HiveMind is a services and configuration
    microkernel
    - jakarta-hivemind-compile :  HiveMind is a services and configuration
    microkernel
    - jakarta-hivemind-library :  HiveMind is a services and configuration
    microkernel
    - jakarta-tapestry :  Component-based web application framework organized around i...

Full details are available at:
    http://vmgump.apache.org/gump/public/jakarta-hivemind/jakarta-hivemind-compile/index.html

That said, some information snippets are provided here.

The following annotations (debug/informational/warning/error messages) were provided:
 -INFO- Failed with reason build failed

The following work was performed:
http://vmgump.apache.org/gump/public/jakarta-hivemind/jakarta-hivemind-compile/gump_work/build_jakarta-hivemind_jakarta-hivemind-compile.html
Work Name: build_jakarta-hivemind_jakarta-hivemind-compile (Type: Build)
(Continue reading)

hlship | 6 Jun 11:18 2006
Picon

[GUMP <at> vmgump]: Project jakarta-hivemind-compile (in module jakarta-hivemind) failed

To whom it may engage...

This is an automated request, but not an unsolicited one. For 
more information please visit http://gump.apache.org/nagged.html, 
and/or contact the folk at general <at> gump.apache.org.

Project jakarta-hivemind-compile has an issue affecting its community integration.
This issue affects 4 projects,
 and has been outstanding for 59 runs.
The current state of this project is 'Failed', with reason 'Build Failed'.
For reference only, the following projects are affected by this:
    - jakarta-hivemind :  HiveMind is a services and configuration
    microkernel
    - jakarta-hivemind-compile :  HiveMind is a services and configuration
    microkernel
    - jakarta-hivemind-library :  HiveMind is a services and configuration
    microkernel
    - jakarta-tapestry :  Component-based web application framework organized around i...

Full details are available at:
    http://vmgump.apache.org/gump/public/jakarta-hivemind/jakarta-hivemind-compile/index.html

That said, some information snippets are provided here.

The following annotations (debug/informational/warning/error messages) were provided:
 -INFO- Failed with reason build failed

The following work was performed:
http://vmgump.apache.org/gump/public/jakarta-hivemind/jakarta-hivemind-compile/gump_work/build_jakarta-hivemind_jakarta-hivemind-compile.html
Work Name: build_jakarta-hivemind_jakarta-hivemind-compile (Type: Build)
(Continue reading)

hlship | 7 Jun 11:20 2006
Picon

[GUMP <at> vmgump]: Project jakarta-hivemind-compile (in module jakarta-hivemind) failed

To whom it may engage...

This is an automated request, but not an unsolicited one. For 
more information please visit http://gump.apache.org/nagged.html, 
and/or contact the folk at general <at> gump.apache.org.

Project jakarta-hivemind-compile has an issue affecting its community integration.
This issue affects 3 projects,
 and has been outstanding for 62 runs.
The current state of this project is 'Failed', with reason 'Build Failed'.
For reference only, the following projects are affected by this:
    - jakarta-hivemind :  HiveMind is a services and configuration
    microkernel
    - jakarta-hivemind-compile :  HiveMind is a services and configuration
    microkernel
    - jakarta-hivemind-library :  HiveMind is a services and configuration
    microkernel

Full details are available at:
    http://vmgump.apache.org/gump/public/jakarta-hivemind/jakarta-hivemind-compile/index.html

That said, some information snippets are provided here.

The following annotations (debug/informational/warning/error messages) were provided:
 -INFO- Failed with reason build failed

The following work was performed:
http://vmgump.apache.org/gump/public/jakarta-hivemind/jakarta-hivemind-compile/gump_work/build_jakarta-hivemind_jakarta-hivemind-compile.html
Work Name: build_jakarta-hivemind_jakarta-hivemind-compile (Type: Build)
Work ended in a state of : Failed
(Continue reading)

hlship | 8 Jun 11:30 2006
Picon

[GUMP <at> vmgump]: Project jakarta-hivemind-compile (in module jakarta-hivemind) failed

To whom it may engage...

This is an automated request, but not an unsolicited one. For 
more information please visit http://gump.apache.org/nagged.html, 
and/or contact the folk at general <at> gump.apache.org.

Project jakarta-hivemind-compile has an issue affecting its community integration.
This issue affects 4 projects,
 and has been outstanding for 65 runs.
The current state of this project is 'Failed', with reason 'Build Failed'.
For reference only, the following projects are affected by this:
    - jakarta-hivemind :  HiveMind is a services and configuration
    microkernel
    - jakarta-hivemind-compile :  HiveMind is a services and configuration
    microkernel
    - jakarta-hivemind-library :  HiveMind is a services and configuration
    microkernel
    - jakarta-tapestry :  Component-based web application framework organized around i...

Full details are available at:
    http://vmgump.apache.org/gump/public/jakarta-hivemind/jakarta-hivemind-compile/index.html

That said, some information snippets are provided here.

The following annotations (debug/informational/warning/error messages) were provided:
 -INFO- Failed with reason build failed

The following work was performed:
http://vmgump.apache.org/gump/public/jakarta-hivemind/jakarta-hivemind-compile/gump_work/build_jakarta-hivemind_jakarta-hivemind-compile.html
Work Name: build_jakarta-hivemind_jakarta-hivemind-compile (Type: Build)
(Continue reading)

Knut Wannheden (JIRA | 8 Jun 12:47 2006
Picon
Picon

[jira] Resolved: (HIVEMIND-137) Explicit default values for attribute elements within a schema

     [ http://issues.apache.org/jira/browse/HIVEMIND-137?page=all ]

Knut Wannheden resolved HIVEMIND-137:
-------------------------------------

    Fix Version: 1.2
     Resolution: Fixed

> Explicit default values for attribute elements within a schema
> --------------------------------------------------------------
>
>          Key: HIVEMIND-137
>          URL: http://issues.apache.org/jira/browse/HIVEMIND-137
>      Project: HiveMind
>         Type: Improvement

>   Components: framework
>     Versions: 1.1
>     Reporter: Stefan Liebig
>      Fix For: 1.2

>
> If you want to specify default values for <attribute>s within a schema like:
>     <attribute name="count" translator="int,min=5,max=10,default=5"/>
> and you use the <conversion> to convert the contribution┬┤s data into a mapping class,
> an non-existend "count" within a contribution will not be defaulted, although it has been
> specified that it should. To get the desired behaviour you have to use <rule>s with
> "skip-if-null=false" which is often "breaking a butterfly on a wheel".
> How about adding a "default" attribute to the <attribute> element, which will be used
> when the attribute is not specified?
(Continue reading)

Howard Lewis Ship | 8 Jun 20:06 2006
Picon

Double proxies vs. synchronization

The discussion at: http://howardlewisship.com/blog/2006/06/whoa-spring-doesnt-lazily-instantiate_05.html

has pointed out that, quite possibly, HiveMind has synchronization problems w.r.t. instantiating services.

I'm not completely buying it. Looking at the code paths, it seems unlikely to me that the compiler would have much opportunity to inline things. 

Insidethe inner proxy (generated by SingletonServiceModel) we see the following code:

private final synchronized MyServiceInterface _service()
{
  if (_service == null)
  {
    _service = (MyServiceInterface ) _serviceModel.getActualServiceImplementation();  // 1
    _deferredProxy._setInner(_service);                                                                     // 2
  }

  return _service;
}

The memory model for Java is a tricky thing in concurrent code.

The first line of code (// 1) may not completely execute before (// 2) does. That leaves a tiny window where _service is not fully instantiated and yet is exposed (via the OuterProxy, aka _deferredProxy) to some other thread. Further, the nature of these two statements means that //2 can't happen before //1, just in parallel.  It's a pretty damn tight window.

Personally, I don't see it.  If (// 1) was just creating a new instance, there might be something. However, getActualServiceImplementation() does a lot of work, much of it delegated to other objects. The secondary objects (service and interceptor factories) are hidden behind interfaces, interfaces with multiple implementations (and therefore, not likely to be inlined by the magic of Hotspot). The window shrinks from merely remotely possible to zero. 

Further, the scenarios necessary for even the remotely possible window are not completely likely. If multiple threads all hit _service() at the same time, they will be serialized by the synchronized lock on the method. What's necessary is that, while //1 and //2 are both running, yet another thread arrives inside the OuterProxy and sees the full service implementation (via //2) before the initialization code (// 1) finished executing.

I'd love for every bit of code I write to be provably correct under any circumstances.  For this to be an actual concern, we'd need the intersection of many different unlikely scenarios to line up:  the threads arriving inside the OuterProxy and InnerProxy at just the right times (highly unlikely) along with Hotspot reording the code (distributed across at least a dozen different classes) so that //2 occurs before //1 completes.  LIkelyhood falls close enough to zero to not be an issue.

I really like the fact that, once the service implementation is fully instantiated, the inner proxy goes away, and the outer proxy can delegate to the service implementation without needing any synchronization.

--
Howard M. Lewis Ship
Independent J2EE / Open-Source Java Consultant
Creator and PMC Chair, Apache Tapestry
Creator, Jakarta HiveMind

Professional Tapestry training, mentoring, support
and project work.   http://howardlewisship.com


Gmane