incubator-clerezza-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Reto Bachmann-Gmür (JIRA) <>
Subject [jira] [Commented] (CLEREZZA-462) Bad file descriptor
Date Tue, 22 Mar 2011 20:06:05 GMT


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

I think the solution to this one would be to have a low-startlevel service that is usually
never restarted and that provide virtual system inputstreams that can be terminated by a method
call. When such a stream is terminated any thread currently in ablocking read gets a -1, the
service however continues and does not interrupt its own call to read() of the real standard
input and will return the read char to the next read call of the next created virtual inputstream.
I've looked at but they don't seem to have a solution either, after stopping
the bundle the thread will terminate once the current line has been read.

> Bad file descriptor
> ----------------------------------------
>                 Key: CLEREZZA-462
>                 URL:
>             Project: Clerezza
>          Issue Type: Bug
>            Reporter: Reto Bachmann-Gmür
>            Assignee: Reto Bachmann-Gmür
> Occasionally the following exception occurs when updating a bundle and the shell crashes.
The shell should resume gracefully.
>$$anon$1@1578d4a: caught
Bad file descriptor
> Bad file descriptor
> 	at Method)
> 	at
> 	at
> 	at
> 	at
> 	at
> 	at
> 	at
> 	at
> 	at
> 	at$$anon$1$$anonfun$act$1$$anonfun$apply$1.apply(InterruptibleInputStream.scala:40)
> 	at$$anon$1$$anonfun$act$1$$anonfun$apply$1.apply(InterruptibleInputStream.scala:35)
> 	at
> 	at scala.actors.Reactor$class.resumeReceiver(Reactor.scala:129)
> 	at$$anon$1.scala$actors$ReplyReactor$$super$resumeReceiver(InterruptibleInputStream.scala:32)
> 	at scala.actors.ReplyReactor$class.resumeReceiver(ReplyReactor.scala:69)
> 	at$$anon$1.resumeReceiver(InterruptibleInputStream.scala:32)
> 	at scala.actors.Actor$class.searchMailbox(Actor.scala:478)
> 	at$$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
> 	at scala.concurrent.forkjoin.ForkJoinPool$AdaptedRunnable.exec(
> 	at scala.concurrent.forkjoin.ForkJoinTask.quietlyExec(
> 	at scala.concurrent.forkjoin.ForkJoinWorkerThread.mainLoop(
> 	at

This message is automatically generated by JIRA.
For more information on JIRA, see:

View raw message