couchdb-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Robert Newson <robert.new...@gmail.com>
Subject Re: Couch crash report
Date Mon, 15 Nov 2010 18:21:49 GMT
Matthew,

Thanks! We've tracked it to;

read_raw_iolist_int(#file{fd=Fd, tail_append_begin=TAB}, Pos, Len) ->
    BlockOffset = Pos rem ?SIZE_BLOCK,
    TotalBytes = calculate_total_read_len(BlockOffset, Len),
    {ok, <<RawBin:TotalBytes/binary>>} = file:pread(Fd, Pos, TotalBytes),
    if Pos >= TAB ->
        {remove_block_prefixes(BlockOffset, RawBin), Pos + TotalBytes};
    true ->
        % 09 UPGRADE CODE
        <<ReturnBin:Len/binary, _/binary>> = RawBin,
        {[ReturnBin], Pos + Len}
    end.

The only reasonable cause is some issue with the file system or disk,
specifically that file:pread returned less than TotalBytes number of
bytes, causing the badmatch.

Is the database in question confidential or private in any way? We
might like to examine it in more detail if not.

B.

On Mon, Nov 15, 2010 at 5:46 PM, Matthew Sinclair-Day <msddsm@gmail.com> wrote:
> On 11/15/10 at 12:39 PM, robert.newson@gmail.com (Robert Newson) wrote:
>
>> exception exit: {{badmatch,{ok
>> <snip...>
>>
>> can you unsnip the rest of the badmatch exception text?
>>
>> B.
>
> Unsnipped as an attachment (unless the mailing list strips it).

Mime
View raw message