Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [jetty-users] Response > Buffer + Continuations = Deadlock?

It would seem similar to this:

http://www.servlets.com/archive/servlet/ReadMsg?msgId=559312&listName=jetty-support

Although this was said to be fixed.


On Fri, Nov 11, 2011 at 5:23 PM, Matthew Painter <matthew.painter@xxxxxxxxxx> wrote:
Hi all,

I wonder if any of you bright sparks can shed some light on this problem with Jetty 7.5.1?

I have a response that is bigger than the standard servlet buffer size (32,768). 

I am using the continuation suspend/complete pattern.

When writing to the response outputstream, 32768 bytes are written to the client, and then the thread hangs forever on SelectChannelEndpoint.blockWritable() - maybe deadlocked?

This is a huge issue for us, as it brings down the server as threads get deadlocked.

Any information would be great - I can see a few similar bugs have been raised, but none quite the same.

Thanks :)

Daemon Thread [Thread-111] (Suspended)
Object.wait(long) line: not available [native method]
SelectChannelEndPoint.blockWritable(long) line: 384
HttpGenerator(AbstractGenerator).blockForOutput(long) line: 530
HttpGenerator(AbstractGenerator).flush(long) line: 456
HttpConnection$Output(HttpOutput).flush() line: 89
HttpConnection$Output.flush() line: 995
HttpConnection$Output(HttpOutput).write(Buffer) line: 172
HttpConnection$Output(HttpOutput).write(byte[], int, int) line: 96
Utf8Generator._flushBuffer() line: 1437
Utf8Generator.writeString(String) line: 465
StdSerializers$StringSerializer.serialize(String, JsonGenerator, SerializerProvider) line: 123
StdSerializers$StringSerializer.serialize(Object, JsonGenerator, SerializerProvider) line: 113
MapSerializer.serializeFields(Map<?,?>, JsonGenerator, SerializerProvider) line: 257
MapSerializer.serialize(Map<?,?>, JsonGenerator, SerializerProvider) line: 177
MapSerializer.serialize(Object, JsonGenerator, SerializerProvider) line: 22
ContainerSerializers$IndexedListSerializer.serializeContents(List<?>, JsonGenerator, SerializerProvider) line: 291
ContainerSerializers$IndexedListSerializer.serializeContents(Object, JsonGenerator, SerializerProvider) line: 242
ContainerSerializers$IndexedListSerializer(ContainerSerializers$AsArraySerializer<T>).serialize(T, JsonGenerator, SerializerProvider) line: 130
MapSerializer.serializeFields(Map<?,?>, JsonGenerator, SerializerProvider) line: 257
MapSerializer.serialize(Map<?,?>, JsonGenerator, SerializerProvider) line: 177
MapSerializer.serialize(Object, JsonGenerator, SerializerProvider) line: 22
MapSerializer.serializeFields(Map<?,?>, JsonGenerator, SerializerProvider) line: 257
MapSerializer.serialize(Map<?,?>, JsonGenerator, SerializerProvider) line: 177
MapSerializer.serialize(Object, JsonGenerator, SerializerProvider) line: 22
MapSerializer.serializeFields(Map<?,?>, JsonGenerator, SerializerProvider) line: 257
MapSerializer.serialize(Map<?,?>, JsonGenerator, SerializerProvider) line: 177
MapSerializer.serialize(Object, JsonGenerator, SerializerProvider) line: 22
ContainerSerializers$IndexedListSerializer.serializeContents(List<?>, JsonGenerator, SerializerProvider) line: 291
ContainerSerializers$IndexedListSerializer.serializeContents(Object, JsonGenerator, SerializerProvider) line: 242
ContainerSerializers$IndexedListSerializer(ContainerSerializers$AsArraySerializer<T>).serialize(T, JsonGenerator, SerializerProvider) line: 130
BeanPropertyWriter.serializeAsField(Object, JsonGenerator, SerializerProvider) line: 428
BeanSerializer.serializeFields(Object, JsonGenerator, SerializerProvider) line: 245
BeanSerializer.serialize(Object, JsonGenerator, SerializerProvider) line: 212
StdSerializerProvider._serializeValue(JsonGenerator, Object) line: 587
StdSerializerProvider.serializeValue(SerializationConfig, JsonGenerator, Object, SerializerFactory) line: 245
ObjectMapper(ObjectMapper)._configAndWriteValue(JsonGenerator, Object) line: 1993
ObjectMapper(ObjectMapper).writeValue(OutputStream, Object) line: 1563
...





Back to the top