<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META content="text/html; charset=iso-8859-1" http-equiv=Content-Type>
<META name=GENERATOR content="MSHTML 9.00.8112.16421">
<STYLE></STYLE>
</HEAD>
<BODY bgColor=#ffffff>
<DIV><FONT size=2 face=Arial>QuickCheck found another error in dets. The 
following test case shows how to provoke a bad object error by starting three 
concurrent match_object traversals, at the same time as data is inserted into 
the table.</FONT></DIV>
<DIV><FONT size=2 face=Arial></FONT> </DIV>
<DIV><FONT size=2 face=Arial>test() -><BR>    
dets:close(dets_table),<BR>    
file:delete(dets_table),   <BR>    {ok,dets_table} = 
dets:open_file(dets_table,[{type,bag}]),<BR>    ok = 
dets:insert(dets_table,[{0,0},{0,14},{1,0},{1,1},{39,0}]),  
<BR>    {[{0,14}],Cont} = 
dets:match_object(dets_table,{'$1',14},0),    
<BR>    ok = 
dets:insert(dets_table,{2,0}),                              
<BR>    {[{0,0},{0,14}],_} = 
dets:match_object(dets_table,{0,'$2'},0),<BR>    ok = 
dets:insert(dets_table,[{2,1},{39,1}]),                     
<BR>    {[{1,0}],_} = 
dets:match_object(dets_table,{'$1',0},0),      
<BR>    {error,{{bad_object,scan},"dets_table"}} = 
dets:match_object(Cont).</FONT></DIV>
<DIV><FONT size=2 face=Arial></FONT> </DIV>
<DIV><FONT size=2 face=Arial>This is 100% repeatable--and it seems to be a 
minimal example.</FONT></DIV>
<DIV><FONT size=2 face=Arial></FONT> </DIV>
<DIV><FONT size=2 face=Arial>John</FONT></DIV></BODY></HTML>