<html>
<head>
<style>
.hmmessage P
{
margin:0px;
padding:0px
}
body.hmmessage
{
font-size: 10pt;
font-family:Verdana
}
</style>
</head>
<body class='hmmessage'>
Easy to trigger problems here, also on NT, like with:<BR>
<BR>
VAR r: Random.T; stdout := NEW(AutoFlushWr.T).init(Stdio.stdout);<BR>
PROCEDURE Main () =<BR> BEGIN<BR> WHILE TRUE DO<BR> Wr.PutText(stdout, "foofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoo\n");<BR> END;<BR><BR>
<BR>
foofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoofoo<BR>FileWr.Seek:wr.seekable=FALSE,n=53300,wr.hi=57396<BR>
<BR>***<BR>*** runtime error:<BR>*** Exception "FileWr.Error" not in RAISES list<BR>*** file "..\src\rw\FileWr.m3", line 85<BR>***<BR>
<BR>
***<BR>*** runtime error:<BR>*** Thread client error: Attempt to lock mutex already locked by self<BR>*** file "..\src\thread\WIN32\ThreadWin32.m3", line 119<BR>***<BR>
Stack trace:<BR> FP PC Procedure<BR>--------- --------- -------------------------------<BR> 0x12fcfc 0x41c2d6 Seek + 0x125 in ..\src\rw\FileWr.m3<BR> 0x12fd58 0x40e6b1 Seek + 0x165 in ..\src\rw\AutoFlushWr.m3<BR> 0x12fd9c 0x407c9a PutStringDefault + 0x281 in ..\src\rw\Wr.m3<BR> 0x12fe50 0x407460 FastPutText + 0x105 in ..\src\rw\Wr.m3<BR> 0x12fe78 0x407328 PutText + 0x4e in ..\src\rw\Wr.m3<BR> 0x12febc 0x4010c6 Main + 0x76 in ..\src\RandomTest.m3<BR> 0x12fee0 0x405795 RandomTest_M3 + 0xb5 in ..\src\RandomTest.m3<BR>
<BR>
Must be some race condition between flushing and other writers?<BR>
<BR>
<BR>
- Jay<BR><BR> <BR>
<HR id=stopSpelling>
From: jay.krell@cornell.edu<BR>To: m3devel@elegosoft.com<BR>Subject: RandomTest runtime error FileWr.Error not in Raises list<BR>Date: Sun, 30 Aug 2009 11:00:00 +0000<BR><BR>
<STYLE>
.ExternalClass .EC_hmmessage P
{padding:0px;}
.ExternalClass body.EC_hmmessage
{font-size:10pt;font-family:Verdana;}
</STYLE>
I think this is two or three problems.<BR> - missing raises<BR> - why does it raise<BR> - why does it hang<BR> <BR>Often but not always:<BR><BR><A href="mailto:jay@xlin2:/dev2/release_branch_cm3_5_8/m3-libs/libm3/tests/random$">jay@xlin2:/dev2/release_branch_cm3_5_8/m3-libs/libm3/tests/random$</A> pwd<BR>/dev2/release_branch_cm3_5_8/m3-libs/libm3/tests/random<BR><A href="mailto:jay@xlin2:/dev2/release_branch_cm3_5_8/m3-libs/libm3/tests/random$">jay@xlin2:/dev2/release_branch_cm3_5_8/m3-libs/libm3/tests/random$</A> ./LINUXLIBC6<BR>/RandomTest -perm<BR> <BR>under gdb:<BR><BR>***<BR>*** runtime error:<BR>*** Exception "FileWr.Error" not in RAISES list<BR>*** file "../src/rw/FileWr.m3", line 81<BR>***<BR><BR>Program received signal SIGABRT, Aborted.<BR>[Switching to Thread -1210370368 (LWP 21415)]<BR>0xb7f25410 in ?? ()<BR>(gdb) bt<BR>#0 0xb7f25410 in ?? ()<BR>#1 0xbfc4f14c in ?? ()<BR>#2 0x00000006 in ?? ()<BR>#3 0x000053a7 in ?? ()<BR>#4 0xb7ddc811 in raise () from /lib/tls/i686/cmov/libc.so.6<BR>#5 0xb7dddfb9 in abort () from /lib/tls/i686/cmov/libc.so.6<BR>#6 0x0808bb12 in RTOS__Crash () at ../src/runtime/POSIX/RTOS.m3:20<BR>#7 0x08085d83 in RTProcess__Crash (M3_Bd56fi_msg=0x0)<BR> at ../src/runtime/common/RTProcess.m3:65<BR>#8 0x08083a8e in RTError__EndError (M3_AicXUJ_crash=1 '\001')<BR> at ../src/runtime/common/RTError.m3:118<BR>#9 0x08083752 in RTError__MsgS (M3_AJWxb1_file=0x80c437c, M3_AcxOUs_line=81,<BR> M3_Bd56fi_msgA=0x80cc350, M3_Bd56fi_msgB=0xb7d7eba0,<BR> M3_Bd56fi_msgC=0x80cc378) at ../src/runtime/common/RTError.m3:40<BR>#10 0x08083ef6 in RTException__Crash (M3_Cblw37_a=0xbfc4f460,<BR> M3_AicXUJ_raises=1 '\001', M3_AJWxb1_rte=0x80c8400)<BR> at ../src/runtime/common/RTException.m3:79<BR>#11 0x08083c5f in RTException__DefaultBackstop (M3_Cblw37_a=0xbfc4f460,<BR> M3_AicXUJ_raises=0 '\0') at ../src/runtime/common/RTException.m3:41<BR>#12 0x08083b59 in RTException__InvokeBackstop (M3_Cblw37_a=0xbfc4f460,<BR> M3_AicXUJ_raises=0 '\0') at ../src/runtime/common/RTException.m3:25<BR>#13 0x0808c5a8 in RTException__Raise (M3_Cblw37_act=0xbfc4f460)<BR> at ../src/runtime/ex_frame/RTExFrame.m3:29<BR>#14 0x08083cb6 in RTException__DefaultBackstop (M3_Cblw37_a=0xbfc4f460,<BR>---Type <return> to continue, or q <return> to quit---<BR> M3_AicXUJ_raises=1 '\001') at ../src/runtime/common/RTException.m3:47<BR>#15 0x08083b59 in RTException__InvokeBackstop (M3_Cblw37_a=0xbfc4f460,<BR> M3_AicXUJ_raises=1 '\001') at ../src/runtime/common/RTException.m3:25<BR>#16 0x0808c689 in RTException__Raise (M3_Cblw37_act=0xbfc4f460)<BR> at ../src/runtime/ex_frame/RTExFrame.m3:51<BR>#17 0x08073e99 in RTHooks__Raise (M3_AJWxb1_ex=0x80c42a0, M3_AJWxb1_arg=0x0,<BR> M3_AJWxb1_module=0x80c43e0, M3_AcxOUs_line=81)<BR> at ../src/runtime/common/RTHooks.m3:79<BR>#18 0x0806a9c4 in FileWr__Seek (M3_EJV0jI_wr=0xb7d73234, M3_Cwb5VA_n=4198)<BR> at ../src/rw/FileWr.m3:81<BR>#19 0x080559ea in AutoFlushWr__Seek (M3_Aauo9c_wr=0xb7d790a4,<BR> M3_Cwb5VA_n=4198) at ../src/rw/AutoFlushWr.m3:106<BR>#20 0x080544bf in WrClass__PutStringDefault (M3_BxxOH1_wr=0xb7d790a4,<BR> M3_CKMnXU_a=0xbfc4f7f4) at ../src/rw/Wr.m3:193<BR>#21 0x080539de in UnsafeWr__FastPutText (M3_BxxOH1_wr=0xb7d790a4,<BR> M3_Bd56fi_t=0xb7d7eb84) at ../src/rw/Wr.m3:105<BR>#22 0x08053837 in Wr__PutText (M3_BxxOH1_wr=0xb7d790a4,<BR> M3_Bd56fi_t=0xb7d7eb84) at ../src/rw/Wr.m3:93<BR>#23 0x0804f561 in RandomTest__TestPerm () at ../src/RandomTest.m3:387<BR>#24 0x0804bedf in RandomTest__Main () at ../src/RandomTest.m3:64<BR>#25 0x08050235 in RandomTest_M3 (M3_AcxOUs_mode=1) at ../src/RandomTest.m3:458<BR>#26 0x08082bf8 in RTLinker__RunMainBody (M3_DjPxE3_m=0x80be120)<BR> at ../src/runtime/common/RTLinker.m3:399<BR>#27 0x08081fb2 in RTLinker__AddUnitI (M3_DjPxE3_m=0x80be120)<BR>---Type <return> to continue, or q <return> to quit---<BR> at ../src/runtime/common/RTLinker.m3:113<BR>#28 0x08082040 in RTLinker__AddUnit (M3_DjPxE5_b=0x8050165)<BR> at ../src/runtime/common/RTLinker.m3:122<BR>#29 0x0804baee in main (argc=2, argv=0xbfc4fe94, envp=0xbfc4fea0)<BR> at _m3main.mc:4<BR>(gdb)<BR><BR>This test hangs on OpenBSD/x86.<BR><BR><BR><BR><BR><BR><BR></body>
</html>