You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@clerezza.apache.org by "Tsuyoshi Ito (JIRA)" <ji...@apache.org> on 2011/07/26 17:33:09 UTC

[jira] [Created] (CLEREZZA-617) Bug in org.apache.clerezza.platform.typerendering.WebRenderingService causes a refresh of all bundles

Bug in org.apache.clerezza.platform.typerendering.WebRenderingService causes a refresh of all bundles
-----------------------------------------------------------------------------------------------------

                 Key: CLEREZZA-617
                 URL: https://issues.apache.org/jira/browse/CLEREZZA-617
             Project: Clerezza
          Issue Type: Bug
         Environment: Mac OSx 10.6.6
java version "1.6.0_26"
Java(TM) SE Runtime Environment (build 1.6.0_26-b03-384-10M3425)
Java HotSpot(TM) 64-Bit Server VM (build 20.1-b02-384, mixed mode)
            Reporter: Tsuyoshi Ito
            Priority: Critical
         Attachments: renderingservice.zip

Updating a bundle which provides a WebrenderingService causes an update of all bundles (after refresh). Even thougth there are no dependencies between most of the bundles.

test bundles to reproduce the bug attached.

How to reproduce it:

parent version 0.3-incubating-SNAPSHOT is used in test bundles (probably you need  0.2-incubating-SNAPSHOT).

attempt 1

1. Install and start bundle org.clerezza.app.webrenderingservice
2. Install and start bundle org.clerezza.app.webrenderingserviceconsumer
3. Go to http://localhost:8080/admin/renderingtest, The WebrenderingService produces the text "hello test". WebrenderingService is used in an ssp in the webrenderingserviceconsumer bundle
4. update org.clerezza.app.webrenderingservice, 
5. enter ":f refresh", a refresh is necessary. all bundles are updated

Furthermore the following error occured, which makes Clerezza Console unavailable.

org.apache.clerezza.shell.InterruptibleInputStream$$anon$1@2053076f: caught java.io.IOException: Bad file descriptor
java.io.IOException: Bad file descriptor
	at sun.nio.ch.FileDispatcher.read0(Native Method)
	at sun.nio.ch.FileDispatcher.read(FileDispatcher.java:26)
	at sun.nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:202)
	at sun.nio.ch.IOUtil.read(IOUtil.java:175)
	at sun.nio.ch.FileChannelImpl.read(FileChannelImpl.java:144)
	at sun.nio.ch.ChannelInputStream.read(ChannelInputStream.java:48)
	at sun.nio.ch.ChannelInputStream.read(ChannelInputStream.java:92)
	at sun.nio.ch.ChannelInputStream.read(ChannelInputStream.java:86)
	at java.io.InputStream.read(InputStream.java:85)
	at sun.nio.ch.ChannelInputStream.read(ChannelInputStream.java:64)
	at org.apache.clerezza.shell.InterruptibleInputStream$$anon$1$$anonfun$act$1$$anonfun$apply$1.apply(InterruptibleInputStream.scala:40)
	at org.apache.clerezza.shell.InterruptibleInputStream$$anon$1$$anonfun$act$1$$anonfun$apply$1.apply(InterruptibleInputStream.scala:35)
	at scala.actors.ReactorTask.run(ReactorTask.scala:34)
	at scala.actors.Reactor$class.resumeReceiver(Reactor.scala:129)
	at org.apache.clerezza.shell.InterruptibleInputStream$$anon$1.scala$actors$ReplyReactor$$super$resumeReceiver(InterruptibleInputStream.scala:32)
	at scala.actors.ReplyReactor$class.resumeReceiver(ReplyReactor.scala:69)
	at org.apache.clerezza.shell.InterruptibleInputStream$$anon$1.resumeReceiver(InterruptibleInputStream.scala:32)
	at scala.actors.Actor$class.searchMailbox(Actor.scala:478)
	at org.apache.clerezza.shell.InterruptibleInputStream$$anon$1.searchMailbox(InterruptibleInputStream.scala:32)
	at scala.actors.Reactor$$anonfun$startSearch$1$$anonfun$apply$mcV$sp$1.apply(Reactor.scala:114)
	at scala.actors.Reactor$$anonfun$startSearch$1$$anonfun$apply$mcV$sp$1.apply(Reactor.scala:114)
	at scala.actors.ReactorTask.run(ReactorTask.scala:36)
	at scala.concurrent.forkjoin.ForkJoinPool$AdaptedRunnable.exec(ForkJoinPool.java:611)
	at scala.concurrent.forkjoin.ForkJoinTask.quietlyExec(ForkJoinTask.java:422)
	at scala.concurrent.forkjoin.ForkJoinWorkerThread.mainLoop(ForkJoinWorkerThread.java:340)
	at scala.concurrent.forkjoin.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:325)

Because Clerezza Console is unavailable I have used http://localhost:8080/system/console/shell 

attempt 2
1 .Update bundle org.clerezza.app.webrenderingservice again without visiting http://localhost:8080/admin/renderingtest first (not compiling the ssp)
2. enter refresh => no refresh necessary





--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Commented] (CLEREZZA-617) Bug in org.apache.clerezza.platform.typerendering.WebRenderingService causes a refresh of all bundles

Posted by "Reto Bachmann-Gmür (Commented JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/CLEREZZA-617?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13188416#comment-13188416 ] 

Reto Bachmann-Gmür commented on CLEREZZA-617:
---------------------------------------------

Thanks for the patch Daniel, I'll have a look at it after the release.
                
> Bug in org.apache.clerezza.platform.typerendering.WebRenderingService causes a refresh of all bundles
> -----------------------------------------------------------------------------------------------------
>
>                 Key: CLEREZZA-617
>                 URL: https://issues.apache.org/jira/browse/CLEREZZA-617
>             Project: Clerezza
>          Issue Type: Bug
>         Environment: Mac OSx 10.6.6
> java version "1.6.0_26"
> Java(TM) SE Runtime Environment (build 1.6.0_26-b03-384-10M3425)
> Java HotSpot(TM) 64-Bit Server VM (build 20.1-b02-384, mixed mode)
>            Reporter: Tsuyoshi Ito
>            Assignee: Daniel Spicar
>            Priority: Critical
>         Attachments: refreshes.png, renderingservice-minimal.zip, renderingservice.zip
>
>
> Updating a bundle which provides a WebrenderingService causes an update of all bundles (after refresh). Even thougth there are no dependencies between most of the bundles.
> test bundles to reproduce the bug attached.
> How to reproduce it:
> parent version 0.3-incubating-SNAPSHOT is used in test bundles (probably you need  0.2-incubating-SNAPSHOT).
> attempt 1
> 1. Install and start bundle org.clerezza.app.webrenderingservice
> 2. Install and start bundle org.clerezza.app.webrenderingserviceconsumer
> 3. Go to http://localhost:8080/admin/renderingtest, The WebrenderingService produces the text "hello test". WebrenderingService is used in an ssp in the webrenderingserviceconsumer bundle
> 4. update org.clerezza.app.webrenderingservice, 
> 5. enter ":f refresh", a refresh is necessary. all bundles are updated
> Furthermore the following error occured, which makes Clerezza Console unavailable.
> org.apache.clerezza.shell.InterruptibleInputStream$$anon$1@2053076f: caught java.io.IOException: Bad file descriptor
> java.io.IOException: Bad file descriptor
> 	at sun.nio.ch.FileDispatcher.read0(Native Method)
> 	at sun.nio.ch.FileDispatcher.read(FileDispatcher.java:26)
> 	at sun.nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:202)
> 	at sun.nio.ch.IOUtil.read(IOUtil.java:175)
> 	at sun.nio.ch.FileChannelImpl.read(FileChannelImpl.java:144)
> 	at sun.nio.ch.ChannelInputStream.read(ChannelInputStream.java:48)
> 	at sun.nio.ch.ChannelInputStream.read(ChannelInputStream.java:92)
> 	at sun.nio.ch.ChannelInputStream.read(ChannelInputStream.java:86)
> 	at java.io.InputStream.read(InputStream.java:85)
> 	at sun.nio.ch.ChannelInputStream.read(ChannelInputStream.java:64)
> 	at org.apache.clerezza.shell.InterruptibleInputStream$$anon$1$$anonfun$act$1$$anonfun$apply$1.apply(InterruptibleInputStream.scala:40)
> 	at org.apache.clerezza.shell.InterruptibleInputStream$$anon$1$$anonfun$act$1$$anonfun$apply$1.apply(InterruptibleInputStream.scala:35)
> 	at scala.actors.ReactorTask.run(ReactorTask.scala:34)
> 	at scala.actors.Reactor$class.resumeReceiver(Reactor.scala:129)
> 	at org.apache.clerezza.shell.InterruptibleInputStream$$anon$1.scala$actors$ReplyReactor$$super$resumeReceiver(InterruptibleInputStream.scala:32)
> 	at scala.actors.ReplyReactor$class.resumeReceiver(ReplyReactor.scala:69)
> 	at org.apache.clerezza.shell.InterruptibleInputStream$$anon$1.resumeReceiver(InterruptibleInputStream.scala:32)
> 	at scala.actors.Actor$class.searchMailbox(Actor.scala:478)
> 	at org.apache.clerezza.shell.InterruptibleInputStream$$anon$1.searchMailbox(InterruptibleInputStream.scala:32)
> 	at scala.actors.Reactor$$anonfun$startSearch$1$$anonfun$apply$mcV$sp$1.apply(Reactor.scala:114)
> 	at scala.actors.Reactor$$anonfun$startSearch$1$$anonfun$apply$mcV$sp$1.apply(Reactor.scala:114)
> 	at scala.actors.ReactorTask.run(ReactorTask.scala:36)
> 	at scala.concurrent.forkjoin.ForkJoinPool$AdaptedRunnable.exec(ForkJoinPool.java:611)
> 	at scala.concurrent.forkjoin.ForkJoinTask.quietlyExec(ForkJoinTask.java:422)
> 	at scala.concurrent.forkjoin.ForkJoinWorkerThread.mainLoop(ForkJoinWorkerThread.java:340)
> 	at scala.concurrent.forkjoin.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:325)
> Because Clerezza Console is unavailable I have used http://localhost:8080/system/console/shell 
> attempt 2
> 1 .Update bundle org.clerezza.app.webrenderingservice again without visiting http://localhost:8080/admin/renderingtest first (not compiling the ssp)
> 2. enter refresh => no refresh necessary

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

       

[jira] [Assigned] (CLEREZZA-617) Bug in org.apache.clerezza.platform.typerendering.WebRenderingService causes a refresh of all bundles

Posted by "Daniel Spicar (Assigned) (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/CLEREZZA-617?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Daniel Spicar reassigned CLEREZZA-617:
--------------------------------------

    Assignee: Daniel Spicar
    
> Bug in org.apache.clerezza.platform.typerendering.WebRenderingService causes a refresh of all bundles
> -----------------------------------------------------------------------------------------------------
>
>                 Key: CLEREZZA-617
>                 URL: https://issues.apache.org/jira/browse/CLEREZZA-617
>             Project: Clerezza
>          Issue Type: Bug
>         Environment: Mac OSx 10.6.6
> java version "1.6.0_26"
> Java(TM) SE Runtime Environment (build 1.6.0_26-b03-384-10M3425)
> Java HotSpot(TM) 64-Bit Server VM (build 20.1-b02-384, mixed mode)
>            Reporter: Tsuyoshi Ito
>            Assignee: Daniel Spicar
>            Priority: Critical
>         Attachments: refreshes.png, renderingservice.zip
>
>
> Updating a bundle which provides a WebrenderingService causes an update of all bundles (after refresh). Even thougth there are no dependencies between most of the bundles.
> test bundles to reproduce the bug attached.
> How to reproduce it:
> parent version 0.3-incubating-SNAPSHOT is used in test bundles (probably you need  0.2-incubating-SNAPSHOT).
> attempt 1
> 1. Install and start bundle org.clerezza.app.webrenderingservice
> 2. Install and start bundle org.clerezza.app.webrenderingserviceconsumer
> 3. Go to http://localhost:8080/admin/renderingtest, The WebrenderingService produces the text "hello test". WebrenderingService is used in an ssp in the webrenderingserviceconsumer bundle
> 4. update org.clerezza.app.webrenderingservice, 
> 5. enter ":f refresh", a refresh is necessary. all bundles are updated
> Furthermore the following error occured, which makes Clerezza Console unavailable.
> org.apache.clerezza.shell.InterruptibleInputStream$$anon$1@2053076f: caught java.io.IOException: Bad file descriptor
> java.io.IOException: Bad file descriptor
> 	at sun.nio.ch.FileDispatcher.read0(Native Method)
> 	at sun.nio.ch.FileDispatcher.read(FileDispatcher.java:26)
> 	at sun.nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:202)
> 	at sun.nio.ch.IOUtil.read(IOUtil.java:175)
> 	at sun.nio.ch.FileChannelImpl.read(FileChannelImpl.java:144)
> 	at sun.nio.ch.ChannelInputStream.read(ChannelInputStream.java:48)
> 	at sun.nio.ch.ChannelInputStream.read(ChannelInputStream.java:92)
> 	at sun.nio.ch.ChannelInputStream.read(ChannelInputStream.java:86)
> 	at java.io.InputStream.read(InputStream.java:85)
> 	at sun.nio.ch.ChannelInputStream.read(ChannelInputStream.java:64)
> 	at org.apache.clerezza.shell.InterruptibleInputStream$$anon$1$$anonfun$act$1$$anonfun$apply$1.apply(InterruptibleInputStream.scala:40)
> 	at org.apache.clerezza.shell.InterruptibleInputStream$$anon$1$$anonfun$act$1$$anonfun$apply$1.apply(InterruptibleInputStream.scala:35)
> 	at scala.actors.ReactorTask.run(ReactorTask.scala:34)
> 	at scala.actors.Reactor$class.resumeReceiver(Reactor.scala:129)
> 	at org.apache.clerezza.shell.InterruptibleInputStream$$anon$1.scala$actors$ReplyReactor$$super$resumeReceiver(InterruptibleInputStream.scala:32)
> 	at scala.actors.ReplyReactor$class.resumeReceiver(ReplyReactor.scala:69)
> 	at org.apache.clerezza.shell.InterruptibleInputStream$$anon$1.resumeReceiver(InterruptibleInputStream.scala:32)
> 	at scala.actors.Actor$class.searchMailbox(Actor.scala:478)
> 	at org.apache.clerezza.shell.InterruptibleInputStream$$anon$1.searchMailbox(InterruptibleInputStream.scala:32)
> 	at scala.actors.Reactor$$anonfun$startSearch$1$$anonfun$apply$mcV$sp$1.apply(Reactor.scala:114)
> 	at scala.actors.Reactor$$anonfun$startSearch$1$$anonfun$apply$mcV$sp$1.apply(Reactor.scala:114)
> 	at scala.actors.ReactorTask.run(ReactorTask.scala:36)
> 	at scala.concurrent.forkjoin.ForkJoinPool$AdaptedRunnable.exec(ForkJoinPool.java:611)
> 	at scala.concurrent.forkjoin.ForkJoinTask.quietlyExec(ForkJoinTask.java:422)
> 	at scala.concurrent.forkjoin.ForkJoinWorkerThread.mainLoop(ForkJoinWorkerThread.java:340)
> 	at scala.concurrent.forkjoin.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:325)
> Because Clerezza Console is unavailable I have used http://localhost:8080/system/console/shell 
> attempt 2
> 1 .Update bundle org.clerezza.app.webrenderingservice again without visiting http://localhost:8080/admin/renderingtest first (not compiling the ssp)
> 2. enter refresh => no refresh necessary

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Updated] (CLEREZZA-617) Bug in org.apache.clerezza.platform.typerendering.WebRenderingService causes a refresh of all bundles

Posted by "Tsuyoshi Ito (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/CLEREZZA-617?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Tsuyoshi Ito updated CLEREZZA-617:
----------------------------------

    Attachment: renderingservice.zip

> Bug in org.apache.clerezza.platform.typerendering.WebRenderingService causes a refresh of all bundles
> -----------------------------------------------------------------------------------------------------
>
>                 Key: CLEREZZA-617
>                 URL: https://issues.apache.org/jira/browse/CLEREZZA-617
>             Project: Clerezza
>          Issue Type: Bug
>         Environment: Mac OSx 10.6.6
> java version "1.6.0_26"
> Java(TM) SE Runtime Environment (build 1.6.0_26-b03-384-10M3425)
> Java HotSpot(TM) 64-Bit Server VM (build 20.1-b02-384, mixed mode)
>            Reporter: Tsuyoshi Ito
>            Priority: Critical
>         Attachments: renderingservice.zip
>
>
> Updating a bundle which provides a WebrenderingService causes an update of all bundles (after refresh). Even thougth there are no dependencies between most of the bundles.
> test bundles to reproduce the bug attached.
> How to reproduce it:
> parent version 0.3-incubating-SNAPSHOT is used in test bundles (probably you need  0.2-incubating-SNAPSHOT).
> attempt 1
> 1. Install and start bundle org.clerezza.app.webrenderingservice
> 2. Install and start bundle org.clerezza.app.webrenderingserviceconsumer
> 3. Go to http://localhost:8080/admin/renderingtest, The WebrenderingService produces the text "hello test". WebrenderingService is used in an ssp in the webrenderingserviceconsumer bundle
> 4. update org.clerezza.app.webrenderingservice, 
> 5. enter ":f refresh", a refresh is necessary. all bundles are updated
> Furthermore the following error occured, which makes Clerezza Console unavailable.
> org.apache.clerezza.shell.InterruptibleInputStream$$anon$1@2053076f: caught java.io.IOException: Bad file descriptor
> java.io.IOException: Bad file descriptor
> 	at sun.nio.ch.FileDispatcher.read0(Native Method)
> 	at sun.nio.ch.FileDispatcher.read(FileDispatcher.java:26)
> 	at sun.nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:202)
> 	at sun.nio.ch.IOUtil.read(IOUtil.java:175)
> 	at sun.nio.ch.FileChannelImpl.read(FileChannelImpl.java:144)
> 	at sun.nio.ch.ChannelInputStream.read(ChannelInputStream.java:48)
> 	at sun.nio.ch.ChannelInputStream.read(ChannelInputStream.java:92)
> 	at sun.nio.ch.ChannelInputStream.read(ChannelInputStream.java:86)
> 	at java.io.InputStream.read(InputStream.java:85)
> 	at sun.nio.ch.ChannelInputStream.read(ChannelInputStream.java:64)
> 	at org.apache.clerezza.shell.InterruptibleInputStream$$anon$1$$anonfun$act$1$$anonfun$apply$1.apply(InterruptibleInputStream.scala:40)
> 	at org.apache.clerezza.shell.InterruptibleInputStream$$anon$1$$anonfun$act$1$$anonfun$apply$1.apply(InterruptibleInputStream.scala:35)
> 	at scala.actors.ReactorTask.run(ReactorTask.scala:34)
> 	at scala.actors.Reactor$class.resumeReceiver(Reactor.scala:129)
> 	at org.apache.clerezza.shell.InterruptibleInputStream$$anon$1.scala$actors$ReplyReactor$$super$resumeReceiver(InterruptibleInputStream.scala:32)
> 	at scala.actors.ReplyReactor$class.resumeReceiver(ReplyReactor.scala:69)
> 	at org.apache.clerezza.shell.InterruptibleInputStream$$anon$1.resumeReceiver(InterruptibleInputStream.scala:32)
> 	at scala.actors.Actor$class.searchMailbox(Actor.scala:478)
> 	at org.apache.clerezza.shell.InterruptibleInputStream$$anon$1.searchMailbox(InterruptibleInputStream.scala:32)
> 	at scala.actors.Reactor$$anonfun$startSearch$1$$anonfun$apply$mcV$sp$1.apply(Reactor.scala:114)
> 	at scala.actors.Reactor$$anonfun$startSearch$1$$anonfun$apply$mcV$sp$1.apply(Reactor.scala:114)
> 	at scala.actors.ReactorTask.run(ReactorTask.scala:36)
> 	at scala.concurrent.forkjoin.ForkJoinPool$AdaptedRunnable.exec(ForkJoinPool.java:611)
> 	at scala.concurrent.forkjoin.ForkJoinTask.quietlyExec(ForkJoinTask.java:422)
> 	at scala.concurrent.forkjoin.ForkJoinWorkerThread.mainLoop(ForkJoinWorkerThread.java:340)
> 	at scala.concurrent.forkjoin.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:325)
> Because Clerezza Console is unavailable I have used http://localhost:8080/system/console/shell 
> attempt 2
> 1 .Update bundle org.clerezza.app.webrenderingservice again without visiting http://localhost:8080/admin/renderingtest first (not compiling the ssp)
> 2. enter refresh => no refresh necessary

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Commented] (CLEREZZA-617) Bug in org.apache.clerezza.platform.typerendering.WebRenderingService causes a refresh of all bundles

Posted by "Daniel Spicar (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/CLEREZZA-617?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13100874#comment-13100874 ] 

Daniel Spicar commented on CLEREZZA-617:
----------------------------------------

I have been debugging the issue.

The cascade of refreshes occurs because after compiling the SSP that binds the webrenderingservice, there is a runtime package dependency of org.apache.clerezza.scala.scripting on org.apache.clerezza.org.clerezza.app.webrenderingservice. Note the direction of the dependency. Something in the Scala Scripting bundle depends on the Webrenderingservice implementations. Then all bundles dependending on the scala scripting bundle (contains the Scala compiler service) will refresh as well, which includes the scala shell, bundledevtool, etc. All in all 22 dependencies are refreshed (not all bundles).

I still need to locate the exact reason for the dependency.

> Bug in org.apache.clerezza.platform.typerendering.WebRenderingService causes a refresh of all bundles
> -----------------------------------------------------------------------------------------------------
>
>                 Key: CLEREZZA-617
>                 URL: https://issues.apache.org/jira/browse/CLEREZZA-617
>             Project: Clerezza
>          Issue Type: Bug
>         Environment: Mac OSx 10.6.6
> java version "1.6.0_26"
> Java(TM) SE Runtime Environment (build 1.6.0_26-b03-384-10M3425)
> Java HotSpot(TM) 64-Bit Server VM (build 20.1-b02-384, mixed mode)
>            Reporter: Tsuyoshi Ito
>            Priority: Critical
>         Attachments: renderingservice.zip
>
>
> Updating a bundle which provides a WebrenderingService causes an update of all bundles (after refresh). Even thougth there are no dependencies between most of the bundles.
> test bundles to reproduce the bug attached.
> How to reproduce it:
> parent version 0.3-incubating-SNAPSHOT is used in test bundles (probably you need  0.2-incubating-SNAPSHOT).
> attempt 1
> 1. Install and start bundle org.clerezza.app.webrenderingservice
> 2. Install and start bundle org.clerezza.app.webrenderingserviceconsumer
> 3. Go to http://localhost:8080/admin/renderingtest, The WebrenderingService produces the text "hello test". WebrenderingService is used in an ssp in the webrenderingserviceconsumer bundle
> 4. update org.clerezza.app.webrenderingservice, 
> 5. enter ":f refresh", a refresh is necessary. all bundles are updated
> Furthermore the following error occured, which makes Clerezza Console unavailable.
> org.apache.clerezza.shell.InterruptibleInputStream$$anon$1@2053076f: caught java.io.IOException: Bad file descriptor
> java.io.IOException: Bad file descriptor
> 	at sun.nio.ch.FileDispatcher.read0(Native Method)
> 	at sun.nio.ch.FileDispatcher.read(FileDispatcher.java:26)
> 	at sun.nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:202)
> 	at sun.nio.ch.IOUtil.read(IOUtil.java:175)
> 	at sun.nio.ch.FileChannelImpl.read(FileChannelImpl.java:144)
> 	at sun.nio.ch.ChannelInputStream.read(ChannelInputStream.java:48)
> 	at sun.nio.ch.ChannelInputStream.read(ChannelInputStream.java:92)
> 	at sun.nio.ch.ChannelInputStream.read(ChannelInputStream.java:86)
> 	at java.io.InputStream.read(InputStream.java:85)
> 	at sun.nio.ch.ChannelInputStream.read(ChannelInputStream.java:64)
> 	at org.apache.clerezza.shell.InterruptibleInputStream$$anon$1$$anonfun$act$1$$anonfun$apply$1.apply(InterruptibleInputStream.scala:40)
> 	at org.apache.clerezza.shell.InterruptibleInputStream$$anon$1$$anonfun$act$1$$anonfun$apply$1.apply(InterruptibleInputStream.scala:35)
> 	at scala.actors.ReactorTask.run(ReactorTask.scala:34)
> 	at scala.actors.Reactor$class.resumeReceiver(Reactor.scala:129)
> 	at org.apache.clerezza.shell.InterruptibleInputStream$$anon$1.scala$actors$ReplyReactor$$super$resumeReceiver(InterruptibleInputStream.scala:32)
> 	at scala.actors.ReplyReactor$class.resumeReceiver(ReplyReactor.scala:69)
> 	at org.apache.clerezza.shell.InterruptibleInputStream$$anon$1.resumeReceiver(InterruptibleInputStream.scala:32)
> 	at scala.actors.Actor$class.searchMailbox(Actor.scala:478)
> 	at org.apache.clerezza.shell.InterruptibleInputStream$$anon$1.searchMailbox(InterruptibleInputStream.scala:32)
> 	at scala.actors.Reactor$$anonfun$startSearch$1$$anonfun$apply$mcV$sp$1.apply(Reactor.scala:114)
> 	at scala.actors.Reactor$$anonfun$startSearch$1$$anonfun$apply$mcV$sp$1.apply(Reactor.scala:114)
> 	at scala.actors.ReactorTask.run(ReactorTask.scala:36)
> 	at scala.concurrent.forkjoin.ForkJoinPool$AdaptedRunnable.exec(ForkJoinPool.java:611)
> 	at scala.concurrent.forkjoin.ForkJoinTask.quietlyExec(ForkJoinTask.java:422)
> 	at scala.concurrent.forkjoin.ForkJoinWorkerThread.mainLoop(ForkJoinWorkerThread.java:340)
> 	at scala.concurrent.forkjoin.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:325)
> Because Clerezza Console is unavailable I have used http://localhost:8080/system/console/shell 
> attempt 2
> 1 .Update bundle org.clerezza.app.webrenderingservice again without visiting http://localhost:8080/admin/renderingtest first (not compiling the ssp)
> 2. enter refresh => no refresh necessary

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Commented] (CLEREZZA-617) Bug in org.apache.clerezza.platform.typerendering.WebRenderingService causes a refresh of all bundles

Posted by "Daniel Spicar (Commented) (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/CLEREZZA-617?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13191174#comment-13191174 ] 

Daniel Spicar commented on CLEREZZA-617:
----------------------------------------

Some information on the runtime dependencies for SSPs:

Bare minimum:
<Import-Package>
	scala,
	scala.reflect,
	scala.collection,
	scala.xml,
	org.apache.clerezza.platform.typerendering.scala,
	*
</Import-Package>

NOTE: declaring scala.* will not work for some reason. I assume patterns are only correctly resolved at compile time by the BND plugin. These dependencies are not visible at compile time.

when referencing a  WebRenderingService: org.clerezza.app.webrenderingservice is required additionally

NOTE: depending on the code in the SSP you may require different packages you reference in the code.

The lazy and expensive method (classpath becomes expensive to search):
<DynamicImport-Package>*</DynamicImport-Package>

This will dynamically resolve packages exported in the OSGi environment at runtime.

Usage with maven bundle plugin:
<build>
	<plugins>
		<plugin>
			<groupId>org.apache.felix</groupId>
			<artifactId>maven-bundle-plugin</artifactId>
			<configuration>
				<instructions>
				<!--	<DynamicImport-Package>*</DynamicImport-Package>   -->
					<Import-Package>
						scala,
						scala.reflect,
						scala.collection,
						scala.xml,
						org.apache.clerezza.platform.typerendering.scala,
						org.clerezza.app.webrenderingservice,
						*
					</Import-Package>
				</instructions>
			</configuration>
		</plugin>
	</plugins>
</build>


                
> Bug in org.apache.clerezza.platform.typerendering.WebRenderingService causes a refresh of all bundles
> -----------------------------------------------------------------------------------------------------
>
>                 Key: CLEREZZA-617
>                 URL: https://issues.apache.org/jira/browse/CLEREZZA-617
>             Project: Clerezza
>          Issue Type: Bug
>         Environment: Mac OSx 10.6.6
> java version "1.6.0_26"
> Java(TM) SE Runtime Environment (build 1.6.0_26-b03-384-10M3425)
> Java HotSpot(TM) 64-Bit Server VM (build 20.1-b02-384, mixed mode)
>            Reporter: Tsuyoshi Ito
>            Assignee: Daniel Spicar
>            Priority: Critical
>         Attachments: refreshes.png, renderingservice-minimal.zip, renderingservice.zip
>
>
> Updating a bundle which provides a WebrenderingService causes an update of all bundles (after refresh). Even thougth there are no dependencies between most of the bundles.
> test bundles to reproduce the bug attached.
> How to reproduce it:
> parent version 0.3-incubating-SNAPSHOT is used in test bundles (probably you need  0.2-incubating-SNAPSHOT).
> attempt 1
> 1. Install and start bundle org.clerezza.app.webrenderingservice
> 2. Install and start bundle org.clerezza.app.webrenderingserviceconsumer
> 3. Go to http://localhost:8080/admin/renderingtest, The WebrenderingService produces the text "hello test". WebrenderingService is used in an ssp in the webrenderingserviceconsumer bundle
> 4. update org.clerezza.app.webrenderingservice, 
> 5. enter ":f refresh", a refresh is necessary. all bundles are updated
> Furthermore the following error occured, which makes Clerezza Console unavailable.
> org.apache.clerezza.shell.InterruptibleInputStream$$anon$1@2053076f: caught java.io.IOException: Bad file descriptor
> java.io.IOException: Bad file descriptor
> 	at sun.nio.ch.FileDispatcher.read0(Native Method)
> 	at sun.nio.ch.FileDispatcher.read(FileDispatcher.java:26)
> 	at sun.nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:202)
> 	at sun.nio.ch.IOUtil.read(IOUtil.java:175)
> 	at sun.nio.ch.FileChannelImpl.read(FileChannelImpl.java:144)
> 	at sun.nio.ch.ChannelInputStream.read(ChannelInputStream.java:48)
> 	at sun.nio.ch.ChannelInputStream.read(ChannelInputStream.java:92)
> 	at sun.nio.ch.ChannelInputStream.read(ChannelInputStream.java:86)
> 	at java.io.InputStream.read(InputStream.java:85)
> 	at sun.nio.ch.ChannelInputStream.read(ChannelInputStream.java:64)
> 	at org.apache.clerezza.shell.InterruptibleInputStream$$anon$1$$anonfun$act$1$$anonfun$apply$1.apply(InterruptibleInputStream.scala:40)
> 	at org.apache.clerezza.shell.InterruptibleInputStream$$anon$1$$anonfun$act$1$$anonfun$apply$1.apply(InterruptibleInputStream.scala:35)
> 	at scala.actors.ReactorTask.run(ReactorTask.scala:34)
> 	at scala.actors.Reactor$class.resumeReceiver(Reactor.scala:129)
> 	at org.apache.clerezza.shell.InterruptibleInputStream$$anon$1.scala$actors$ReplyReactor$$super$resumeReceiver(InterruptibleInputStream.scala:32)
> 	at scala.actors.ReplyReactor$class.resumeReceiver(ReplyReactor.scala:69)
> 	at org.apache.clerezza.shell.InterruptibleInputStream$$anon$1.resumeReceiver(InterruptibleInputStream.scala:32)
> 	at scala.actors.Actor$class.searchMailbox(Actor.scala:478)
> 	at org.apache.clerezza.shell.InterruptibleInputStream$$anon$1.searchMailbox(InterruptibleInputStream.scala:32)
> 	at scala.actors.Reactor$$anonfun$startSearch$1$$anonfun$apply$mcV$sp$1.apply(Reactor.scala:114)
> 	at scala.actors.Reactor$$anonfun$startSearch$1$$anonfun$apply$mcV$sp$1.apply(Reactor.scala:114)
> 	at scala.actors.ReactorTask.run(ReactorTask.scala:36)
> 	at scala.concurrent.forkjoin.ForkJoinPool$AdaptedRunnable.exec(ForkJoinPool.java:611)
> 	at scala.concurrent.forkjoin.ForkJoinTask.quietlyExec(ForkJoinTask.java:422)
> 	at scala.concurrent.forkjoin.ForkJoinWorkerThread.mainLoop(ForkJoinWorkerThread.java:340)
> 	at scala.concurrent.forkjoin.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:325)
> Because Clerezza Console is unavailable I have used http://localhost:8080/system/console/shell 
> attempt 2
> 1 .Update bundle org.clerezza.app.webrenderingservice again without visiting http://localhost:8080/admin/renderingtest first (not compiling the ssp)
> 2. enter refresh => no refresh necessary

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Commented] (CLEREZZA-617) Bug in org.apache.clerezza.platform.typerendering.WebRenderingService causes a refresh of all bundles

Posted by "Reto Bachmann-Gmür (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/CLEREZZA-617?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13396910#comment-13396910 ] 

Reto Bachmann-Gmür commented on CLEREZZA-617:
---------------------------------------------

@Daniel: do you have the time to give my unothodox idea presented in http://mail-archives.apache.org/mod_mbox/incubator-clerezza-dev/201205.mbox/%3CCALvhUEULbFaSv0oAUObswkJN7p=vrGeSeF-JbTxNAdnQN6M0AQ@mail.gmail.com%3E a try?
                
> Bug in org.apache.clerezza.platform.typerendering.WebRenderingService causes a refresh of all bundles
> -----------------------------------------------------------------------------------------------------
>
>                 Key: CLEREZZA-617
>                 URL: https://issues.apache.org/jira/browse/CLEREZZA-617
>             Project: Clerezza
>          Issue Type: Bug
>    Affects Versions: 0.2-incubating
>         Environment: Mac OSx 10.6.6
> java version "1.6.0_26"
> Java(TM) SE Runtime Environment (build 1.6.0_26-b03-384-10M3425)
> Java HotSpot(TM) 64-Bit Server VM (build 20.1-b02-384, mixed mode)
>            Reporter: Tsuyoshi Ito
>            Assignee: Daniel Spicar
>            Priority: Critical
>         Attachments: refreshes.png, renderingservice-minimal.zip, renderingservice.zip
>
>
> Updating a bundle which provides a WebrenderingService causes an update of all bundles (after refresh). Even thougth there are no dependencies between most of the bundles.
> test bundles to reproduce the bug attached.
> How to reproduce it:
> parent version 0.3-incubating-SNAPSHOT is used in test bundles (probably you need  0.2-incubating-SNAPSHOT).
> attempt 1
> 1. Install and start bundle org.clerezza.app.webrenderingservice
> 2. Install and start bundle org.clerezza.app.webrenderingserviceconsumer
> 3. Go to http://localhost:8080/admin/renderingtest, The WebrenderingService produces the text "hello test". WebrenderingService is used in an ssp in the webrenderingserviceconsumer bundle
> 4. update org.clerezza.app.webrenderingservice, 
> 5. enter ":f refresh", a refresh is necessary. all bundles are updated
> Furthermore the following error occured, which makes Clerezza Console unavailable.
> org.apache.clerezza.shell.InterruptibleInputStream$$anon$1@2053076f: caught java.io.IOException: Bad file descriptor
> java.io.IOException: Bad file descriptor
> 	at sun.nio.ch.FileDispatcher.read0(Native Method)
> 	at sun.nio.ch.FileDispatcher.read(FileDispatcher.java:26)
> 	at sun.nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:202)
> 	at sun.nio.ch.IOUtil.read(IOUtil.java:175)
> 	at sun.nio.ch.FileChannelImpl.read(FileChannelImpl.java:144)
> 	at sun.nio.ch.ChannelInputStream.read(ChannelInputStream.java:48)
> 	at sun.nio.ch.ChannelInputStream.read(ChannelInputStream.java:92)
> 	at sun.nio.ch.ChannelInputStream.read(ChannelInputStream.java:86)
> 	at java.io.InputStream.read(InputStream.java:85)
> 	at sun.nio.ch.ChannelInputStream.read(ChannelInputStream.java:64)
> 	at org.apache.clerezza.shell.InterruptibleInputStream$$anon$1$$anonfun$act$1$$anonfun$apply$1.apply(InterruptibleInputStream.scala:40)
> 	at org.apache.clerezza.shell.InterruptibleInputStream$$anon$1$$anonfun$act$1$$anonfun$apply$1.apply(InterruptibleInputStream.scala:35)
> 	at scala.actors.ReactorTask.run(ReactorTask.scala:34)
> 	at scala.actors.Reactor$class.resumeReceiver(Reactor.scala:129)
> 	at org.apache.clerezza.shell.InterruptibleInputStream$$anon$1.scala$actors$ReplyReactor$$super$resumeReceiver(InterruptibleInputStream.scala:32)
> 	at scala.actors.ReplyReactor$class.resumeReceiver(ReplyReactor.scala:69)
> 	at org.apache.clerezza.shell.InterruptibleInputStream$$anon$1.resumeReceiver(InterruptibleInputStream.scala:32)
> 	at scala.actors.Actor$class.searchMailbox(Actor.scala:478)
> 	at org.apache.clerezza.shell.InterruptibleInputStream$$anon$1.searchMailbox(InterruptibleInputStream.scala:32)
> 	at scala.actors.Reactor$$anonfun$startSearch$1$$anonfun$apply$mcV$sp$1.apply(Reactor.scala:114)
> 	at scala.actors.Reactor$$anonfun$startSearch$1$$anonfun$apply$mcV$sp$1.apply(Reactor.scala:114)
> 	at scala.actors.ReactorTask.run(ReactorTask.scala:36)
> 	at scala.concurrent.forkjoin.ForkJoinPool$AdaptedRunnable.exec(ForkJoinPool.java:611)
> 	at scala.concurrent.forkjoin.ForkJoinTask.quietlyExec(ForkJoinTask.java:422)
> 	at scala.concurrent.forkjoin.ForkJoinWorkerThread.mainLoop(ForkJoinWorkerThread.java:340)
> 	at scala.concurrent.forkjoin.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:325)
> Because Clerezza Console is unavailable I have used http://localhost:8080/system/console/shell 
> attempt 2
> 1 .Update bundle org.clerezza.app.webrenderingservice again without visiting http://localhost:8080/admin/renderingtest first (not compiling the ssp)
> 2. enter refresh => no refresh necessary

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

       

[jira] [Commented] (CLEREZZA-617) Bug in org.apache.clerezza.platform.typerendering.WebRenderingService causes a refresh of all bundles

Posted by "Reto Bachmann-Gmür (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/CLEREZZA-617?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13107961#comment-13107961 ] 

Reto Bachmann-Gmür commented on CLEREZZA-617:
---------------------------------------------

Maybe ssp could no longer access classes from packages the bundle doesn't import. I'm curious on what effect changing the classloader will have.

> Bug in org.apache.clerezza.platform.typerendering.WebRenderingService causes a refresh of all bundles
> -----------------------------------------------------------------------------------------------------
>
>                 Key: CLEREZZA-617
>                 URL: https://issues.apache.org/jira/browse/CLEREZZA-617
>             Project: Clerezza
>          Issue Type: Bug
>         Environment: Mac OSx 10.6.6
> java version "1.6.0_26"
> Java(TM) SE Runtime Environment (build 1.6.0_26-b03-384-10M3425)
> Java HotSpot(TM) 64-Bit Server VM (build 20.1-b02-384, mixed mode)
>            Reporter: Tsuyoshi Ito
>            Priority: Critical
>         Attachments: refreshes.png, renderingservice.zip
>
>
> Updating a bundle which provides a WebrenderingService causes an update of all bundles (after refresh). Even thougth there are no dependencies between most of the bundles.
> test bundles to reproduce the bug attached.
> How to reproduce it:
> parent version 0.3-incubating-SNAPSHOT is used in test bundles (probably you need  0.2-incubating-SNAPSHOT).
> attempt 1
> 1. Install and start bundle org.clerezza.app.webrenderingservice
> 2. Install and start bundle org.clerezza.app.webrenderingserviceconsumer
> 3. Go to http://localhost:8080/admin/renderingtest, The WebrenderingService produces the text "hello test". WebrenderingService is used in an ssp in the webrenderingserviceconsumer bundle
> 4. update org.clerezza.app.webrenderingservice, 
> 5. enter ":f refresh", a refresh is necessary. all bundles are updated
> Furthermore the following error occured, which makes Clerezza Console unavailable.
> org.apache.clerezza.shell.InterruptibleInputStream$$anon$1@2053076f: caught java.io.IOException: Bad file descriptor
> java.io.IOException: Bad file descriptor
> 	at sun.nio.ch.FileDispatcher.read0(Native Method)
> 	at sun.nio.ch.FileDispatcher.read(FileDispatcher.java:26)
> 	at sun.nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:202)
> 	at sun.nio.ch.IOUtil.read(IOUtil.java:175)
> 	at sun.nio.ch.FileChannelImpl.read(FileChannelImpl.java:144)
> 	at sun.nio.ch.ChannelInputStream.read(ChannelInputStream.java:48)
> 	at sun.nio.ch.ChannelInputStream.read(ChannelInputStream.java:92)
> 	at sun.nio.ch.ChannelInputStream.read(ChannelInputStream.java:86)
> 	at java.io.InputStream.read(InputStream.java:85)
> 	at sun.nio.ch.ChannelInputStream.read(ChannelInputStream.java:64)
> 	at org.apache.clerezza.shell.InterruptibleInputStream$$anon$1$$anonfun$act$1$$anonfun$apply$1.apply(InterruptibleInputStream.scala:40)
> 	at org.apache.clerezza.shell.InterruptibleInputStream$$anon$1$$anonfun$act$1$$anonfun$apply$1.apply(InterruptibleInputStream.scala:35)
> 	at scala.actors.ReactorTask.run(ReactorTask.scala:34)
> 	at scala.actors.Reactor$class.resumeReceiver(Reactor.scala:129)
> 	at org.apache.clerezza.shell.InterruptibleInputStream$$anon$1.scala$actors$ReplyReactor$$super$resumeReceiver(InterruptibleInputStream.scala:32)
> 	at scala.actors.ReplyReactor$class.resumeReceiver(ReplyReactor.scala:69)
> 	at org.apache.clerezza.shell.InterruptibleInputStream$$anon$1.resumeReceiver(InterruptibleInputStream.scala:32)
> 	at scala.actors.Actor$class.searchMailbox(Actor.scala:478)
> 	at org.apache.clerezza.shell.InterruptibleInputStream$$anon$1.searchMailbox(InterruptibleInputStream.scala:32)
> 	at scala.actors.Reactor$$anonfun$startSearch$1$$anonfun$apply$mcV$sp$1.apply(Reactor.scala:114)
> 	at scala.actors.Reactor$$anonfun$startSearch$1$$anonfun$apply$mcV$sp$1.apply(Reactor.scala:114)
> 	at scala.actors.ReactorTask.run(ReactorTask.scala:36)
> 	at scala.concurrent.forkjoin.ForkJoinPool$AdaptedRunnable.exec(ForkJoinPool.java:611)
> 	at scala.concurrent.forkjoin.ForkJoinTask.quietlyExec(ForkJoinTask.java:422)
> 	at scala.concurrent.forkjoin.ForkJoinWorkerThread.mainLoop(ForkJoinWorkerThread.java:340)
> 	at scala.concurrent.forkjoin.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:325)
> Because Clerezza Console is unavailable I have used http://localhost:8080/system/console/shell 
> attempt 2
> 1 .Update bundle org.clerezza.app.webrenderingservice again without visiting http://localhost:8080/admin/renderingtest first (not compiling the ssp)
> 2. enter refresh => no refresh necessary

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

       

[jira] [Updated] (CLEREZZA-617) Bug in org.apache.clerezza.platform.typerendering.WebRenderingService causes a refresh of all bundles

Posted by "Daniel Spicar (Updated) (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/CLEREZZA-617?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Daniel Spicar updated CLEREZZA-617:
-----------------------------------

    Attachment: renderingservice.zip

minimal version of renderingservice for testing the issue
                
> Bug in org.apache.clerezza.platform.typerendering.WebRenderingService causes a refresh of all bundles
> -----------------------------------------------------------------------------------------------------
>
>                 Key: CLEREZZA-617
>                 URL: https://issues.apache.org/jira/browse/CLEREZZA-617
>             Project: Clerezza
>          Issue Type: Bug
>         Environment: Mac OSx 10.6.6
> java version "1.6.0_26"
> Java(TM) SE Runtime Environment (build 1.6.0_26-b03-384-10M3425)
> Java HotSpot(TM) 64-Bit Server VM (build 20.1-b02-384, mixed mode)
>            Reporter: Tsuyoshi Ito
>            Assignee: Daniel Spicar
>            Priority: Critical
>         Attachments: refreshes.png, renderingservice.zip, renderingservice.zip
>
>
> Updating a bundle which provides a WebrenderingService causes an update of all bundles (after refresh). Even thougth there are no dependencies between most of the bundles.
> test bundles to reproduce the bug attached.
> How to reproduce it:
> parent version 0.3-incubating-SNAPSHOT is used in test bundles (probably you need  0.2-incubating-SNAPSHOT).
> attempt 1
> 1. Install and start bundle org.clerezza.app.webrenderingservice
> 2. Install and start bundle org.clerezza.app.webrenderingserviceconsumer
> 3. Go to http://localhost:8080/admin/renderingtest, The WebrenderingService produces the text "hello test". WebrenderingService is used in an ssp in the webrenderingserviceconsumer bundle
> 4. update org.clerezza.app.webrenderingservice, 
> 5. enter ":f refresh", a refresh is necessary. all bundles are updated
> Furthermore the following error occured, which makes Clerezza Console unavailable.
> org.apache.clerezza.shell.InterruptibleInputStream$$anon$1@2053076f: caught java.io.IOException: Bad file descriptor
> java.io.IOException: Bad file descriptor
> 	at sun.nio.ch.FileDispatcher.read0(Native Method)
> 	at sun.nio.ch.FileDispatcher.read(FileDispatcher.java:26)
> 	at sun.nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:202)
> 	at sun.nio.ch.IOUtil.read(IOUtil.java:175)
> 	at sun.nio.ch.FileChannelImpl.read(FileChannelImpl.java:144)
> 	at sun.nio.ch.ChannelInputStream.read(ChannelInputStream.java:48)
> 	at sun.nio.ch.ChannelInputStream.read(ChannelInputStream.java:92)
> 	at sun.nio.ch.ChannelInputStream.read(ChannelInputStream.java:86)
> 	at java.io.InputStream.read(InputStream.java:85)
> 	at sun.nio.ch.ChannelInputStream.read(ChannelInputStream.java:64)
> 	at org.apache.clerezza.shell.InterruptibleInputStream$$anon$1$$anonfun$act$1$$anonfun$apply$1.apply(InterruptibleInputStream.scala:40)
> 	at org.apache.clerezza.shell.InterruptibleInputStream$$anon$1$$anonfun$act$1$$anonfun$apply$1.apply(InterruptibleInputStream.scala:35)
> 	at scala.actors.ReactorTask.run(ReactorTask.scala:34)
> 	at scala.actors.Reactor$class.resumeReceiver(Reactor.scala:129)
> 	at org.apache.clerezza.shell.InterruptibleInputStream$$anon$1.scala$actors$ReplyReactor$$super$resumeReceiver(InterruptibleInputStream.scala:32)
> 	at scala.actors.ReplyReactor$class.resumeReceiver(ReplyReactor.scala:69)
> 	at org.apache.clerezza.shell.InterruptibleInputStream$$anon$1.resumeReceiver(InterruptibleInputStream.scala:32)
> 	at scala.actors.Actor$class.searchMailbox(Actor.scala:478)
> 	at org.apache.clerezza.shell.InterruptibleInputStream$$anon$1.searchMailbox(InterruptibleInputStream.scala:32)
> 	at scala.actors.Reactor$$anonfun$startSearch$1$$anonfun$apply$mcV$sp$1.apply(Reactor.scala:114)
> 	at scala.actors.Reactor$$anonfun$startSearch$1$$anonfun$apply$mcV$sp$1.apply(Reactor.scala:114)
> 	at scala.actors.ReactorTask.run(ReactorTask.scala:36)
> 	at scala.concurrent.forkjoin.ForkJoinPool$AdaptedRunnable.exec(ForkJoinPool.java:611)
> 	at scala.concurrent.forkjoin.ForkJoinTask.quietlyExec(ForkJoinTask.java:422)
> 	at scala.concurrent.forkjoin.ForkJoinWorkerThread.mainLoop(ForkJoinWorkerThread.java:340)
> 	at scala.concurrent.forkjoin.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:325)
> Because Clerezza Console is unavailable I have used http://localhost:8080/system/console/shell 
> attempt 2
> 1 .Update bundle org.clerezza.app.webrenderingservice again without visiting http://localhost:8080/admin/renderingtest first (not compiling the ssp)
> 2. enter refresh => no refresh necessary

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Commented] (CLEREZZA-617) Bug in org.apache.clerezza.platform.typerendering.WebRenderingService causes a refresh of all bundles

Posted by "Daniel Spicar (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/CLEREZZA-617?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13105211#comment-13105211 ] 

Daniel Spicar commented on CLEREZZA-617:
----------------------------------------

Further debugging revealed the cause of the unintended dependency:

SSPs are compiled with the CompilerService in the Scala OSGi Services (org.apache.clerezza.scala.scripting) bundle.
The CompilerService uses TrackingCompiler.scala and on line 81 a ClassLoader of the org.apache.clerezza.scala.scripting bundle is used to load the compiled SSP class.

Next the class gets instantiated in Platform ScalaServerPages Renderlet (platform.typerendering.scalaserverpages) bundle at line 186. At this point, Felix creates the package dependency from org.apache.clerezza.scala.scripting to the bundle providing the the WebRenderingService (here: org.apache.clerezza.org.clerezza.app.webrenderingservice).

My hypothesis is that this is because in the SSP using the WebRenderingService the WebRenderingService is referenced via fully qualified classname or that the OSGi service lookup is resolved at the SSPs compile time. Nevertheless there is obviously a reference on org.apache.clerezza.org.clerezza.app.webrenderingservice in the consuming SSP. Because the compiled SSP is loaded with the classloader of org.apache.clerezza.scala.scripting, the dependency is not as one would expect.

Intuitively one would expect a dependency from org.apache.clerezza.org.clerezza.app.webrenderingconsumer on org.apache.clerezza.org.clerezza.app.webrenderingservice. Now the straight forward approach would be to use the classloader of org.apache.clerezza.org.clerezza.app.webrenderingconsumer to load the compiled SSP. However this approach would change dependencies on all compiled SSPs and may have currently unknown side effects.

I don't currently know another viable solution. I though of only referencing the WebRenderingService as a String in the consuming SSP and ensure, the dependency gets resolved dynamically at execution time but when the scala scrpiting bundle does not import the webrenderingservice's package there may be a ClassNotFoundException, as its classloader does not know about the WebRenderingService's class.

Any thought on this are welcome.

> Bug in org.apache.clerezza.platform.typerendering.WebRenderingService causes a refresh of all bundles
> -----------------------------------------------------------------------------------------------------
>
>                 Key: CLEREZZA-617
>                 URL: https://issues.apache.org/jira/browse/CLEREZZA-617
>             Project: Clerezza
>          Issue Type: Bug
>         Environment: Mac OSx 10.6.6
> java version "1.6.0_26"
> Java(TM) SE Runtime Environment (build 1.6.0_26-b03-384-10M3425)
> Java HotSpot(TM) 64-Bit Server VM (build 20.1-b02-384, mixed mode)
>            Reporter: Tsuyoshi Ito
>            Priority: Critical
>         Attachments: refreshes.png, renderingservice.zip
>
>
> Updating a bundle which provides a WebrenderingService causes an update of all bundles (after refresh). Even thougth there are no dependencies between most of the bundles.
> test bundles to reproduce the bug attached.
> How to reproduce it:
> parent version 0.3-incubating-SNAPSHOT is used in test bundles (probably you need  0.2-incubating-SNAPSHOT).
> attempt 1
> 1. Install and start bundle org.clerezza.app.webrenderingservice
> 2. Install and start bundle org.clerezza.app.webrenderingserviceconsumer
> 3. Go to http://localhost:8080/admin/renderingtest, The WebrenderingService produces the text "hello test". WebrenderingService is used in an ssp in the webrenderingserviceconsumer bundle
> 4. update org.clerezza.app.webrenderingservice, 
> 5. enter ":f refresh", a refresh is necessary. all bundles are updated
> Furthermore the following error occured, which makes Clerezza Console unavailable.
> org.apache.clerezza.shell.InterruptibleInputStream$$anon$1@2053076f: caught java.io.IOException: Bad file descriptor
> java.io.IOException: Bad file descriptor
> 	at sun.nio.ch.FileDispatcher.read0(Native Method)
> 	at sun.nio.ch.FileDispatcher.read(FileDispatcher.java:26)
> 	at sun.nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:202)
> 	at sun.nio.ch.IOUtil.read(IOUtil.java:175)
> 	at sun.nio.ch.FileChannelImpl.read(FileChannelImpl.java:144)
> 	at sun.nio.ch.ChannelInputStream.read(ChannelInputStream.java:48)
> 	at sun.nio.ch.ChannelInputStream.read(ChannelInputStream.java:92)
> 	at sun.nio.ch.ChannelInputStream.read(ChannelInputStream.java:86)
> 	at java.io.InputStream.read(InputStream.java:85)
> 	at sun.nio.ch.ChannelInputStream.read(ChannelInputStream.java:64)
> 	at org.apache.clerezza.shell.InterruptibleInputStream$$anon$1$$anonfun$act$1$$anonfun$apply$1.apply(InterruptibleInputStream.scala:40)
> 	at org.apache.clerezza.shell.InterruptibleInputStream$$anon$1$$anonfun$act$1$$anonfun$apply$1.apply(InterruptibleInputStream.scala:35)
> 	at scala.actors.ReactorTask.run(ReactorTask.scala:34)
> 	at scala.actors.Reactor$class.resumeReceiver(Reactor.scala:129)
> 	at org.apache.clerezza.shell.InterruptibleInputStream$$anon$1.scala$actors$ReplyReactor$$super$resumeReceiver(InterruptibleInputStream.scala:32)
> 	at scala.actors.ReplyReactor$class.resumeReceiver(ReplyReactor.scala:69)
> 	at org.apache.clerezza.shell.InterruptibleInputStream$$anon$1.resumeReceiver(InterruptibleInputStream.scala:32)
> 	at scala.actors.Actor$class.searchMailbox(Actor.scala:478)
> 	at org.apache.clerezza.shell.InterruptibleInputStream$$anon$1.searchMailbox(InterruptibleInputStream.scala:32)
> 	at scala.actors.Reactor$$anonfun$startSearch$1$$anonfun$apply$mcV$sp$1.apply(Reactor.scala:114)
> 	at scala.actors.Reactor$$anonfun$startSearch$1$$anonfun$apply$mcV$sp$1.apply(Reactor.scala:114)
> 	at scala.actors.ReactorTask.run(ReactorTask.scala:36)
> 	at scala.concurrent.forkjoin.ForkJoinPool$AdaptedRunnable.exec(ForkJoinPool.java:611)
> 	at scala.concurrent.forkjoin.ForkJoinTask.quietlyExec(ForkJoinTask.java:422)
> 	at scala.concurrent.forkjoin.ForkJoinWorkerThread.mainLoop(ForkJoinWorkerThread.java:340)
> 	at scala.concurrent.forkjoin.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:325)
> Because Clerezza Console is unavailable I have used http://localhost:8080/system/console/shell 
> attempt 2
> 1 .Update bundle org.clerezza.app.webrenderingservice again without visiting http://localhost:8080/admin/renderingtest first (not compiling the ssp)
> 2. enter refresh => no refresh necessary

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Commented] (CLEREZZA-617) Bug in org.apache.clerezza.platform.typerendering.WebRenderingService causes a refresh of all bundles

Posted by "Daniel Spicar (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/CLEREZZA-617?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13107986#comment-13107986 ] 

Daniel Spicar commented on CLEREZZA-617:
----------------------------------------

I have been making changes to pass the called bundlecontext to the scala compiler service. But just letting the SSP's bundle load the compiled SSP does not work because it doesn't know about SRenderlet and CompiledScalaServerPage classes. 

Next I wrote some (not very nice) code to get a bundle's class loader (it's not that easy, I used java reflection) and tried to make a custom ClassLoader. The idea is to use the Bundle's class loader as parent class loader with the custom class loqader. The custom classloader was at first the currently used AbstractFileClassLoader which enabled the CompiledScalaServerPage class to be resolved. However it still does not resolve the SRenderlet class. I started extending the custom class loader to load all classes in the scala scripting bundle's classpath but so far I failed at making it work in Scala. I am still working on it.

All this code is very prototypical and probably is not very efficient. The idea was more the see if it can be done.

> Bug in org.apache.clerezza.platform.typerendering.WebRenderingService causes a refresh of all bundles
> -----------------------------------------------------------------------------------------------------
>
>                 Key: CLEREZZA-617
>                 URL: https://issues.apache.org/jira/browse/CLEREZZA-617
>             Project: Clerezza
>          Issue Type: Bug
>         Environment: Mac OSx 10.6.6
> java version "1.6.0_26"
> Java(TM) SE Runtime Environment (build 1.6.0_26-b03-384-10M3425)
> Java HotSpot(TM) 64-Bit Server VM (build 20.1-b02-384, mixed mode)
>            Reporter: Tsuyoshi Ito
>            Priority: Critical
>         Attachments: refreshes.png, renderingservice.zip
>
>
> Updating a bundle which provides a WebrenderingService causes an update of all bundles (after refresh). Even thougth there are no dependencies between most of the bundles.
> test bundles to reproduce the bug attached.
> How to reproduce it:
> parent version 0.3-incubating-SNAPSHOT is used in test bundles (probably you need  0.2-incubating-SNAPSHOT).
> attempt 1
> 1. Install and start bundle org.clerezza.app.webrenderingservice
> 2. Install and start bundle org.clerezza.app.webrenderingserviceconsumer
> 3. Go to http://localhost:8080/admin/renderingtest, The WebrenderingService produces the text "hello test". WebrenderingService is used in an ssp in the webrenderingserviceconsumer bundle
> 4. update org.clerezza.app.webrenderingservice, 
> 5. enter ":f refresh", a refresh is necessary. all bundles are updated
> Furthermore the following error occured, which makes Clerezza Console unavailable.
> org.apache.clerezza.shell.InterruptibleInputStream$$anon$1@2053076f: caught java.io.IOException: Bad file descriptor
> java.io.IOException: Bad file descriptor
> 	at sun.nio.ch.FileDispatcher.read0(Native Method)
> 	at sun.nio.ch.FileDispatcher.read(FileDispatcher.java:26)
> 	at sun.nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:202)
> 	at sun.nio.ch.IOUtil.read(IOUtil.java:175)
> 	at sun.nio.ch.FileChannelImpl.read(FileChannelImpl.java:144)
> 	at sun.nio.ch.ChannelInputStream.read(ChannelInputStream.java:48)
> 	at sun.nio.ch.ChannelInputStream.read(ChannelInputStream.java:92)
> 	at sun.nio.ch.ChannelInputStream.read(ChannelInputStream.java:86)
> 	at java.io.InputStream.read(InputStream.java:85)
> 	at sun.nio.ch.ChannelInputStream.read(ChannelInputStream.java:64)
> 	at org.apache.clerezza.shell.InterruptibleInputStream$$anon$1$$anonfun$act$1$$anonfun$apply$1.apply(InterruptibleInputStream.scala:40)
> 	at org.apache.clerezza.shell.InterruptibleInputStream$$anon$1$$anonfun$act$1$$anonfun$apply$1.apply(InterruptibleInputStream.scala:35)
> 	at scala.actors.ReactorTask.run(ReactorTask.scala:34)
> 	at scala.actors.Reactor$class.resumeReceiver(Reactor.scala:129)
> 	at org.apache.clerezza.shell.InterruptibleInputStream$$anon$1.scala$actors$ReplyReactor$$super$resumeReceiver(InterruptibleInputStream.scala:32)
> 	at scala.actors.ReplyReactor$class.resumeReceiver(ReplyReactor.scala:69)
> 	at org.apache.clerezza.shell.InterruptibleInputStream$$anon$1.resumeReceiver(InterruptibleInputStream.scala:32)
> 	at scala.actors.Actor$class.searchMailbox(Actor.scala:478)
> 	at org.apache.clerezza.shell.InterruptibleInputStream$$anon$1.searchMailbox(InterruptibleInputStream.scala:32)
> 	at scala.actors.Reactor$$anonfun$startSearch$1$$anonfun$apply$mcV$sp$1.apply(Reactor.scala:114)
> 	at scala.actors.Reactor$$anonfun$startSearch$1$$anonfun$apply$mcV$sp$1.apply(Reactor.scala:114)
> 	at scala.actors.ReactorTask.run(ReactorTask.scala:36)
> 	at scala.concurrent.forkjoin.ForkJoinPool$AdaptedRunnable.exec(ForkJoinPool.java:611)
> 	at scala.concurrent.forkjoin.ForkJoinTask.quietlyExec(ForkJoinTask.java:422)
> 	at scala.concurrent.forkjoin.ForkJoinWorkerThread.mainLoop(ForkJoinWorkerThread.java:340)
> 	at scala.concurrent.forkjoin.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:325)
> Because Clerezza Console is unavailable I have used http://localhost:8080/system/console/shell 
> attempt 2
> 1 .Update bundle org.clerezza.app.webrenderingservice again without visiting http://localhost:8080/admin/renderingtest first (not compiling the ssp)
> 2. enter refresh => no refresh necessary

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Commented] (CLEREZZA-617) Bug in org.apache.clerezza.platform.typerendering.WebRenderingService causes a refresh of all bundles

Posted by "Daniel Spicar (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/CLEREZZA-617?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13105293#comment-13105293 ] 

Daniel Spicar commented on CLEREZZA-617:
----------------------------------------

Yes, the WebRenderingService Component does not cause this issue per se. The issue arises from SSPs using a WebRenderingService. When these SSPs are compiled, Felix creates a dependency on the package providing the WebRenderingService (which is correct and to be expected). The issue is however, that in the current implementation not the WebRenderingConsumer is wired to the WebRenderingService but instead the Scala Scripting bundle is wired to the WebRenderingService. Because many bundles import (depend on) the Scala scripting bundle, this causes a cascade of refreshes, when the WebRenderingService Provider bundle is refreshed and as a consequence the Scala scripting bundle is refreshed as well.

I did not yet try what sorts of side effects would appear but just using the classloader of the bundle that provides the SSP when an SSP is compiled, will have an effect on dependencies created for every bundle registering an SSP. In the described case with the Webrenderingservice, we should get the expected dependency of the consumer on the provider. But irrespective of whether any webrenderingservice is used, dependencies inside SSPs will not not be wired from scala scripting to the respective packages but from the bundles that register the SSP to the respective packages. Now I did not try this but I would expect all bundles registering an SSP to be wired to various scala packages at least and possibly other ones. While this seems to be correct logically it is different from how it used to be until now. Therefore I say there may be unwanted side effects but I don't know. It needs to be tested. 

> Bug in org.apache.clerezza.platform.typerendering.WebRenderingService causes a refresh of all bundles
> -----------------------------------------------------------------------------------------------------
>
>                 Key: CLEREZZA-617
>                 URL: https://issues.apache.org/jira/browse/CLEREZZA-617
>             Project: Clerezza
>          Issue Type: Bug
>         Environment: Mac OSx 10.6.6
> java version "1.6.0_26"
> Java(TM) SE Runtime Environment (build 1.6.0_26-b03-384-10M3425)
> Java HotSpot(TM) 64-Bit Server VM (build 20.1-b02-384, mixed mode)
>            Reporter: Tsuyoshi Ito
>            Priority: Critical
>         Attachments: refreshes.png, renderingservice.zip
>
>
> Updating a bundle which provides a WebrenderingService causes an update of all bundles (after refresh). Even thougth there are no dependencies between most of the bundles.
> test bundles to reproduce the bug attached.
> How to reproduce it:
> parent version 0.3-incubating-SNAPSHOT is used in test bundles (probably you need  0.2-incubating-SNAPSHOT).
> attempt 1
> 1. Install and start bundle org.clerezza.app.webrenderingservice
> 2. Install and start bundle org.clerezza.app.webrenderingserviceconsumer
> 3. Go to http://localhost:8080/admin/renderingtest, The WebrenderingService produces the text "hello test". WebrenderingService is used in an ssp in the webrenderingserviceconsumer bundle
> 4. update org.clerezza.app.webrenderingservice, 
> 5. enter ":f refresh", a refresh is necessary. all bundles are updated
> Furthermore the following error occured, which makes Clerezza Console unavailable.
> org.apache.clerezza.shell.InterruptibleInputStream$$anon$1@2053076f: caught java.io.IOException: Bad file descriptor
> java.io.IOException: Bad file descriptor
> 	at sun.nio.ch.FileDispatcher.read0(Native Method)
> 	at sun.nio.ch.FileDispatcher.read(FileDispatcher.java:26)
> 	at sun.nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:202)
> 	at sun.nio.ch.IOUtil.read(IOUtil.java:175)
> 	at sun.nio.ch.FileChannelImpl.read(FileChannelImpl.java:144)
> 	at sun.nio.ch.ChannelInputStream.read(ChannelInputStream.java:48)
> 	at sun.nio.ch.ChannelInputStream.read(ChannelInputStream.java:92)
> 	at sun.nio.ch.ChannelInputStream.read(ChannelInputStream.java:86)
> 	at java.io.InputStream.read(InputStream.java:85)
> 	at sun.nio.ch.ChannelInputStream.read(ChannelInputStream.java:64)
> 	at org.apache.clerezza.shell.InterruptibleInputStream$$anon$1$$anonfun$act$1$$anonfun$apply$1.apply(InterruptibleInputStream.scala:40)
> 	at org.apache.clerezza.shell.InterruptibleInputStream$$anon$1$$anonfun$act$1$$anonfun$apply$1.apply(InterruptibleInputStream.scala:35)
> 	at scala.actors.ReactorTask.run(ReactorTask.scala:34)
> 	at scala.actors.Reactor$class.resumeReceiver(Reactor.scala:129)
> 	at org.apache.clerezza.shell.InterruptibleInputStream$$anon$1.scala$actors$ReplyReactor$$super$resumeReceiver(InterruptibleInputStream.scala:32)
> 	at scala.actors.ReplyReactor$class.resumeReceiver(ReplyReactor.scala:69)
> 	at org.apache.clerezza.shell.InterruptibleInputStream$$anon$1.resumeReceiver(InterruptibleInputStream.scala:32)
> 	at scala.actors.Actor$class.searchMailbox(Actor.scala:478)
> 	at org.apache.clerezza.shell.InterruptibleInputStream$$anon$1.searchMailbox(InterruptibleInputStream.scala:32)
> 	at scala.actors.Reactor$$anonfun$startSearch$1$$anonfun$apply$mcV$sp$1.apply(Reactor.scala:114)
> 	at scala.actors.Reactor$$anonfun$startSearch$1$$anonfun$apply$mcV$sp$1.apply(Reactor.scala:114)
> 	at scala.actors.ReactorTask.run(ReactorTask.scala:36)
> 	at scala.concurrent.forkjoin.ForkJoinPool$AdaptedRunnable.exec(ForkJoinPool.java:611)
> 	at scala.concurrent.forkjoin.ForkJoinTask.quietlyExec(ForkJoinTask.java:422)
> 	at scala.concurrent.forkjoin.ForkJoinWorkerThread.mainLoop(ForkJoinWorkerThread.java:340)
> 	at scala.concurrent.forkjoin.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:325)
> Because Clerezza Console is unavailable I have used http://localhost:8080/system/console/shell 
> attempt 2
> 1 .Update bundle org.clerezza.app.webrenderingservice again without visiting http://localhost:8080/admin/renderingtest first (not compiling the ssp)
> 2. enter refresh => no refresh necessary

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Commented] (CLEREZZA-617) Bug in org.apache.clerezza.platform.typerendering.WebRenderingService causes a refresh of all bundles

Posted by "Reto Bachmann-Gmür (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/CLEREZZA-617?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13105287#comment-13105287 ] 

Reto Bachmann-Gmür commented on CLEREZZA-617:
---------------------------------------------

Do I undesrtand it correctly that the issue only applies to SSP and not to WebRenderingServices in general? 
if webrenderingconsumer is the bundle providing the ssp, it seems correct to use its classloader to load the built class, I can't think of any unwanted side-effect.

> Bug in org.apache.clerezza.platform.typerendering.WebRenderingService causes a refresh of all bundles
> -----------------------------------------------------------------------------------------------------
>
>                 Key: CLEREZZA-617
>                 URL: https://issues.apache.org/jira/browse/CLEREZZA-617
>             Project: Clerezza
>          Issue Type: Bug
>         Environment: Mac OSx 10.6.6
> java version "1.6.0_26"
> Java(TM) SE Runtime Environment (build 1.6.0_26-b03-384-10M3425)
> Java HotSpot(TM) 64-Bit Server VM (build 20.1-b02-384, mixed mode)
>            Reporter: Tsuyoshi Ito
>            Priority: Critical
>         Attachments: refreshes.png, renderingservice.zip
>
>
> Updating a bundle which provides a WebrenderingService causes an update of all bundles (after refresh). Even thougth there are no dependencies between most of the bundles.
> test bundles to reproduce the bug attached.
> How to reproduce it:
> parent version 0.3-incubating-SNAPSHOT is used in test bundles (probably you need  0.2-incubating-SNAPSHOT).
> attempt 1
> 1. Install and start bundle org.clerezza.app.webrenderingservice
> 2. Install and start bundle org.clerezza.app.webrenderingserviceconsumer
> 3. Go to http://localhost:8080/admin/renderingtest, The WebrenderingService produces the text "hello test". WebrenderingService is used in an ssp in the webrenderingserviceconsumer bundle
> 4. update org.clerezza.app.webrenderingservice, 
> 5. enter ":f refresh", a refresh is necessary. all bundles are updated
> Furthermore the following error occured, which makes Clerezza Console unavailable.
> org.apache.clerezza.shell.InterruptibleInputStream$$anon$1@2053076f: caught java.io.IOException: Bad file descriptor
> java.io.IOException: Bad file descriptor
> 	at sun.nio.ch.FileDispatcher.read0(Native Method)
> 	at sun.nio.ch.FileDispatcher.read(FileDispatcher.java:26)
> 	at sun.nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:202)
> 	at sun.nio.ch.IOUtil.read(IOUtil.java:175)
> 	at sun.nio.ch.FileChannelImpl.read(FileChannelImpl.java:144)
> 	at sun.nio.ch.ChannelInputStream.read(ChannelInputStream.java:48)
> 	at sun.nio.ch.ChannelInputStream.read(ChannelInputStream.java:92)
> 	at sun.nio.ch.ChannelInputStream.read(ChannelInputStream.java:86)
> 	at java.io.InputStream.read(InputStream.java:85)
> 	at sun.nio.ch.ChannelInputStream.read(ChannelInputStream.java:64)
> 	at org.apache.clerezza.shell.InterruptibleInputStream$$anon$1$$anonfun$act$1$$anonfun$apply$1.apply(InterruptibleInputStream.scala:40)
> 	at org.apache.clerezza.shell.InterruptibleInputStream$$anon$1$$anonfun$act$1$$anonfun$apply$1.apply(InterruptibleInputStream.scala:35)
> 	at scala.actors.ReactorTask.run(ReactorTask.scala:34)
> 	at scala.actors.Reactor$class.resumeReceiver(Reactor.scala:129)
> 	at org.apache.clerezza.shell.InterruptibleInputStream$$anon$1.scala$actors$ReplyReactor$$super$resumeReceiver(InterruptibleInputStream.scala:32)
> 	at scala.actors.ReplyReactor$class.resumeReceiver(ReplyReactor.scala:69)
> 	at org.apache.clerezza.shell.InterruptibleInputStream$$anon$1.resumeReceiver(InterruptibleInputStream.scala:32)
> 	at scala.actors.Actor$class.searchMailbox(Actor.scala:478)
> 	at org.apache.clerezza.shell.InterruptibleInputStream$$anon$1.searchMailbox(InterruptibleInputStream.scala:32)
> 	at scala.actors.Reactor$$anonfun$startSearch$1$$anonfun$apply$mcV$sp$1.apply(Reactor.scala:114)
> 	at scala.actors.Reactor$$anonfun$startSearch$1$$anonfun$apply$mcV$sp$1.apply(Reactor.scala:114)
> 	at scala.actors.ReactorTask.run(ReactorTask.scala:36)
> 	at scala.concurrent.forkjoin.ForkJoinPool$AdaptedRunnable.exec(ForkJoinPool.java:611)
> 	at scala.concurrent.forkjoin.ForkJoinTask.quietlyExec(ForkJoinTask.java:422)
> 	at scala.concurrent.forkjoin.ForkJoinWorkerThread.mainLoop(ForkJoinWorkerThread.java:340)
> 	at scala.concurrent.forkjoin.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:325)
> Because Clerezza Console is unavailable I have used http://localhost:8080/system/console/shell 
> attempt 2
> 1 .Update bundle org.clerezza.app.webrenderingservice again without visiting http://localhost:8080/admin/renderingtest first (not compiling the ssp)
> 2. enter refresh => no refresh necessary

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

       

[jira] [Commented] (CLEREZZA-617) Bug in org.apache.clerezza.platform.typerendering.WebRenderingService causes a refresh of all bundles

Posted by "Daniel Spicar (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/CLEREZZA-617?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13294435#comment-13294435 ] 

Daniel Spicar commented on CLEREZZA-617:
----------------------------------------

To clarify: This issue occurs as well without any WebRenderingService being involved but also SSPs having statical dependencies to other bundles (e.g. importing Classes/Packages).
                
> Bug in org.apache.clerezza.platform.typerendering.WebRenderingService causes a refresh of all bundles
> -----------------------------------------------------------------------------------------------------
>
>                 Key: CLEREZZA-617
>                 URL: https://issues.apache.org/jira/browse/CLEREZZA-617
>             Project: Clerezza
>          Issue Type: Bug
>    Affects Versions: 0.2-incubating
>         Environment: Mac OSx 10.6.6
> java version "1.6.0_26"
> Java(TM) SE Runtime Environment (build 1.6.0_26-b03-384-10M3425)
> Java HotSpot(TM) 64-Bit Server VM (build 20.1-b02-384, mixed mode)
>            Reporter: Tsuyoshi Ito
>            Assignee: Daniel Spicar
>            Priority: Critical
>         Attachments: refreshes.png, renderingservice-minimal.zip, renderingservice.zip
>
>
> Updating a bundle which provides a WebrenderingService causes an update of all bundles (after refresh). Even thougth there are no dependencies between most of the bundles.
> test bundles to reproduce the bug attached.
> How to reproduce it:
> parent version 0.3-incubating-SNAPSHOT is used in test bundles (probably you need  0.2-incubating-SNAPSHOT).
> attempt 1
> 1. Install and start bundle org.clerezza.app.webrenderingservice
> 2. Install and start bundle org.clerezza.app.webrenderingserviceconsumer
> 3. Go to http://localhost:8080/admin/renderingtest, The WebrenderingService produces the text "hello test". WebrenderingService is used in an ssp in the webrenderingserviceconsumer bundle
> 4. update org.clerezza.app.webrenderingservice, 
> 5. enter ":f refresh", a refresh is necessary. all bundles are updated
> Furthermore the following error occured, which makes Clerezza Console unavailable.
> org.apache.clerezza.shell.InterruptibleInputStream$$anon$1@2053076f: caught java.io.IOException: Bad file descriptor
> java.io.IOException: Bad file descriptor
> 	at sun.nio.ch.FileDispatcher.read0(Native Method)
> 	at sun.nio.ch.FileDispatcher.read(FileDispatcher.java:26)
> 	at sun.nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:202)
> 	at sun.nio.ch.IOUtil.read(IOUtil.java:175)
> 	at sun.nio.ch.FileChannelImpl.read(FileChannelImpl.java:144)
> 	at sun.nio.ch.ChannelInputStream.read(ChannelInputStream.java:48)
> 	at sun.nio.ch.ChannelInputStream.read(ChannelInputStream.java:92)
> 	at sun.nio.ch.ChannelInputStream.read(ChannelInputStream.java:86)
> 	at java.io.InputStream.read(InputStream.java:85)
> 	at sun.nio.ch.ChannelInputStream.read(ChannelInputStream.java:64)
> 	at org.apache.clerezza.shell.InterruptibleInputStream$$anon$1$$anonfun$act$1$$anonfun$apply$1.apply(InterruptibleInputStream.scala:40)
> 	at org.apache.clerezza.shell.InterruptibleInputStream$$anon$1$$anonfun$act$1$$anonfun$apply$1.apply(InterruptibleInputStream.scala:35)
> 	at scala.actors.ReactorTask.run(ReactorTask.scala:34)
> 	at scala.actors.Reactor$class.resumeReceiver(Reactor.scala:129)
> 	at org.apache.clerezza.shell.InterruptibleInputStream$$anon$1.scala$actors$ReplyReactor$$super$resumeReceiver(InterruptibleInputStream.scala:32)
> 	at scala.actors.ReplyReactor$class.resumeReceiver(ReplyReactor.scala:69)
> 	at org.apache.clerezza.shell.InterruptibleInputStream$$anon$1.resumeReceiver(InterruptibleInputStream.scala:32)
> 	at scala.actors.Actor$class.searchMailbox(Actor.scala:478)
> 	at org.apache.clerezza.shell.InterruptibleInputStream$$anon$1.searchMailbox(InterruptibleInputStream.scala:32)
> 	at scala.actors.Reactor$$anonfun$startSearch$1$$anonfun$apply$mcV$sp$1.apply(Reactor.scala:114)
> 	at scala.actors.Reactor$$anonfun$startSearch$1$$anonfun$apply$mcV$sp$1.apply(Reactor.scala:114)
> 	at scala.actors.ReactorTask.run(ReactorTask.scala:36)
> 	at scala.concurrent.forkjoin.ForkJoinPool$AdaptedRunnable.exec(ForkJoinPool.java:611)
> 	at scala.concurrent.forkjoin.ForkJoinTask.quietlyExec(ForkJoinTask.java:422)
> 	at scala.concurrent.forkjoin.ForkJoinWorkerThread.mainLoop(ForkJoinWorkerThread.java:340)
> 	at scala.concurrent.forkjoin.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:325)
> Because Clerezza Console is unavailable I have used http://localhost:8080/system/console/shell 
> attempt 2
> 1 .Update bundle org.clerezza.app.webrenderingservice again without visiting http://localhost:8080/admin/renderingtest first (not compiling the ssp)
> 2. enter refresh => no refresh necessary

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Issue Comment Edited] (CLEREZZA-617) Bug in org.apache.clerezza.platform.typerendering.WebRenderingService causes a refresh of all bundles

Posted by "Daniel Spicar (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/CLEREZZA-617?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13107986#comment-13107986 ] 

Daniel Spicar edited comment on CLEREZZA-617 at 9/19/11 5:09 PM:
-----------------------------------------------------------------

I have been making changes to pass the caller-bundlecontext to the scala compiler service. But just letting the SSP's bundle load the compiled SSP does not work because it doesn't know about SRenderlet and CompiledScalaServerPage classes. 

Next I wrote some (not very nice) code to get a bundle's class loader (it's not that easy, I used java reflection) and tried to make a custom ClassLoader. The idea is to use the Bundle's class loader as parent class loader with the custom class loqader. The custom classloader was at first the currently used AbstractFileClassLoader which enabled the CompiledScalaServerPage class to be resolved. However it still does not resolve the SRenderlet class. I started extending the custom class loader to load all classes in the scala scripting bundle's classpath but so far I failed at making it work in Scala. I am still working on it.

All this code is very prototypical and probably is not very efficient. The idea was more the see if it can be done.

      was (Author: daniel.spicar):
    I have been making changes to pass the called bundlecontext to the scala compiler service. But just letting the SSP's bundle load the compiled SSP does not work because it doesn't know about SRenderlet and CompiledScalaServerPage classes. 

Next I wrote some (not very nice) code to get a bundle's class loader (it's not that easy, I used java reflection) and tried to make a custom ClassLoader. The idea is to use the Bundle's class loader as parent class loader with the custom class loqader. The custom classloader was at first the currently used AbstractFileClassLoader which enabled the CompiledScalaServerPage class to be resolved. However it still does not resolve the SRenderlet class. I started extending the custom class loader to load all classes in the scala scripting bundle's classpath but so far I failed at making it work in Scala. I am still working on it.

All this code is very prototypical and probably is not very efficient. The idea was more the see if it can be done.
  
> Bug in org.apache.clerezza.platform.typerendering.WebRenderingService causes a refresh of all bundles
> -----------------------------------------------------------------------------------------------------
>
>                 Key: CLEREZZA-617
>                 URL: https://issues.apache.org/jira/browse/CLEREZZA-617
>             Project: Clerezza
>          Issue Type: Bug
>         Environment: Mac OSx 10.6.6
> java version "1.6.0_26"
> Java(TM) SE Runtime Environment (build 1.6.0_26-b03-384-10M3425)
> Java HotSpot(TM) 64-Bit Server VM (build 20.1-b02-384, mixed mode)
>            Reporter: Tsuyoshi Ito
>            Priority: Critical
>         Attachments: refreshes.png, renderingservice.zip
>
>
> Updating a bundle which provides a WebrenderingService causes an update of all bundles (after refresh). Even thougth there are no dependencies between most of the bundles.
> test bundles to reproduce the bug attached.
> How to reproduce it:
> parent version 0.3-incubating-SNAPSHOT is used in test bundles (probably you need  0.2-incubating-SNAPSHOT).
> attempt 1
> 1. Install and start bundle org.clerezza.app.webrenderingservice
> 2. Install and start bundle org.clerezza.app.webrenderingserviceconsumer
> 3. Go to http://localhost:8080/admin/renderingtest, The WebrenderingService produces the text "hello test". WebrenderingService is used in an ssp in the webrenderingserviceconsumer bundle
> 4. update org.clerezza.app.webrenderingservice, 
> 5. enter ":f refresh", a refresh is necessary. all bundles are updated
> Furthermore the following error occured, which makes Clerezza Console unavailable.
> org.apache.clerezza.shell.InterruptibleInputStream$$anon$1@2053076f: caught java.io.IOException: Bad file descriptor
> java.io.IOException: Bad file descriptor
> 	at sun.nio.ch.FileDispatcher.read0(Native Method)
> 	at sun.nio.ch.FileDispatcher.read(FileDispatcher.java:26)
> 	at sun.nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:202)
> 	at sun.nio.ch.IOUtil.read(IOUtil.java:175)
> 	at sun.nio.ch.FileChannelImpl.read(FileChannelImpl.java:144)
> 	at sun.nio.ch.ChannelInputStream.read(ChannelInputStream.java:48)
> 	at sun.nio.ch.ChannelInputStream.read(ChannelInputStream.java:92)
> 	at sun.nio.ch.ChannelInputStream.read(ChannelInputStream.java:86)
> 	at java.io.InputStream.read(InputStream.java:85)
> 	at sun.nio.ch.ChannelInputStream.read(ChannelInputStream.java:64)
> 	at org.apache.clerezza.shell.InterruptibleInputStream$$anon$1$$anonfun$act$1$$anonfun$apply$1.apply(InterruptibleInputStream.scala:40)
> 	at org.apache.clerezza.shell.InterruptibleInputStream$$anon$1$$anonfun$act$1$$anonfun$apply$1.apply(InterruptibleInputStream.scala:35)
> 	at scala.actors.ReactorTask.run(ReactorTask.scala:34)
> 	at scala.actors.Reactor$class.resumeReceiver(Reactor.scala:129)
> 	at org.apache.clerezza.shell.InterruptibleInputStream$$anon$1.scala$actors$ReplyReactor$$super$resumeReceiver(InterruptibleInputStream.scala:32)
> 	at scala.actors.ReplyReactor$class.resumeReceiver(ReplyReactor.scala:69)
> 	at org.apache.clerezza.shell.InterruptibleInputStream$$anon$1.resumeReceiver(InterruptibleInputStream.scala:32)
> 	at scala.actors.Actor$class.searchMailbox(Actor.scala:478)
> 	at org.apache.clerezza.shell.InterruptibleInputStream$$anon$1.searchMailbox(InterruptibleInputStream.scala:32)
> 	at scala.actors.Reactor$$anonfun$startSearch$1$$anonfun$apply$mcV$sp$1.apply(Reactor.scala:114)
> 	at scala.actors.Reactor$$anonfun$startSearch$1$$anonfun$apply$mcV$sp$1.apply(Reactor.scala:114)
> 	at scala.actors.ReactorTask.run(ReactorTask.scala:36)
> 	at scala.concurrent.forkjoin.ForkJoinPool$AdaptedRunnable.exec(ForkJoinPool.java:611)
> 	at scala.concurrent.forkjoin.ForkJoinTask.quietlyExec(ForkJoinTask.java:422)
> 	at scala.concurrent.forkjoin.ForkJoinWorkerThread.mainLoop(ForkJoinWorkerThread.java:340)
> 	at scala.concurrent.forkjoin.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:325)
> Because Clerezza Console is unavailable I have used http://localhost:8080/system/console/shell 
> attempt 2
> 1 .Update bundle org.clerezza.app.webrenderingservice again without visiting http://localhost:8080/admin/renderingtest first (not compiling the ssp)
> 2. enter refresh => no refresh necessary

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Updated] (CLEREZZA-617) Bug in org.apache.clerezza.platform.typerendering.WebRenderingService causes a refresh of all bundles

Posted by "Daniel Spicar (Updated) (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/CLEREZZA-617?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Daniel Spicar updated CLEREZZA-617:
-----------------------------------

    Comment: was deleted

(was: minimal version of renderingservice for testing the issue)
    
> Bug in org.apache.clerezza.platform.typerendering.WebRenderingService causes a refresh of all bundles
> -----------------------------------------------------------------------------------------------------
>
>                 Key: CLEREZZA-617
>                 URL: https://issues.apache.org/jira/browse/CLEREZZA-617
>             Project: Clerezza
>          Issue Type: Bug
>         Environment: Mac OSx 10.6.6
> java version "1.6.0_26"
> Java(TM) SE Runtime Environment (build 1.6.0_26-b03-384-10M3425)
> Java HotSpot(TM) 64-Bit Server VM (build 20.1-b02-384, mixed mode)
>            Reporter: Tsuyoshi Ito
>            Assignee: Daniel Spicar
>            Priority: Critical
>         Attachments: refreshes.png, renderingservice-minimal.zip, renderingservice.zip
>
>
> Updating a bundle which provides a WebrenderingService causes an update of all bundles (after refresh). Even thougth there are no dependencies between most of the bundles.
> test bundles to reproduce the bug attached.
> How to reproduce it:
> parent version 0.3-incubating-SNAPSHOT is used in test bundles (probably you need  0.2-incubating-SNAPSHOT).
> attempt 1
> 1. Install and start bundle org.clerezza.app.webrenderingservice
> 2. Install and start bundle org.clerezza.app.webrenderingserviceconsumer
> 3. Go to http://localhost:8080/admin/renderingtest, The WebrenderingService produces the text "hello test". WebrenderingService is used in an ssp in the webrenderingserviceconsumer bundle
> 4. update org.clerezza.app.webrenderingservice, 
> 5. enter ":f refresh", a refresh is necessary. all bundles are updated
> Furthermore the following error occured, which makes Clerezza Console unavailable.
> org.apache.clerezza.shell.InterruptibleInputStream$$anon$1@2053076f: caught java.io.IOException: Bad file descriptor
> java.io.IOException: Bad file descriptor
> 	at sun.nio.ch.FileDispatcher.read0(Native Method)
> 	at sun.nio.ch.FileDispatcher.read(FileDispatcher.java:26)
> 	at sun.nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:202)
> 	at sun.nio.ch.IOUtil.read(IOUtil.java:175)
> 	at sun.nio.ch.FileChannelImpl.read(FileChannelImpl.java:144)
> 	at sun.nio.ch.ChannelInputStream.read(ChannelInputStream.java:48)
> 	at sun.nio.ch.ChannelInputStream.read(ChannelInputStream.java:92)
> 	at sun.nio.ch.ChannelInputStream.read(ChannelInputStream.java:86)
> 	at java.io.InputStream.read(InputStream.java:85)
> 	at sun.nio.ch.ChannelInputStream.read(ChannelInputStream.java:64)
> 	at org.apache.clerezza.shell.InterruptibleInputStream$$anon$1$$anonfun$act$1$$anonfun$apply$1.apply(InterruptibleInputStream.scala:40)
> 	at org.apache.clerezza.shell.InterruptibleInputStream$$anon$1$$anonfun$act$1$$anonfun$apply$1.apply(InterruptibleInputStream.scala:35)
> 	at scala.actors.ReactorTask.run(ReactorTask.scala:34)
> 	at scala.actors.Reactor$class.resumeReceiver(Reactor.scala:129)
> 	at org.apache.clerezza.shell.InterruptibleInputStream$$anon$1.scala$actors$ReplyReactor$$super$resumeReceiver(InterruptibleInputStream.scala:32)
> 	at scala.actors.ReplyReactor$class.resumeReceiver(ReplyReactor.scala:69)
> 	at org.apache.clerezza.shell.InterruptibleInputStream$$anon$1.resumeReceiver(InterruptibleInputStream.scala:32)
> 	at scala.actors.Actor$class.searchMailbox(Actor.scala:478)
> 	at org.apache.clerezza.shell.InterruptibleInputStream$$anon$1.searchMailbox(InterruptibleInputStream.scala:32)
> 	at scala.actors.Reactor$$anonfun$startSearch$1$$anonfun$apply$mcV$sp$1.apply(Reactor.scala:114)
> 	at scala.actors.Reactor$$anonfun$startSearch$1$$anonfun$apply$mcV$sp$1.apply(Reactor.scala:114)
> 	at scala.actors.ReactorTask.run(ReactorTask.scala:36)
> 	at scala.concurrent.forkjoin.ForkJoinPool$AdaptedRunnable.exec(ForkJoinPool.java:611)
> 	at scala.concurrent.forkjoin.ForkJoinTask.quietlyExec(ForkJoinTask.java:422)
> 	at scala.concurrent.forkjoin.ForkJoinWorkerThread.mainLoop(ForkJoinWorkerThread.java:340)
> 	at scala.concurrent.forkjoin.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:325)
> Because Clerezza Console is unavailable I have used http://localhost:8080/system/console/shell 
> attempt 2
> 1 .Update bundle org.clerezza.app.webrenderingservice again without visiting http://localhost:8080/admin/renderingtest first (not compiling the ssp)
> 2. enter refresh => no refresh necessary

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Updated] (CLEREZZA-617) Bug in org.apache.clerezza.platform.typerendering.WebRenderingService causes a refresh of all bundles

Posted by "Daniel Spicar (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/CLEREZZA-617?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Daniel Spicar updated CLEREZZA-617:
-----------------------------------

    Attachment: refreshes.png

A screenshot listing all bundles that get refreshed

> Bug in org.apache.clerezza.platform.typerendering.WebRenderingService causes a refresh of all bundles
> -----------------------------------------------------------------------------------------------------
>
>                 Key: CLEREZZA-617
>                 URL: https://issues.apache.org/jira/browse/CLEREZZA-617
>             Project: Clerezza
>          Issue Type: Bug
>         Environment: Mac OSx 10.6.6
> java version "1.6.0_26"
> Java(TM) SE Runtime Environment (build 1.6.0_26-b03-384-10M3425)
> Java HotSpot(TM) 64-Bit Server VM (build 20.1-b02-384, mixed mode)
>            Reporter: Tsuyoshi Ito
>            Priority: Critical
>         Attachments: refreshes.png, renderingservice.zip
>
>
> Updating a bundle which provides a WebrenderingService causes an update of all bundles (after refresh). Even thougth there are no dependencies between most of the bundles.
> test bundles to reproduce the bug attached.
> How to reproduce it:
> parent version 0.3-incubating-SNAPSHOT is used in test bundles (probably you need  0.2-incubating-SNAPSHOT).
> attempt 1
> 1. Install and start bundle org.clerezza.app.webrenderingservice
> 2. Install and start bundle org.clerezza.app.webrenderingserviceconsumer
> 3. Go to http://localhost:8080/admin/renderingtest, The WebrenderingService produces the text "hello test". WebrenderingService is used in an ssp in the webrenderingserviceconsumer bundle
> 4. update org.clerezza.app.webrenderingservice, 
> 5. enter ":f refresh", a refresh is necessary. all bundles are updated
> Furthermore the following error occured, which makes Clerezza Console unavailable.
> org.apache.clerezza.shell.InterruptibleInputStream$$anon$1@2053076f: caught java.io.IOException: Bad file descriptor
> java.io.IOException: Bad file descriptor
> 	at sun.nio.ch.FileDispatcher.read0(Native Method)
> 	at sun.nio.ch.FileDispatcher.read(FileDispatcher.java:26)
> 	at sun.nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:202)
> 	at sun.nio.ch.IOUtil.read(IOUtil.java:175)
> 	at sun.nio.ch.FileChannelImpl.read(FileChannelImpl.java:144)
> 	at sun.nio.ch.ChannelInputStream.read(ChannelInputStream.java:48)
> 	at sun.nio.ch.ChannelInputStream.read(ChannelInputStream.java:92)
> 	at sun.nio.ch.ChannelInputStream.read(ChannelInputStream.java:86)
> 	at java.io.InputStream.read(InputStream.java:85)
> 	at sun.nio.ch.ChannelInputStream.read(ChannelInputStream.java:64)
> 	at org.apache.clerezza.shell.InterruptibleInputStream$$anon$1$$anonfun$act$1$$anonfun$apply$1.apply(InterruptibleInputStream.scala:40)
> 	at org.apache.clerezza.shell.InterruptibleInputStream$$anon$1$$anonfun$act$1$$anonfun$apply$1.apply(InterruptibleInputStream.scala:35)
> 	at scala.actors.ReactorTask.run(ReactorTask.scala:34)
> 	at scala.actors.Reactor$class.resumeReceiver(Reactor.scala:129)
> 	at org.apache.clerezza.shell.InterruptibleInputStream$$anon$1.scala$actors$ReplyReactor$$super$resumeReceiver(InterruptibleInputStream.scala:32)
> 	at scala.actors.ReplyReactor$class.resumeReceiver(ReplyReactor.scala:69)
> 	at org.apache.clerezza.shell.InterruptibleInputStream$$anon$1.resumeReceiver(InterruptibleInputStream.scala:32)
> 	at scala.actors.Actor$class.searchMailbox(Actor.scala:478)
> 	at org.apache.clerezza.shell.InterruptibleInputStream$$anon$1.searchMailbox(InterruptibleInputStream.scala:32)
> 	at scala.actors.Reactor$$anonfun$startSearch$1$$anonfun$apply$mcV$sp$1.apply(Reactor.scala:114)
> 	at scala.actors.Reactor$$anonfun$startSearch$1$$anonfun$apply$mcV$sp$1.apply(Reactor.scala:114)
> 	at scala.actors.ReactorTask.run(ReactorTask.scala:36)
> 	at scala.concurrent.forkjoin.ForkJoinPool$AdaptedRunnable.exec(ForkJoinPool.java:611)
> 	at scala.concurrent.forkjoin.ForkJoinTask.quietlyExec(ForkJoinTask.java:422)
> 	at scala.concurrent.forkjoin.ForkJoinWorkerThread.mainLoop(ForkJoinWorkerThread.java:340)
> 	at scala.concurrent.forkjoin.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:325)
> Because Clerezza Console is unavailable I have used http://localhost:8080/system/console/shell 
> attempt 2
> 1 .Update bundle org.clerezza.app.webrenderingservice again without visiting http://localhost:8080/admin/renderingtest first (not compiling the ssp)
> 2. enter refresh => no refresh necessary

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Commented] (CLEREZZA-617) Bug in org.apache.clerezza.platform.typerendering.WebRenderingService causes a refresh of all bundles

Posted by "Daniel Spicar (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/CLEREZZA-617?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13397044#comment-13397044 ] 

Daniel Spicar commented on CLEREZZA-617:
----------------------------------------

Currently I'm looking for time to work on it but I won't have it this week. If you wanted to give it a try please do. Otherwise I hope to get time for it later this month.
                
> Bug in org.apache.clerezza.platform.typerendering.WebRenderingService causes a refresh of all bundles
> -----------------------------------------------------------------------------------------------------
>
>                 Key: CLEREZZA-617
>                 URL: https://issues.apache.org/jira/browse/CLEREZZA-617
>             Project: Clerezza
>          Issue Type: Bug
>    Affects Versions: 0.2-incubating
>         Environment: Mac OSx 10.6.6
> java version "1.6.0_26"
> Java(TM) SE Runtime Environment (build 1.6.0_26-b03-384-10M3425)
> Java HotSpot(TM) 64-Bit Server VM (build 20.1-b02-384, mixed mode)
>            Reporter: Tsuyoshi Ito
>            Assignee: Daniel Spicar
>            Priority: Critical
>         Attachments: refreshes.png, renderingservice-minimal.zip, renderingservice.zip
>
>
> Updating a bundle which provides a WebrenderingService causes an update of all bundles (after refresh). Even thougth there are no dependencies between most of the bundles.
> test bundles to reproduce the bug attached.
> How to reproduce it:
> parent version 0.3-incubating-SNAPSHOT is used in test bundles (probably you need  0.2-incubating-SNAPSHOT).
> attempt 1
> 1. Install and start bundle org.clerezza.app.webrenderingservice
> 2. Install and start bundle org.clerezza.app.webrenderingserviceconsumer
> 3. Go to http://localhost:8080/admin/renderingtest, The WebrenderingService produces the text "hello test". WebrenderingService is used in an ssp in the webrenderingserviceconsumer bundle
> 4. update org.clerezza.app.webrenderingservice, 
> 5. enter ":f refresh", a refresh is necessary. all bundles are updated
> Furthermore the following error occured, which makes Clerezza Console unavailable.
> org.apache.clerezza.shell.InterruptibleInputStream$$anon$1@2053076f: caught java.io.IOException: Bad file descriptor
> java.io.IOException: Bad file descriptor
> 	at sun.nio.ch.FileDispatcher.read0(Native Method)
> 	at sun.nio.ch.FileDispatcher.read(FileDispatcher.java:26)
> 	at sun.nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:202)
> 	at sun.nio.ch.IOUtil.read(IOUtil.java:175)
> 	at sun.nio.ch.FileChannelImpl.read(FileChannelImpl.java:144)
> 	at sun.nio.ch.ChannelInputStream.read(ChannelInputStream.java:48)
> 	at sun.nio.ch.ChannelInputStream.read(ChannelInputStream.java:92)
> 	at sun.nio.ch.ChannelInputStream.read(ChannelInputStream.java:86)
> 	at java.io.InputStream.read(InputStream.java:85)
> 	at sun.nio.ch.ChannelInputStream.read(ChannelInputStream.java:64)
> 	at org.apache.clerezza.shell.InterruptibleInputStream$$anon$1$$anonfun$act$1$$anonfun$apply$1.apply(InterruptibleInputStream.scala:40)
> 	at org.apache.clerezza.shell.InterruptibleInputStream$$anon$1$$anonfun$act$1$$anonfun$apply$1.apply(InterruptibleInputStream.scala:35)
> 	at scala.actors.ReactorTask.run(ReactorTask.scala:34)
> 	at scala.actors.Reactor$class.resumeReceiver(Reactor.scala:129)
> 	at org.apache.clerezza.shell.InterruptibleInputStream$$anon$1.scala$actors$ReplyReactor$$super$resumeReceiver(InterruptibleInputStream.scala:32)
> 	at scala.actors.ReplyReactor$class.resumeReceiver(ReplyReactor.scala:69)
> 	at org.apache.clerezza.shell.InterruptibleInputStream$$anon$1.resumeReceiver(InterruptibleInputStream.scala:32)
> 	at scala.actors.Actor$class.searchMailbox(Actor.scala:478)
> 	at org.apache.clerezza.shell.InterruptibleInputStream$$anon$1.searchMailbox(InterruptibleInputStream.scala:32)
> 	at scala.actors.Reactor$$anonfun$startSearch$1$$anonfun$apply$mcV$sp$1.apply(Reactor.scala:114)
> 	at scala.actors.Reactor$$anonfun$startSearch$1$$anonfun$apply$mcV$sp$1.apply(Reactor.scala:114)
> 	at scala.actors.ReactorTask.run(ReactorTask.scala:36)
> 	at scala.concurrent.forkjoin.ForkJoinPool$AdaptedRunnable.exec(ForkJoinPool.java:611)
> 	at scala.concurrent.forkjoin.ForkJoinTask.quietlyExec(ForkJoinTask.java:422)
> 	at scala.concurrent.forkjoin.ForkJoinWorkerThread.mainLoop(ForkJoinWorkerThread.java:340)
> 	at scala.concurrent.forkjoin.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:325)
> Because Clerezza Console is unavailable I have used http://localhost:8080/system/console/shell 
> attempt 2
> 1 .Update bundle org.clerezza.app.webrenderingservice again without visiting http://localhost:8080/admin/renderingtest first (not compiling the ssp)
> 2. enter refresh => no refresh necessary

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Commented] (CLEREZZA-617) Bug in org.apache.clerezza.platform.typerendering.WebRenderingService causes a refresh of all bundles

Posted by "Tsuyoshi Ito (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/CLEREZZA-617?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13071204#comment-13071204 ] 

Tsuyoshi Ito commented on CLEREZZA-617:
---------------------------------------

I have used the deprecated renderletmanager but the problem also occurs when using ScalaServerPagesService

> Bug in org.apache.clerezza.platform.typerendering.WebRenderingService causes a refresh of all bundles
> -----------------------------------------------------------------------------------------------------
>
>                 Key: CLEREZZA-617
>                 URL: https://issues.apache.org/jira/browse/CLEREZZA-617
>             Project: Clerezza
>          Issue Type: Bug
>         Environment: Mac OSx 10.6.6
> java version "1.6.0_26"
> Java(TM) SE Runtime Environment (build 1.6.0_26-b03-384-10M3425)
> Java HotSpot(TM) 64-Bit Server VM (build 20.1-b02-384, mixed mode)
>            Reporter: Tsuyoshi Ito
>            Priority: Critical
>         Attachments: renderingservice.zip
>
>
> Updating a bundle which provides a WebrenderingService causes an update of all bundles (after refresh). Even thougth there are no dependencies between most of the bundles.
> test bundles to reproduce the bug attached.
> How to reproduce it:
> parent version 0.3-incubating-SNAPSHOT is used in test bundles (probably you need  0.2-incubating-SNAPSHOT).
> attempt 1
> 1. Install and start bundle org.clerezza.app.webrenderingservice
> 2. Install and start bundle org.clerezza.app.webrenderingserviceconsumer
> 3. Go to http://localhost:8080/admin/renderingtest, The WebrenderingService produces the text "hello test". WebrenderingService is used in an ssp in the webrenderingserviceconsumer bundle
> 4. update org.clerezza.app.webrenderingservice, 
> 5. enter ":f refresh", a refresh is necessary. all bundles are updated
> Furthermore the following error occured, which makes Clerezza Console unavailable.
> org.apache.clerezza.shell.InterruptibleInputStream$$anon$1@2053076f: caught java.io.IOException: Bad file descriptor
> java.io.IOException: Bad file descriptor
> 	at sun.nio.ch.FileDispatcher.read0(Native Method)
> 	at sun.nio.ch.FileDispatcher.read(FileDispatcher.java:26)
> 	at sun.nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:202)
> 	at sun.nio.ch.IOUtil.read(IOUtil.java:175)
> 	at sun.nio.ch.FileChannelImpl.read(FileChannelImpl.java:144)
> 	at sun.nio.ch.ChannelInputStream.read(ChannelInputStream.java:48)
> 	at sun.nio.ch.ChannelInputStream.read(ChannelInputStream.java:92)
> 	at sun.nio.ch.ChannelInputStream.read(ChannelInputStream.java:86)
> 	at java.io.InputStream.read(InputStream.java:85)
> 	at sun.nio.ch.ChannelInputStream.read(ChannelInputStream.java:64)
> 	at org.apache.clerezza.shell.InterruptibleInputStream$$anon$1$$anonfun$act$1$$anonfun$apply$1.apply(InterruptibleInputStream.scala:40)
> 	at org.apache.clerezza.shell.InterruptibleInputStream$$anon$1$$anonfun$act$1$$anonfun$apply$1.apply(InterruptibleInputStream.scala:35)
> 	at scala.actors.ReactorTask.run(ReactorTask.scala:34)
> 	at scala.actors.Reactor$class.resumeReceiver(Reactor.scala:129)
> 	at org.apache.clerezza.shell.InterruptibleInputStream$$anon$1.scala$actors$ReplyReactor$$super$resumeReceiver(InterruptibleInputStream.scala:32)
> 	at scala.actors.ReplyReactor$class.resumeReceiver(ReplyReactor.scala:69)
> 	at org.apache.clerezza.shell.InterruptibleInputStream$$anon$1.resumeReceiver(InterruptibleInputStream.scala:32)
> 	at scala.actors.Actor$class.searchMailbox(Actor.scala:478)
> 	at org.apache.clerezza.shell.InterruptibleInputStream$$anon$1.searchMailbox(InterruptibleInputStream.scala:32)
> 	at scala.actors.Reactor$$anonfun$startSearch$1$$anonfun$apply$mcV$sp$1.apply(Reactor.scala:114)
> 	at scala.actors.Reactor$$anonfun$startSearch$1$$anonfun$apply$mcV$sp$1.apply(Reactor.scala:114)
> 	at scala.actors.ReactorTask.run(ReactorTask.scala:36)
> 	at scala.concurrent.forkjoin.ForkJoinPool$AdaptedRunnable.exec(ForkJoinPool.java:611)
> 	at scala.concurrent.forkjoin.ForkJoinTask.quietlyExec(ForkJoinTask.java:422)
> 	at scala.concurrent.forkjoin.ForkJoinWorkerThread.mainLoop(ForkJoinWorkerThread.java:340)
> 	at scala.concurrent.forkjoin.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:325)
> Because Clerezza Console is unavailable I have used http://localhost:8080/system/console/shell 
> attempt 2
> 1 .Update bundle org.clerezza.app.webrenderingservice again without visiting http://localhost:8080/admin/renderingtest first (not compiling the ssp)
> 2. enter refresh => no refresh necessary

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Issue Comment Edited] (CLEREZZA-617) Bug in org.apache.clerezza.platform.typerendering.WebRenderingService causes a refresh of all bundles

Posted by "Daniel Spicar (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/CLEREZZA-617?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13105211#comment-13105211 ] 

Daniel Spicar edited comment on CLEREZZA-617 at 9/15/11 8:39 AM:
-----------------------------------------------------------------

Further debugging revealed the cause of the unintended dependency:

SSPs are compiled with the CompilerService in the Scala OSGi Services (org.apache.clerezza.scala.scripting) bundle.
The CompilerService uses TrackingCompiler.scala and on line 81 a ClassLoader of the org.apache.clerezza.scala.scripting bundle is used to load the compiled SSP class.

Next the class gets instantiated in Platform ScalaServerPages Renderlet (platform.typerendering.scalaserverpages) bundle at line 186. At this point, Felix creates the package dependency from org.apache.clerezza.scala.scripting to the bundle providing the the WebRenderingService (here: org.apache.clerezza.org.clerezza.app.webrenderingservice).

My hypothesis is that this is because in the SSP using the WebRenderingService the WebRenderingService is referenced via fully qualified classname or that the OSGi service lookup is resolved at the SSPs compile time. Nevertheless there is obviously a reference on org.apache.clerezza.org.clerezza.app.webrenderingservice in the consuming SSP. Because the compiled SSP is loaded with the classloader of org.apache.clerezza.scala.scripting, the dependency is not as one would expect.

Please note, that the relevant code sections are the same for both, the new TypeRenderlets and the old Renderlets. In the description the old Renderlet is used.

Intuitively one would expect a dependency from org.apache.clerezza.org.clerezza.app.webrenderingconsumer on org.apache.clerezza.org.clerezza.app.webrenderingservice. Now the straight forward approach would be to use the classloader of org.apache.clerezza.org.clerezza.app.webrenderingconsumer to load the compiled SSP. However this approach would change dependencies on all compiled SSPs and may have currently unknown side effects.

I don't currently know another viable solution. I though of only referencing the WebRenderingService as a String in the consuming SSP and ensure, the dependency gets resolved dynamically at execution time but when the scala scrpiting bundle does not import the webrenderingservice's package there may be a ClassNotFoundException, as its classloader does not know about the WebRenderingService's class.

Any thought on this are welcome.

      was (Author: daniel.spicar):
    Further debugging revealed the cause of the unintended dependency:

SSPs are compiled with the CompilerService in the Scala OSGi Services (org.apache.clerezza.scala.scripting) bundle.
The CompilerService uses TrackingCompiler.scala and on line 81 a ClassLoader of the org.apache.clerezza.scala.scripting bundle is used to load the compiled SSP class.

Next the class gets instantiated in Platform ScalaServerPages Renderlet (platform.typerendering.scalaserverpages) bundle at line 186. At this point, Felix creates the package dependency from org.apache.clerezza.scala.scripting to the bundle providing the the WebRenderingService (here: org.apache.clerezza.org.clerezza.app.webrenderingservice).

My hypothesis is that this is because in the SSP using the WebRenderingService the WebRenderingService is referenced via fully qualified classname or that the OSGi service lookup is resolved at the SSPs compile time. Nevertheless there is obviously a reference on org.apache.clerezza.org.clerezza.app.webrenderingservice in the consuming SSP. Because the compiled SSP is loaded with the classloader of org.apache.clerezza.scala.scripting, the dependency is not as one would expect.

Intuitively one would expect a dependency from org.apache.clerezza.org.clerezza.app.webrenderingconsumer on org.apache.clerezza.org.clerezza.app.webrenderingservice. Now the straight forward approach would be to use the classloader of org.apache.clerezza.org.clerezza.app.webrenderingconsumer to load the compiled SSP. However this approach would change dependencies on all compiled SSPs and may have currently unknown side effects.

I don't currently know another viable solution. I though of only referencing the WebRenderingService as a String in the consuming SSP and ensure, the dependency gets resolved dynamically at execution time but when the scala scrpiting bundle does not import the webrenderingservice's package there may be a ClassNotFoundException, as its classloader does not know about the WebRenderingService's class.

Any thought on this are welcome.
  
> Bug in org.apache.clerezza.platform.typerendering.WebRenderingService causes a refresh of all bundles
> -----------------------------------------------------------------------------------------------------
>
>                 Key: CLEREZZA-617
>                 URL: https://issues.apache.org/jira/browse/CLEREZZA-617
>             Project: Clerezza
>          Issue Type: Bug
>         Environment: Mac OSx 10.6.6
> java version "1.6.0_26"
> Java(TM) SE Runtime Environment (build 1.6.0_26-b03-384-10M3425)
> Java HotSpot(TM) 64-Bit Server VM (build 20.1-b02-384, mixed mode)
>            Reporter: Tsuyoshi Ito
>            Priority: Critical
>         Attachments: refreshes.png, renderingservice.zip
>
>
> Updating a bundle which provides a WebrenderingService causes an update of all bundles (after refresh). Even thougth there are no dependencies between most of the bundles.
> test bundles to reproduce the bug attached.
> How to reproduce it:
> parent version 0.3-incubating-SNAPSHOT is used in test bundles (probably you need  0.2-incubating-SNAPSHOT).
> attempt 1
> 1. Install and start bundle org.clerezza.app.webrenderingservice
> 2. Install and start bundle org.clerezza.app.webrenderingserviceconsumer
> 3. Go to http://localhost:8080/admin/renderingtest, The WebrenderingService produces the text "hello test". WebrenderingService is used in an ssp in the webrenderingserviceconsumer bundle
> 4. update org.clerezza.app.webrenderingservice, 
> 5. enter ":f refresh", a refresh is necessary. all bundles are updated
> Furthermore the following error occured, which makes Clerezza Console unavailable.
> org.apache.clerezza.shell.InterruptibleInputStream$$anon$1@2053076f: caught java.io.IOException: Bad file descriptor
> java.io.IOException: Bad file descriptor
> 	at sun.nio.ch.FileDispatcher.read0(Native Method)
> 	at sun.nio.ch.FileDispatcher.read(FileDispatcher.java:26)
> 	at sun.nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:202)
> 	at sun.nio.ch.IOUtil.read(IOUtil.java:175)
> 	at sun.nio.ch.FileChannelImpl.read(FileChannelImpl.java:144)
> 	at sun.nio.ch.ChannelInputStream.read(ChannelInputStream.java:48)
> 	at sun.nio.ch.ChannelInputStream.read(ChannelInputStream.java:92)
> 	at sun.nio.ch.ChannelInputStream.read(ChannelInputStream.java:86)
> 	at java.io.InputStream.read(InputStream.java:85)
> 	at sun.nio.ch.ChannelInputStream.read(ChannelInputStream.java:64)
> 	at org.apache.clerezza.shell.InterruptibleInputStream$$anon$1$$anonfun$act$1$$anonfun$apply$1.apply(InterruptibleInputStream.scala:40)
> 	at org.apache.clerezza.shell.InterruptibleInputStream$$anon$1$$anonfun$act$1$$anonfun$apply$1.apply(InterruptibleInputStream.scala:35)
> 	at scala.actors.ReactorTask.run(ReactorTask.scala:34)
> 	at scala.actors.Reactor$class.resumeReceiver(Reactor.scala:129)
> 	at org.apache.clerezza.shell.InterruptibleInputStream$$anon$1.scala$actors$ReplyReactor$$super$resumeReceiver(InterruptibleInputStream.scala:32)
> 	at scala.actors.ReplyReactor$class.resumeReceiver(ReplyReactor.scala:69)
> 	at org.apache.clerezza.shell.InterruptibleInputStream$$anon$1.resumeReceiver(InterruptibleInputStream.scala:32)
> 	at scala.actors.Actor$class.searchMailbox(Actor.scala:478)
> 	at org.apache.clerezza.shell.InterruptibleInputStream$$anon$1.searchMailbox(InterruptibleInputStream.scala:32)
> 	at scala.actors.Reactor$$anonfun$startSearch$1$$anonfun$apply$mcV$sp$1.apply(Reactor.scala:114)
> 	at scala.actors.Reactor$$anonfun$startSearch$1$$anonfun$apply$mcV$sp$1.apply(Reactor.scala:114)
> 	at scala.actors.ReactorTask.run(ReactorTask.scala:36)
> 	at scala.concurrent.forkjoin.ForkJoinPool$AdaptedRunnable.exec(ForkJoinPool.java:611)
> 	at scala.concurrent.forkjoin.ForkJoinTask.quietlyExec(ForkJoinTask.java:422)
> 	at scala.concurrent.forkjoin.ForkJoinWorkerThread.mainLoop(ForkJoinWorkerThread.java:340)
> 	at scala.concurrent.forkjoin.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:325)
> Because Clerezza Console is unavailable I have used http://localhost:8080/system/console/shell 
> attempt 2
> 1 .Update bundle org.clerezza.app.webrenderingservice again without visiting http://localhost:8080/admin/renderingtest first (not compiling the ssp)
> 2. enter refresh => no refresh necessary

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Issue Comment Edited] (CLEREZZA-617) Bug in org.apache.clerezza.platform.typerendering.WebRenderingService causes a refresh of all bundles

Posted by "Daniel Spicar (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/CLEREZZA-617?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13100874#comment-13100874 ] 

Daniel Spicar edited comment on CLEREZZA-617 at 9/9/11 2:25 AM:
----------------------------------------------------------------

I have been debugging the issue.

The cascade of refreshes occurs because after compiling the SSP that binds the webrenderingservice, there is a runtime package dependency of org.apache.clerezza.scala.scripting on org.apache.clerezza.org.clerezza.app.webrenderingservice. Note the direction of the dependency. Something in the Scala Scripting bundle depends on the Webrenderingservice implementations. Then all bundles dependending on the scala scripting bundle (contains the Scala compiler service) will refresh as well, which includes the scala shell, bundledevtool, etc. 

I have reduced the files supplied by Tsuy to the minimum in order to reproduce this issue. In my version 22 dependencies are refreshed (not all bundles).

I still need to locate the exact reason for the dependency.

      was (Author: daniel.spicar):
    I have been debugging the issue.

The cascade of refreshes occurs because after compiling the SSP that binds the webrenderingservice, there is a runtime package dependency of org.apache.clerezza.scala.scripting on org.apache.clerezza.org.clerezza.app.webrenderingservice. Note the direction of the dependency. Something in the Scala Scripting bundle depends on the Webrenderingservice implementations. Then all bundles dependending on the scala scripting bundle (contains the Scala compiler service) will refresh as well, which includes the scala shell, bundledevtool, etc. All in all 22 dependencies are refreshed (not all bundles).

I still need to locate the exact reason for the dependency.
  
> Bug in org.apache.clerezza.platform.typerendering.WebRenderingService causes a refresh of all bundles
> -----------------------------------------------------------------------------------------------------
>
>                 Key: CLEREZZA-617
>                 URL: https://issues.apache.org/jira/browse/CLEREZZA-617
>             Project: Clerezza
>          Issue Type: Bug
>         Environment: Mac OSx 10.6.6
> java version "1.6.0_26"
> Java(TM) SE Runtime Environment (build 1.6.0_26-b03-384-10M3425)
> Java HotSpot(TM) 64-Bit Server VM (build 20.1-b02-384, mixed mode)
>            Reporter: Tsuyoshi Ito
>            Priority: Critical
>         Attachments: refreshes.png, renderingservice.zip
>
>
> Updating a bundle which provides a WebrenderingService causes an update of all bundles (after refresh). Even thougth there are no dependencies between most of the bundles.
> test bundles to reproduce the bug attached.
> How to reproduce it:
> parent version 0.3-incubating-SNAPSHOT is used in test bundles (probably you need  0.2-incubating-SNAPSHOT).
> attempt 1
> 1. Install and start bundle org.clerezza.app.webrenderingservice
> 2. Install and start bundle org.clerezza.app.webrenderingserviceconsumer
> 3. Go to http://localhost:8080/admin/renderingtest, The WebrenderingService produces the text "hello test". WebrenderingService is used in an ssp in the webrenderingserviceconsumer bundle
> 4. update org.clerezza.app.webrenderingservice, 
> 5. enter ":f refresh", a refresh is necessary. all bundles are updated
> Furthermore the following error occured, which makes Clerezza Console unavailable.
> org.apache.clerezza.shell.InterruptibleInputStream$$anon$1@2053076f: caught java.io.IOException: Bad file descriptor
> java.io.IOException: Bad file descriptor
> 	at sun.nio.ch.FileDispatcher.read0(Native Method)
> 	at sun.nio.ch.FileDispatcher.read(FileDispatcher.java:26)
> 	at sun.nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:202)
> 	at sun.nio.ch.IOUtil.read(IOUtil.java:175)
> 	at sun.nio.ch.FileChannelImpl.read(FileChannelImpl.java:144)
> 	at sun.nio.ch.ChannelInputStream.read(ChannelInputStream.java:48)
> 	at sun.nio.ch.ChannelInputStream.read(ChannelInputStream.java:92)
> 	at sun.nio.ch.ChannelInputStream.read(ChannelInputStream.java:86)
> 	at java.io.InputStream.read(InputStream.java:85)
> 	at sun.nio.ch.ChannelInputStream.read(ChannelInputStream.java:64)
> 	at org.apache.clerezza.shell.InterruptibleInputStream$$anon$1$$anonfun$act$1$$anonfun$apply$1.apply(InterruptibleInputStream.scala:40)
> 	at org.apache.clerezza.shell.InterruptibleInputStream$$anon$1$$anonfun$act$1$$anonfun$apply$1.apply(InterruptibleInputStream.scala:35)
> 	at scala.actors.ReactorTask.run(ReactorTask.scala:34)
> 	at scala.actors.Reactor$class.resumeReceiver(Reactor.scala:129)
> 	at org.apache.clerezza.shell.InterruptibleInputStream$$anon$1.scala$actors$ReplyReactor$$super$resumeReceiver(InterruptibleInputStream.scala:32)
> 	at scala.actors.ReplyReactor$class.resumeReceiver(ReplyReactor.scala:69)
> 	at org.apache.clerezza.shell.InterruptibleInputStream$$anon$1.resumeReceiver(InterruptibleInputStream.scala:32)
> 	at scala.actors.Actor$class.searchMailbox(Actor.scala:478)
> 	at org.apache.clerezza.shell.InterruptibleInputStream$$anon$1.searchMailbox(InterruptibleInputStream.scala:32)
> 	at scala.actors.Reactor$$anonfun$startSearch$1$$anonfun$apply$mcV$sp$1.apply(Reactor.scala:114)
> 	at scala.actors.Reactor$$anonfun$startSearch$1$$anonfun$apply$mcV$sp$1.apply(Reactor.scala:114)
> 	at scala.actors.ReactorTask.run(ReactorTask.scala:36)
> 	at scala.concurrent.forkjoin.ForkJoinPool$AdaptedRunnable.exec(ForkJoinPool.java:611)
> 	at scala.concurrent.forkjoin.ForkJoinTask.quietlyExec(ForkJoinTask.java:422)
> 	at scala.concurrent.forkjoin.ForkJoinWorkerThread.mainLoop(ForkJoinWorkerThread.java:340)
> 	at scala.concurrent.forkjoin.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:325)
> Because Clerezza Console is unavailable I have used http://localhost:8080/system/console/shell 
> attempt 2
> 1 .Update bundle org.clerezza.app.webrenderingservice again without visiting http://localhost:8080/admin/renderingtest first (not compiling the ssp)
> 2. enter refresh => no refresh necessary

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Commented] (CLEREZZA-617) Bug in org.apache.clerezza.platform.typerendering.WebRenderingService causes a refresh of all bundles

Posted by "Tsuyoshi Ito (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/CLEREZZA-617?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13086180#comment-13086180 ] 

Tsuyoshi Ito commented on CLEREZZA-617:
---------------------------------------

When not casting the service object to the actual Class T no refresh is necessary. I was not aware that using "(T) bundleContext.getService(serviceReference)" forces a refresh when updating the bundle which contains the service object.

> Bug in org.apache.clerezza.platform.typerendering.WebRenderingService causes a refresh of all bundles
> -----------------------------------------------------------------------------------------------------
>
>                 Key: CLEREZZA-617
>                 URL: https://issues.apache.org/jira/browse/CLEREZZA-617
>             Project: Clerezza
>          Issue Type: Bug
>         Environment: Mac OSx 10.6.6
> java version "1.6.0_26"
> Java(TM) SE Runtime Environment (build 1.6.0_26-b03-384-10M3425)
> Java HotSpot(TM) 64-Bit Server VM (build 20.1-b02-384, mixed mode)
>            Reporter: Tsuyoshi Ito
>            Priority: Critical
>         Attachments: renderingservice.zip
>
>
> Updating a bundle which provides a WebrenderingService causes an update of all bundles (after refresh). Even thougth there are no dependencies between most of the bundles.
> test bundles to reproduce the bug attached.
> How to reproduce it:
> parent version 0.3-incubating-SNAPSHOT is used in test bundles (probably you need  0.2-incubating-SNAPSHOT).
> attempt 1
> 1. Install and start bundle org.clerezza.app.webrenderingservice
> 2. Install and start bundle org.clerezza.app.webrenderingserviceconsumer
> 3. Go to http://localhost:8080/admin/renderingtest, The WebrenderingService produces the text "hello test". WebrenderingService is used in an ssp in the webrenderingserviceconsumer bundle
> 4. update org.clerezza.app.webrenderingservice, 
> 5. enter ":f refresh", a refresh is necessary. all bundles are updated
> Furthermore the following error occured, which makes Clerezza Console unavailable.
> org.apache.clerezza.shell.InterruptibleInputStream$$anon$1@2053076f: caught java.io.IOException: Bad file descriptor
> java.io.IOException: Bad file descriptor
> 	at sun.nio.ch.FileDispatcher.read0(Native Method)
> 	at sun.nio.ch.FileDispatcher.read(FileDispatcher.java:26)
> 	at sun.nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:202)
> 	at sun.nio.ch.IOUtil.read(IOUtil.java:175)
> 	at sun.nio.ch.FileChannelImpl.read(FileChannelImpl.java:144)
> 	at sun.nio.ch.ChannelInputStream.read(ChannelInputStream.java:48)
> 	at sun.nio.ch.ChannelInputStream.read(ChannelInputStream.java:92)
> 	at sun.nio.ch.ChannelInputStream.read(ChannelInputStream.java:86)
> 	at java.io.InputStream.read(InputStream.java:85)
> 	at sun.nio.ch.ChannelInputStream.read(ChannelInputStream.java:64)
> 	at org.apache.clerezza.shell.InterruptibleInputStream$$anon$1$$anonfun$act$1$$anonfun$apply$1.apply(InterruptibleInputStream.scala:40)
> 	at org.apache.clerezza.shell.InterruptibleInputStream$$anon$1$$anonfun$act$1$$anonfun$apply$1.apply(InterruptibleInputStream.scala:35)
> 	at scala.actors.ReactorTask.run(ReactorTask.scala:34)
> 	at scala.actors.Reactor$class.resumeReceiver(Reactor.scala:129)
> 	at org.apache.clerezza.shell.InterruptibleInputStream$$anon$1.scala$actors$ReplyReactor$$super$resumeReceiver(InterruptibleInputStream.scala:32)
> 	at scala.actors.ReplyReactor$class.resumeReceiver(ReplyReactor.scala:69)
> 	at org.apache.clerezza.shell.InterruptibleInputStream$$anon$1.resumeReceiver(InterruptibleInputStream.scala:32)
> 	at scala.actors.Actor$class.searchMailbox(Actor.scala:478)
> 	at org.apache.clerezza.shell.InterruptibleInputStream$$anon$1.searchMailbox(InterruptibleInputStream.scala:32)
> 	at scala.actors.Reactor$$anonfun$startSearch$1$$anonfun$apply$mcV$sp$1.apply(Reactor.scala:114)
> 	at scala.actors.Reactor$$anonfun$startSearch$1$$anonfun$apply$mcV$sp$1.apply(Reactor.scala:114)
> 	at scala.actors.ReactorTask.run(ReactorTask.scala:36)
> 	at scala.concurrent.forkjoin.ForkJoinPool$AdaptedRunnable.exec(ForkJoinPool.java:611)
> 	at scala.concurrent.forkjoin.ForkJoinTask.quietlyExec(ForkJoinTask.java:422)
> 	at scala.concurrent.forkjoin.ForkJoinWorkerThread.mainLoop(ForkJoinWorkerThread.java:340)
> 	at scala.concurrent.forkjoin.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:325)
> Because Clerezza Console is unavailable I have used http://localhost:8080/system/console/shell 
> attempt 2
> 1 .Update bundle org.clerezza.app.webrenderingservice again without visiting http://localhost:8080/admin/renderingtest first (not compiling the ssp)
> 2. enter refresh => no refresh necessary

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Updated] (CLEREZZA-617) Bug in org.apache.clerezza.platform.typerendering.WebRenderingService causes a refresh of all bundles

Posted by "Daniel Spicar (Updated) (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/CLEREZZA-617?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Daniel Spicar updated CLEREZZA-617:
-----------------------------------

    Attachment:     (was: renderingservice.zip)
    
> Bug in org.apache.clerezza.platform.typerendering.WebRenderingService causes a refresh of all bundles
> -----------------------------------------------------------------------------------------------------
>
>                 Key: CLEREZZA-617
>                 URL: https://issues.apache.org/jira/browse/CLEREZZA-617
>             Project: Clerezza
>          Issue Type: Bug
>         Environment: Mac OSx 10.6.6
> java version "1.6.0_26"
> Java(TM) SE Runtime Environment (build 1.6.0_26-b03-384-10M3425)
> Java HotSpot(TM) 64-Bit Server VM (build 20.1-b02-384, mixed mode)
>            Reporter: Tsuyoshi Ito
>            Assignee: Daniel Spicar
>            Priority: Critical
>         Attachments: refreshes.png, renderingservice-minimal.zip, renderingservice.zip
>
>
> Updating a bundle which provides a WebrenderingService causes an update of all bundles (after refresh). Even thougth there are no dependencies between most of the bundles.
> test bundles to reproduce the bug attached.
> How to reproduce it:
> parent version 0.3-incubating-SNAPSHOT is used in test bundles (probably you need  0.2-incubating-SNAPSHOT).
> attempt 1
> 1. Install and start bundle org.clerezza.app.webrenderingservice
> 2. Install and start bundle org.clerezza.app.webrenderingserviceconsumer
> 3. Go to http://localhost:8080/admin/renderingtest, The WebrenderingService produces the text "hello test". WebrenderingService is used in an ssp in the webrenderingserviceconsumer bundle
> 4. update org.clerezza.app.webrenderingservice, 
> 5. enter ":f refresh", a refresh is necessary. all bundles are updated
> Furthermore the following error occured, which makes Clerezza Console unavailable.
> org.apache.clerezza.shell.InterruptibleInputStream$$anon$1@2053076f: caught java.io.IOException: Bad file descriptor
> java.io.IOException: Bad file descriptor
> 	at sun.nio.ch.FileDispatcher.read0(Native Method)
> 	at sun.nio.ch.FileDispatcher.read(FileDispatcher.java:26)
> 	at sun.nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:202)
> 	at sun.nio.ch.IOUtil.read(IOUtil.java:175)
> 	at sun.nio.ch.FileChannelImpl.read(FileChannelImpl.java:144)
> 	at sun.nio.ch.ChannelInputStream.read(ChannelInputStream.java:48)
> 	at sun.nio.ch.ChannelInputStream.read(ChannelInputStream.java:92)
> 	at sun.nio.ch.ChannelInputStream.read(ChannelInputStream.java:86)
> 	at java.io.InputStream.read(InputStream.java:85)
> 	at sun.nio.ch.ChannelInputStream.read(ChannelInputStream.java:64)
> 	at org.apache.clerezza.shell.InterruptibleInputStream$$anon$1$$anonfun$act$1$$anonfun$apply$1.apply(InterruptibleInputStream.scala:40)
> 	at org.apache.clerezza.shell.InterruptibleInputStream$$anon$1$$anonfun$act$1$$anonfun$apply$1.apply(InterruptibleInputStream.scala:35)
> 	at scala.actors.ReactorTask.run(ReactorTask.scala:34)
> 	at scala.actors.Reactor$class.resumeReceiver(Reactor.scala:129)
> 	at org.apache.clerezza.shell.InterruptibleInputStream$$anon$1.scala$actors$ReplyReactor$$super$resumeReceiver(InterruptibleInputStream.scala:32)
> 	at scala.actors.ReplyReactor$class.resumeReceiver(ReplyReactor.scala:69)
> 	at org.apache.clerezza.shell.InterruptibleInputStream$$anon$1.resumeReceiver(InterruptibleInputStream.scala:32)
> 	at scala.actors.Actor$class.searchMailbox(Actor.scala:478)
> 	at org.apache.clerezza.shell.InterruptibleInputStream$$anon$1.searchMailbox(InterruptibleInputStream.scala:32)
> 	at scala.actors.Reactor$$anonfun$startSearch$1$$anonfun$apply$mcV$sp$1.apply(Reactor.scala:114)
> 	at scala.actors.Reactor$$anonfun$startSearch$1$$anonfun$apply$mcV$sp$1.apply(Reactor.scala:114)
> 	at scala.actors.ReactorTask.run(ReactorTask.scala:36)
> 	at scala.concurrent.forkjoin.ForkJoinPool$AdaptedRunnable.exec(ForkJoinPool.java:611)
> 	at scala.concurrent.forkjoin.ForkJoinTask.quietlyExec(ForkJoinTask.java:422)
> 	at scala.concurrent.forkjoin.ForkJoinWorkerThread.mainLoop(ForkJoinWorkerThread.java:340)
> 	at scala.concurrent.forkjoin.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:325)
> Because Clerezza Console is unavailable I have used http://localhost:8080/system/console/shell 
> attempt 2
> 1 .Update bundle org.clerezza.app.webrenderingservice again without visiting http://localhost:8080/admin/renderingtest first (not compiling the ssp)
> 2. enter refresh => no refresh necessary

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Updated] (CLEREZZA-617) Bug in org.apache.clerezza.platform.typerendering.WebRenderingService causes a refresh of all bundles

Posted by "Daniel Spicar (Updated) (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/CLEREZZA-617?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Daniel Spicar updated CLEREZZA-617:
-----------------------------------

    Attachment: renderingservice-minimal.zip

minimal version of renderingservice for testing
                
> Bug in org.apache.clerezza.platform.typerendering.WebRenderingService causes a refresh of all bundles
> -----------------------------------------------------------------------------------------------------
>
>                 Key: CLEREZZA-617
>                 URL: https://issues.apache.org/jira/browse/CLEREZZA-617
>             Project: Clerezza
>          Issue Type: Bug
>         Environment: Mac OSx 10.6.6
> java version "1.6.0_26"
> Java(TM) SE Runtime Environment (build 1.6.0_26-b03-384-10M3425)
> Java HotSpot(TM) 64-Bit Server VM (build 20.1-b02-384, mixed mode)
>            Reporter: Tsuyoshi Ito
>            Assignee: Daniel Spicar
>            Priority: Critical
>         Attachments: refreshes.png, renderingservice-minimal.zip, renderingservice.zip
>
>
> Updating a bundle which provides a WebrenderingService causes an update of all bundles (after refresh). Even thougth there are no dependencies between most of the bundles.
> test bundles to reproduce the bug attached.
> How to reproduce it:
> parent version 0.3-incubating-SNAPSHOT is used in test bundles (probably you need  0.2-incubating-SNAPSHOT).
> attempt 1
> 1. Install and start bundle org.clerezza.app.webrenderingservice
> 2. Install and start bundle org.clerezza.app.webrenderingserviceconsumer
> 3. Go to http://localhost:8080/admin/renderingtest, The WebrenderingService produces the text "hello test". WebrenderingService is used in an ssp in the webrenderingserviceconsumer bundle
> 4. update org.clerezza.app.webrenderingservice, 
> 5. enter ":f refresh", a refresh is necessary. all bundles are updated
> Furthermore the following error occured, which makes Clerezza Console unavailable.
> org.apache.clerezza.shell.InterruptibleInputStream$$anon$1@2053076f: caught java.io.IOException: Bad file descriptor
> java.io.IOException: Bad file descriptor
> 	at sun.nio.ch.FileDispatcher.read0(Native Method)
> 	at sun.nio.ch.FileDispatcher.read(FileDispatcher.java:26)
> 	at sun.nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:202)
> 	at sun.nio.ch.IOUtil.read(IOUtil.java:175)
> 	at sun.nio.ch.FileChannelImpl.read(FileChannelImpl.java:144)
> 	at sun.nio.ch.ChannelInputStream.read(ChannelInputStream.java:48)
> 	at sun.nio.ch.ChannelInputStream.read(ChannelInputStream.java:92)
> 	at sun.nio.ch.ChannelInputStream.read(ChannelInputStream.java:86)
> 	at java.io.InputStream.read(InputStream.java:85)
> 	at sun.nio.ch.ChannelInputStream.read(ChannelInputStream.java:64)
> 	at org.apache.clerezza.shell.InterruptibleInputStream$$anon$1$$anonfun$act$1$$anonfun$apply$1.apply(InterruptibleInputStream.scala:40)
> 	at org.apache.clerezza.shell.InterruptibleInputStream$$anon$1$$anonfun$act$1$$anonfun$apply$1.apply(InterruptibleInputStream.scala:35)
> 	at scala.actors.ReactorTask.run(ReactorTask.scala:34)
> 	at scala.actors.Reactor$class.resumeReceiver(Reactor.scala:129)
> 	at org.apache.clerezza.shell.InterruptibleInputStream$$anon$1.scala$actors$ReplyReactor$$super$resumeReceiver(InterruptibleInputStream.scala:32)
> 	at scala.actors.ReplyReactor$class.resumeReceiver(ReplyReactor.scala:69)
> 	at org.apache.clerezza.shell.InterruptibleInputStream$$anon$1.resumeReceiver(InterruptibleInputStream.scala:32)
> 	at scala.actors.Actor$class.searchMailbox(Actor.scala:478)
> 	at org.apache.clerezza.shell.InterruptibleInputStream$$anon$1.searchMailbox(InterruptibleInputStream.scala:32)
> 	at scala.actors.Reactor$$anonfun$startSearch$1$$anonfun$apply$mcV$sp$1.apply(Reactor.scala:114)
> 	at scala.actors.Reactor$$anonfun$startSearch$1$$anonfun$apply$mcV$sp$1.apply(Reactor.scala:114)
> 	at scala.actors.ReactorTask.run(ReactorTask.scala:36)
> 	at scala.concurrent.forkjoin.ForkJoinPool$AdaptedRunnable.exec(ForkJoinPool.java:611)
> 	at scala.concurrent.forkjoin.ForkJoinTask.quietlyExec(ForkJoinTask.java:422)
> 	at scala.concurrent.forkjoin.ForkJoinWorkerThread.mainLoop(ForkJoinWorkerThread.java:340)
> 	at scala.concurrent.forkjoin.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:325)
> Because Clerezza Console is unavailable I have used http://localhost:8080/system/console/shell 
> attempt 2
> 1 .Update bundle org.clerezza.app.webrenderingservice again without visiting http://localhost:8080/admin/renderingtest first (not compiling the ssp)
> 2. enter refresh => no refresh necessary

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Commented] (CLEREZZA-617) Bug in org.apache.clerezza.platform.typerendering.WebRenderingService causes a refresh of all bundles

Posted by "Daniel Spicar (Commented) (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/CLEREZZA-617?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13191129#comment-13191129 ] 

Daniel Spicar commented on CLEREZZA-617:
----------------------------------------

Ok ich did some changes.

1. I removed the felix dependent code and extended the interface of ScalaServerPagesService. Now there is a registerScalaServerPage method that takes a classloader as argument. I did this to remove platform dependency (and the ugly hack associated with it) and restore backwards compatibility.

The implications are now that the user of ScalaServerPagesService needs to be aware of the problem described here in order to make the correct choice of methods to use. Better documentation can help raise awareness. But on the plus side all SSPs will continue to work as they did so far.

2. I tested the behavior of TrackingCompiler with multiple bundles using the new method to register their SSPs. As far as I can tell the behavior is the same as without this patch.

Regarding the need to declare manual or dynamic imports for runtime dependencies: I have been discussing this on the felix mailing list. It appears that the there is no supported way to solve this dynamically/without the user needing to declare these imports. The corresponding thread is here: http://mail-archives.apache.org/mod_mbox/felix-users/201201.mbox/%3cCAKJT5WQAt5bZPXZUjdeoao2J8sAHNhzgbEyFJVKXXwCVYN7qSw@mail.gmail.com%3e 
                
> Bug in org.apache.clerezza.platform.typerendering.WebRenderingService causes a refresh of all bundles
> -----------------------------------------------------------------------------------------------------
>
>                 Key: CLEREZZA-617
>                 URL: https://issues.apache.org/jira/browse/CLEREZZA-617
>             Project: Clerezza
>          Issue Type: Bug
>         Environment: Mac OSx 10.6.6
> java version "1.6.0_26"
> Java(TM) SE Runtime Environment (build 1.6.0_26-b03-384-10M3425)
> Java HotSpot(TM) 64-Bit Server VM (build 20.1-b02-384, mixed mode)
>            Reporter: Tsuyoshi Ito
>            Assignee: Daniel Spicar
>            Priority: Critical
>         Attachments: refreshes.png, renderingservice-minimal.zip, renderingservice.zip
>
>
> Updating a bundle which provides a WebrenderingService causes an update of all bundles (after refresh). Even thougth there are no dependencies between most of the bundles.
> test bundles to reproduce the bug attached.
> How to reproduce it:
> parent version 0.3-incubating-SNAPSHOT is used in test bundles (probably you need  0.2-incubating-SNAPSHOT).
> attempt 1
> 1. Install and start bundle org.clerezza.app.webrenderingservice
> 2. Install and start bundle org.clerezza.app.webrenderingserviceconsumer
> 3. Go to http://localhost:8080/admin/renderingtest, The WebrenderingService produces the text "hello test". WebrenderingService is used in an ssp in the webrenderingserviceconsumer bundle
> 4. update org.clerezza.app.webrenderingservice, 
> 5. enter ":f refresh", a refresh is necessary. all bundles are updated
> Furthermore the following error occured, which makes Clerezza Console unavailable.
> org.apache.clerezza.shell.InterruptibleInputStream$$anon$1@2053076f: caught java.io.IOException: Bad file descriptor
> java.io.IOException: Bad file descriptor
> 	at sun.nio.ch.FileDispatcher.read0(Native Method)
> 	at sun.nio.ch.FileDispatcher.read(FileDispatcher.java:26)
> 	at sun.nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:202)
> 	at sun.nio.ch.IOUtil.read(IOUtil.java:175)
> 	at sun.nio.ch.FileChannelImpl.read(FileChannelImpl.java:144)
> 	at sun.nio.ch.ChannelInputStream.read(ChannelInputStream.java:48)
> 	at sun.nio.ch.ChannelInputStream.read(ChannelInputStream.java:92)
> 	at sun.nio.ch.ChannelInputStream.read(ChannelInputStream.java:86)
> 	at java.io.InputStream.read(InputStream.java:85)
> 	at sun.nio.ch.ChannelInputStream.read(ChannelInputStream.java:64)
> 	at org.apache.clerezza.shell.InterruptibleInputStream$$anon$1$$anonfun$act$1$$anonfun$apply$1.apply(InterruptibleInputStream.scala:40)
> 	at org.apache.clerezza.shell.InterruptibleInputStream$$anon$1$$anonfun$act$1$$anonfun$apply$1.apply(InterruptibleInputStream.scala:35)
> 	at scala.actors.ReactorTask.run(ReactorTask.scala:34)
> 	at scala.actors.Reactor$class.resumeReceiver(Reactor.scala:129)
> 	at org.apache.clerezza.shell.InterruptibleInputStream$$anon$1.scala$actors$ReplyReactor$$super$resumeReceiver(InterruptibleInputStream.scala:32)
> 	at scala.actors.ReplyReactor$class.resumeReceiver(ReplyReactor.scala:69)
> 	at org.apache.clerezza.shell.InterruptibleInputStream$$anon$1.resumeReceiver(InterruptibleInputStream.scala:32)
> 	at scala.actors.Actor$class.searchMailbox(Actor.scala:478)
> 	at org.apache.clerezza.shell.InterruptibleInputStream$$anon$1.searchMailbox(InterruptibleInputStream.scala:32)
> 	at scala.actors.Reactor$$anonfun$startSearch$1$$anonfun$apply$mcV$sp$1.apply(Reactor.scala:114)
> 	at scala.actors.Reactor$$anonfun$startSearch$1$$anonfun$apply$mcV$sp$1.apply(Reactor.scala:114)
> 	at scala.actors.ReactorTask.run(ReactorTask.scala:36)
> 	at scala.concurrent.forkjoin.ForkJoinPool$AdaptedRunnable.exec(ForkJoinPool.java:611)
> 	at scala.concurrent.forkjoin.ForkJoinTask.quietlyExec(ForkJoinTask.java:422)
> 	at scala.concurrent.forkjoin.ForkJoinWorkerThread.mainLoop(ForkJoinWorkerThread.java:340)
> 	at scala.concurrent.forkjoin.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:325)
> Because Clerezza Console is unavailable I have used http://localhost:8080/system/console/shell 
> attempt 2
> 1 .Update bundle org.clerezza.app.webrenderingservice again without visiting http://localhost:8080/admin/renderingtest first (not compiling the ssp)
> 2. enter refresh => no refresh necessary

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Commented] (CLEREZZA-617) Bug in org.apache.clerezza.platform.typerendering.WebRenderingService causes a refresh of all bundles

Posted by "Tsuyoshi Ito (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/CLEREZZA-617?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13085639#comment-13085639 ] 

Tsuyoshi Ito commented on CLEREZZA-617:
---------------------------------------

Because of getRenderingService in org.apache.clerezza.platform.typerendering.TypeRenderlet the refresh is necessary:

when removing 

ServiceReference serviceReference = RequestProperties.this.bundleContext.getServiceReference(type.getName());

from getRenderingService and add a default value instead, no refresh is necessary.

i.e.

public <T> T getRenderingService(final Class<T> type) {
			return AccessController.doPrivileged(
					new PrivilegedAction<T>() {

						@Override
						public T run() {
							return (T) "hello World";

						}
					});
		}

> Bug in org.apache.clerezza.platform.typerendering.WebRenderingService causes a refresh of all bundles
> -----------------------------------------------------------------------------------------------------
>
>                 Key: CLEREZZA-617
>                 URL: https://issues.apache.org/jira/browse/CLEREZZA-617
>             Project: Clerezza
>          Issue Type: Bug
>         Environment: Mac OSx 10.6.6
> java version "1.6.0_26"
> Java(TM) SE Runtime Environment (build 1.6.0_26-b03-384-10M3425)
> Java HotSpot(TM) 64-Bit Server VM (build 20.1-b02-384, mixed mode)
>            Reporter: Tsuyoshi Ito
>            Priority: Critical
>         Attachments: renderingservice.zip
>
>
> Updating a bundle which provides a WebrenderingService causes an update of all bundles (after refresh). Even thougth there are no dependencies between most of the bundles.
> test bundles to reproduce the bug attached.
> How to reproduce it:
> parent version 0.3-incubating-SNAPSHOT is used in test bundles (probably you need  0.2-incubating-SNAPSHOT).
> attempt 1
> 1. Install and start bundle org.clerezza.app.webrenderingservice
> 2. Install and start bundle org.clerezza.app.webrenderingserviceconsumer
> 3. Go to http://localhost:8080/admin/renderingtest, The WebrenderingService produces the text "hello test". WebrenderingService is used in an ssp in the webrenderingserviceconsumer bundle
> 4. update org.clerezza.app.webrenderingservice, 
> 5. enter ":f refresh", a refresh is necessary. all bundles are updated
> Furthermore the following error occured, which makes Clerezza Console unavailable.
> org.apache.clerezza.shell.InterruptibleInputStream$$anon$1@2053076f: caught java.io.IOException: Bad file descriptor
> java.io.IOException: Bad file descriptor
> 	at sun.nio.ch.FileDispatcher.read0(Native Method)
> 	at sun.nio.ch.FileDispatcher.read(FileDispatcher.java:26)
> 	at sun.nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:202)
> 	at sun.nio.ch.IOUtil.read(IOUtil.java:175)
> 	at sun.nio.ch.FileChannelImpl.read(FileChannelImpl.java:144)
> 	at sun.nio.ch.ChannelInputStream.read(ChannelInputStream.java:48)
> 	at sun.nio.ch.ChannelInputStream.read(ChannelInputStream.java:92)
> 	at sun.nio.ch.ChannelInputStream.read(ChannelInputStream.java:86)
> 	at java.io.InputStream.read(InputStream.java:85)
> 	at sun.nio.ch.ChannelInputStream.read(ChannelInputStream.java:64)
> 	at org.apache.clerezza.shell.InterruptibleInputStream$$anon$1$$anonfun$act$1$$anonfun$apply$1.apply(InterruptibleInputStream.scala:40)
> 	at org.apache.clerezza.shell.InterruptibleInputStream$$anon$1$$anonfun$act$1$$anonfun$apply$1.apply(InterruptibleInputStream.scala:35)
> 	at scala.actors.ReactorTask.run(ReactorTask.scala:34)
> 	at scala.actors.Reactor$class.resumeReceiver(Reactor.scala:129)
> 	at org.apache.clerezza.shell.InterruptibleInputStream$$anon$1.scala$actors$ReplyReactor$$super$resumeReceiver(InterruptibleInputStream.scala:32)
> 	at scala.actors.ReplyReactor$class.resumeReceiver(ReplyReactor.scala:69)
> 	at org.apache.clerezza.shell.InterruptibleInputStream$$anon$1.resumeReceiver(InterruptibleInputStream.scala:32)
> 	at scala.actors.Actor$class.searchMailbox(Actor.scala:478)
> 	at org.apache.clerezza.shell.InterruptibleInputStream$$anon$1.searchMailbox(InterruptibleInputStream.scala:32)
> 	at scala.actors.Reactor$$anonfun$startSearch$1$$anonfun$apply$mcV$sp$1.apply(Reactor.scala:114)
> 	at scala.actors.Reactor$$anonfun$startSearch$1$$anonfun$apply$mcV$sp$1.apply(Reactor.scala:114)
> 	at scala.actors.ReactorTask.run(ReactorTask.scala:36)
> 	at scala.concurrent.forkjoin.ForkJoinPool$AdaptedRunnable.exec(ForkJoinPool.java:611)
> 	at scala.concurrent.forkjoin.ForkJoinTask.quietlyExec(ForkJoinTask.java:422)
> 	at scala.concurrent.forkjoin.ForkJoinWorkerThread.mainLoop(ForkJoinWorkerThread.java:340)
> 	at scala.concurrent.forkjoin.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:325)
> Because Clerezza Console is unavailable I have used http://localhost:8080/system/console/shell 
> attempt 2
> 1 .Update bundle org.clerezza.app.webrenderingservice again without visiting http://localhost:8080/admin/renderingtest first (not compiling the ssp)
> 2. enter refresh => no refresh necessary

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Commented] (CLEREZZA-617) Bug in org.apache.clerezza.platform.typerendering.WebRenderingService causes a refresh of all bundles

Posted by "Daniel Spicar (Commented) (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/CLEREZZA-617?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13188410#comment-13188410 ] 

Daniel Spicar commented on CLEREZZA-617:
----------------------------------------

The current code located in SVN at issues/CLEREZZA-617 fixes the issue for the webrendering service provided by the code in the attached renderingservice-minimal.zip.

NOTE: the current code only affects bundles registered using ScalaServerPagesService (the "new way"). However this issue also affects SSPs registered with the RenderletManager and could be solved there identically.

This solution is problematic for two reasons:

1. the code to extract the bundle classloader from a bundle context (located in TrackingCompiler.scala in the script-engine module) depends on a felix OSGi environment.

2. in order for any bundle to be able to register (and thus compile) SSPs, the bundle needs to declare some package imports manually. The provided renderingservice-minimal does this by declaring dynamic imports in its pom. Currently this is the responsibility of the developer of that bundle. Also this breaks backwards compatibility, thus would require all bundles that register SSPs to have dynamic imports declared. The symptom of not doing so is typically a ClassNotFoundException because SRenderlet can not be found.

There may be another issue I did not investigate yet. I am not 100% sure what TrackingCompiler is doing. It seems to be involved in sharing compilers in some way but I am not sure of the specifics. In the current solution the idea is that every bundle needs its own, new compiler. I did not yet test if this works correctly.
                
> Bug in org.apache.clerezza.platform.typerendering.WebRenderingService causes a refresh of all bundles
> -----------------------------------------------------------------------------------------------------
>
>                 Key: CLEREZZA-617
>                 URL: https://issues.apache.org/jira/browse/CLEREZZA-617
>             Project: Clerezza
>          Issue Type: Bug
>         Environment: Mac OSx 10.6.6
> java version "1.6.0_26"
> Java(TM) SE Runtime Environment (build 1.6.0_26-b03-384-10M3425)
> Java HotSpot(TM) 64-Bit Server VM (build 20.1-b02-384, mixed mode)
>            Reporter: Tsuyoshi Ito
>            Assignee: Daniel Spicar
>            Priority: Critical
>         Attachments: refreshes.png, renderingservice-minimal.zip, renderingservice.zip
>
>
> Updating a bundle which provides a WebrenderingService causes an update of all bundles (after refresh). Even thougth there are no dependencies between most of the bundles.
> test bundles to reproduce the bug attached.
> How to reproduce it:
> parent version 0.3-incubating-SNAPSHOT is used in test bundles (probably you need  0.2-incubating-SNAPSHOT).
> attempt 1
> 1. Install and start bundle org.clerezza.app.webrenderingservice
> 2. Install and start bundle org.clerezza.app.webrenderingserviceconsumer
> 3. Go to http://localhost:8080/admin/renderingtest, The WebrenderingService produces the text "hello test". WebrenderingService is used in an ssp in the webrenderingserviceconsumer bundle
> 4. update org.clerezza.app.webrenderingservice, 
> 5. enter ":f refresh", a refresh is necessary. all bundles are updated
> Furthermore the following error occured, which makes Clerezza Console unavailable.
> org.apache.clerezza.shell.InterruptibleInputStream$$anon$1@2053076f: caught java.io.IOException: Bad file descriptor
> java.io.IOException: Bad file descriptor
> 	at sun.nio.ch.FileDispatcher.read0(Native Method)
> 	at sun.nio.ch.FileDispatcher.read(FileDispatcher.java:26)
> 	at sun.nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:202)
> 	at sun.nio.ch.IOUtil.read(IOUtil.java:175)
> 	at sun.nio.ch.FileChannelImpl.read(FileChannelImpl.java:144)
> 	at sun.nio.ch.ChannelInputStream.read(ChannelInputStream.java:48)
> 	at sun.nio.ch.ChannelInputStream.read(ChannelInputStream.java:92)
> 	at sun.nio.ch.ChannelInputStream.read(ChannelInputStream.java:86)
> 	at java.io.InputStream.read(InputStream.java:85)
> 	at sun.nio.ch.ChannelInputStream.read(ChannelInputStream.java:64)
> 	at org.apache.clerezza.shell.InterruptibleInputStream$$anon$1$$anonfun$act$1$$anonfun$apply$1.apply(InterruptibleInputStream.scala:40)
> 	at org.apache.clerezza.shell.InterruptibleInputStream$$anon$1$$anonfun$act$1$$anonfun$apply$1.apply(InterruptibleInputStream.scala:35)
> 	at scala.actors.ReactorTask.run(ReactorTask.scala:34)
> 	at scala.actors.Reactor$class.resumeReceiver(Reactor.scala:129)
> 	at org.apache.clerezza.shell.InterruptibleInputStream$$anon$1.scala$actors$ReplyReactor$$super$resumeReceiver(InterruptibleInputStream.scala:32)
> 	at scala.actors.ReplyReactor$class.resumeReceiver(ReplyReactor.scala:69)
> 	at org.apache.clerezza.shell.InterruptibleInputStream$$anon$1.resumeReceiver(InterruptibleInputStream.scala:32)
> 	at scala.actors.Actor$class.searchMailbox(Actor.scala:478)
> 	at org.apache.clerezza.shell.InterruptibleInputStream$$anon$1.searchMailbox(InterruptibleInputStream.scala:32)
> 	at scala.actors.Reactor$$anonfun$startSearch$1$$anonfun$apply$mcV$sp$1.apply(Reactor.scala:114)
> 	at scala.actors.Reactor$$anonfun$startSearch$1$$anonfun$apply$mcV$sp$1.apply(Reactor.scala:114)
> 	at scala.actors.ReactorTask.run(ReactorTask.scala:36)
> 	at scala.concurrent.forkjoin.ForkJoinPool$AdaptedRunnable.exec(ForkJoinPool.java:611)
> 	at scala.concurrent.forkjoin.ForkJoinTask.quietlyExec(ForkJoinTask.java:422)
> 	at scala.concurrent.forkjoin.ForkJoinWorkerThread.mainLoop(ForkJoinWorkerThread.java:340)
> 	at scala.concurrent.forkjoin.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:325)
> Because Clerezza Console is unavailable I have used http://localhost:8080/system/console/shell 
> attempt 2
> 1 .Update bundle org.clerezza.app.webrenderingservice again without visiting http://localhost:8080/admin/renderingtest first (not compiling the ssp)
> 2. enter refresh => no refresh necessary

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Updated] (CLEREZZA-617) Bug in org.apache.clerezza.platform.typerendering.WebRenderingService causes a refresh of all bundles

Posted by "Daniel Spicar (Updated) (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/CLEREZZA-617?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Daniel Spicar updated CLEREZZA-617:
-----------------------------------

    Affects Version/s: 0.2-incubating
    
> Bug in org.apache.clerezza.platform.typerendering.WebRenderingService causes a refresh of all bundles
> -----------------------------------------------------------------------------------------------------
>
>                 Key: CLEREZZA-617
>                 URL: https://issues.apache.org/jira/browse/CLEREZZA-617
>             Project: Clerezza
>          Issue Type: Bug
>    Affects Versions: 0.2-incubating
>         Environment: Mac OSx 10.6.6
> java version "1.6.0_26"
> Java(TM) SE Runtime Environment (build 1.6.0_26-b03-384-10M3425)
> Java HotSpot(TM) 64-Bit Server VM (build 20.1-b02-384, mixed mode)
>            Reporter: Tsuyoshi Ito
>            Assignee: Daniel Spicar
>            Priority: Critical
>         Attachments: refreshes.png, renderingservice-minimal.zip, renderingservice.zip
>
>
> Updating a bundle which provides a WebrenderingService causes an update of all bundles (after refresh). Even thougth there are no dependencies between most of the bundles.
> test bundles to reproduce the bug attached.
> How to reproduce it:
> parent version 0.3-incubating-SNAPSHOT is used in test bundles (probably you need  0.2-incubating-SNAPSHOT).
> attempt 1
> 1. Install and start bundle org.clerezza.app.webrenderingservice
> 2. Install and start bundle org.clerezza.app.webrenderingserviceconsumer
> 3. Go to http://localhost:8080/admin/renderingtest, The WebrenderingService produces the text "hello test". WebrenderingService is used in an ssp in the webrenderingserviceconsumer bundle
> 4. update org.clerezza.app.webrenderingservice, 
> 5. enter ":f refresh", a refresh is necessary. all bundles are updated
> Furthermore the following error occured, which makes Clerezza Console unavailable.
> org.apache.clerezza.shell.InterruptibleInputStream$$anon$1@2053076f: caught java.io.IOException: Bad file descriptor
> java.io.IOException: Bad file descriptor
> 	at sun.nio.ch.FileDispatcher.read0(Native Method)
> 	at sun.nio.ch.FileDispatcher.read(FileDispatcher.java:26)
> 	at sun.nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:202)
> 	at sun.nio.ch.IOUtil.read(IOUtil.java:175)
> 	at sun.nio.ch.FileChannelImpl.read(FileChannelImpl.java:144)
> 	at sun.nio.ch.ChannelInputStream.read(ChannelInputStream.java:48)
> 	at sun.nio.ch.ChannelInputStream.read(ChannelInputStream.java:92)
> 	at sun.nio.ch.ChannelInputStream.read(ChannelInputStream.java:86)
> 	at java.io.InputStream.read(InputStream.java:85)
> 	at sun.nio.ch.ChannelInputStream.read(ChannelInputStream.java:64)
> 	at org.apache.clerezza.shell.InterruptibleInputStream$$anon$1$$anonfun$act$1$$anonfun$apply$1.apply(InterruptibleInputStream.scala:40)
> 	at org.apache.clerezza.shell.InterruptibleInputStream$$anon$1$$anonfun$act$1$$anonfun$apply$1.apply(InterruptibleInputStream.scala:35)
> 	at scala.actors.ReactorTask.run(ReactorTask.scala:34)
> 	at scala.actors.Reactor$class.resumeReceiver(Reactor.scala:129)
> 	at org.apache.clerezza.shell.InterruptibleInputStream$$anon$1.scala$actors$ReplyReactor$$super$resumeReceiver(InterruptibleInputStream.scala:32)
> 	at scala.actors.ReplyReactor$class.resumeReceiver(ReplyReactor.scala:69)
> 	at org.apache.clerezza.shell.InterruptibleInputStream$$anon$1.resumeReceiver(InterruptibleInputStream.scala:32)
> 	at scala.actors.Actor$class.searchMailbox(Actor.scala:478)
> 	at org.apache.clerezza.shell.InterruptibleInputStream$$anon$1.searchMailbox(InterruptibleInputStream.scala:32)
> 	at scala.actors.Reactor$$anonfun$startSearch$1$$anonfun$apply$mcV$sp$1.apply(Reactor.scala:114)
> 	at scala.actors.Reactor$$anonfun$startSearch$1$$anonfun$apply$mcV$sp$1.apply(Reactor.scala:114)
> 	at scala.actors.ReactorTask.run(ReactorTask.scala:36)
> 	at scala.concurrent.forkjoin.ForkJoinPool$AdaptedRunnable.exec(ForkJoinPool.java:611)
> 	at scala.concurrent.forkjoin.ForkJoinTask.quietlyExec(ForkJoinTask.java:422)
> 	at scala.concurrent.forkjoin.ForkJoinWorkerThread.mainLoop(ForkJoinWorkerThread.java:340)
> 	at scala.concurrent.forkjoin.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:325)
> Because Clerezza Console is unavailable I have used http://localhost:8080/system/console/shell 
> attempt 2
> 1 .Update bundle org.clerezza.app.webrenderingservice again without visiting http://localhost:8080/admin/renderingtest first (not compiling the ssp)
> 2. enter refresh => no refresh necessary

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Commented] (CLEREZZA-617) Bug in org.apache.clerezza.platform.typerendering.WebRenderingService causes a refresh of all bundles

Posted by "Reto Bachmann-Gmür (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/CLEREZZA-617?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13086499#comment-13086499 ] 

Reto Bachmann-Gmür commented on CLEREZZA-617:
---------------------------------------------

Regarding the unavailable console this is CLEREZZA-462, you should still be able to get a new console with

ssh -p 8022 admin@localhost

> Bug in org.apache.clerezza.platform.typerendering.WebRenderingService causes a refresh of all bundles
> -----------------------------------------------------------------------------------------------------
>
>                 Key: CLEREZZA-617
>                 URL: https://issues.apache.org/jira/browse/CLEREZZA-617
>             Project: Clerezza
>          Issue Type: Bug
>         Environment: Mac OSx 10.6.6
> java version "1.6.0_26"
> Java(TM) SE Runtime Environment (build 1.6.0_26-b03-384-10M3425)
> Java HotSpot(TM) 64-Bit Server VM (build 20.1-b02-384, mixed mode)
>            Reporter: Tsuyoshi Ito
>            Priority: Critical
>         Attachments: renderingservice.zip
>
>
> Updating a bundle which provides a WebrenderingService causes an update of all bundles (after refresh). Even thougth there are no dependencies between most of the bundles.
> test bundles to reproduce the bug attached.
> How to reproduce it:
> parent version 0.3-incubating-SNAPSHOT is used in test bundles (probably you need  0.2-incubating-SNAPSHOT).
> attempt 1
> 1. Install and start bundle org.clerezza.app.webrenderingservice
> 2. Install and start bundle org.clerezza.app.webrenderingserviceconsumer
> 3. Go to http://localhost:8080/admin/renderingtest, The WebrenderingService produces the text "hello test". WebrenderingService is used in an ssp in the webrenderingserviceconsumer bundle
> 4. update org.clerezza.app.webrenderingservice, 
> 5. enter ":f refresh", a refresh is necessary. all bundles are updated
> Furthermore the following error occured, which makes Clerezza Console unavailable.
> org.apache.clerezza.shell.InterruptibleInputStream$$anon$1@2053076f: caught java.io.IOException: Bad file descriptor
> java.io.IOException: Bad file descriptor
> 	at sun.nio.ch.FileDispatcher.read0(Native Method)
> 	at sun.nio.ch.FileDispatcher.read(FileDispatcher.java:26)
> 	at sun.nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:202)
> 	at sun.nio.ch.IOUtil.read(IOUtil.java:175)
> 	at sun.nio.ch.FileChannelImpl.read(FileChannelImpl.java:144)
> 	at sun.nio.ch.ChannelInputStream.read(ChannelInputStream.java:48)
> 	at sun.nio.ch.ChannelInputStream.read(ChannelInputStream.java:92)
> 	at sun.nio.ch.ChannelInputStream.read(ChannelInputStream.java:86)
> 	at java.io.InputStream.read(InputStream.java:85)
> 	at sun.nio.ch.ChannelInputStream.read(ChannelInputStream.java:64)
> 	at org.apache.clerezza.shell.InterruptibleInputStream$$anon$1$$anonfun$act$1$$anonfun$apply$1.apply(InterruptibleInputStream.scala:40)
> 	at org.apache.clerezza.shell.InterruptibleInputStream$$anon$1$$anonfun$act$1$$anonfun$apply$1.apply(InterruptibleInputStream.scala:35)
> 	at scala.actors.ReactorTask.run(ReactorTask.scala:34)
> 	at scala.actors.Reactor$class.resumeReceiver(Reactor.scala:129)
> 	at org.apache.clerezza.shell.InterruptibleInputStream$$anon$1.scala$actors$ReplyReactor$$super$resumeReceiver(InterruptibleInputStream.scala:32)
> 	at scala.actors.ReplyReactor$class.resumeReceiver(ReplyReactor.scala:69)
> 	at org.apache.clerezza.shell.InterruptibleInputStream$$anon$1.resumeReceiver(InterruptibleInputStream.scala:32)
> 	at scala.actors.Actor$class.searchMailbox(Actor.scala:478)
> 	at org.apache.clerezza.shell.InterruptibleInputStream$$anon$1.searchMailbox(InterruptibleInputStream.scala:32)
> 	at scala.actors.Reactor$$anonfun$startSearch$1$$anonfun$apply$mcV$sp$1.apply(Reactor.scala:114)
> 	at scala.actors.Reactor$$anonfun$startSearch$1$$anonfun$apply$mcV$sp$1.apply(Reactor.scala:114)
> 	at scala.actors.ReactorTask.run(ReactorTask.scala:36)
> 	at scala.concurrent.forkjoin.ForkJoinPool$AdaptedRunnable.exec(ForkJoinPool.java:611)
> 	at scala.concurrent.forkjoin.ForkJoinTask.quietlyExec(ForkJoinTask.java:422)
> 	at scala.concurrent.forkjoin.ForkJoinWorkerThread.mainLoop(ForkJoinWorkerThread.java:340)
> 	at scala.concurrent.forkjoin.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:325)
> Because Clerezza Console is unavailable I have used http://localhost:8080/system/console/shell 
> attempt 2
> 1 .Update bundle org.clerezza.app.webrenderingservice again without visiting http://localhost:8080/admin/renderingtest first (not compiling the ssp)
> 2. enter refresh => no refresh necessary

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira