incubator-clerezza-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Daniel Spicar (Commented) (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (CLEREZZA-617) Bug in org.apache.clerezza.platform.typerendering.WebRenderingService causes a refresh of all bundles
Date Mon, 23 Jan 2012 12:12:41 GMT

    [ 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

        

Mime
View raw message