D - rehash unstability - data.txt
- kw (384/384) Sep 08 2003 import stream;
- Charles Sanders (7/19) Sep 08 2003 Is this on linux ? I had a bug that when reading in a file using eof(),...
- kw (2/4) Sep 08 2003 No, Windows. It also can be reproduced without using files.
- Walter (1/1) Sep 13 2003 I have this fixed now. -Walter
import stream;
void main()
{
int[char[]] esdom;
File f = new File("data.txt");
while(!f.eof()) esdom[f.readLine()] = 0;
f.close();
esdom.rehash;
}
DMD 0.71
With the attached data.txt file, rehash never ends (or takes a looong time). If
you remove/change the last line of data.txt, rehash does its stuff in a blink.
begin 0644 data.txt
M>F-Y8F5R<V5A<F-H+F-O;0T*860P+F=A;65S=V5B+F-O;0T*860P+FAA>6YE
M,RYE<F%S97)C87-H+F-O;0T*860P,RYE>F-Y8F5R<V5A<F-H+F-O;0T*860P
M,#DN
M+F-O;0T*860Q+F%D;F5T=V]R:RYC;VTN8G(-"F%D,2YA9'-O;'5T:6]N+F1E
M8FQE8VQI8VLN8F4-"F%D,2YD;W5B;&5C;&EC:RYC;VT-"F%D,2YD;W5B;&5C
M;&EC:RYN970-"F%D,2YE;65D:6%T92YD:PT*860Q+F5R87-E<F-A<V N8V]M
M,2YG86UE>F]N92YD90T*860Q+FAP9RYC;VTN8G(-"F%D,2YH<&<N:6<N8V]M
M<&%M961I82YC;VTN874-"F%D,2YP87EC;W5N="YC;VT-"F%D,2YP965L+F-O
M;W)E=&DN:70-"F%D,2YT87)G971G<F%P:"YC;VT-"F%D,2YT<F%F9FEC>"YC
M,"YD;W5B;&5C;&EC:RYB90T*860Q,"YE<F%S97)C87-H+F-O;0T*860Q,"YE
M>F-Y8F5R<V5A<F-H+F-O;0T*860Q,"YF;V-A;&EN:RYC;VT-"F%D,3`N:'!G
M,"YP87EC;W5N="YC;VT-"F%D,3`N<&]P=7!A9"YN970-"F%D,3`P+F5R87-E
M>6)E<G-E87)C:"YC;VT-"F%D,3`R+FAP9RYC;VTN8G(-"F%D,3`R+FAP9RYI
M8G(-"F%D,3`U+FAP9RYI9RYC;VTN8G(-"F%D,3`U+G!A>6-O=6YT+F-O;0T*
M"F%D,3`X+FAP9RYC;VTN8G(-"F%D,3`X+FAP9RYI9RYC;VTN8G(-"F%D,3`X
M+F-O;2YB< T*860Q,#DN:'!G+FEG+F-O;2YB< T*860Q,#DN<&%Y8V]U;G0N
M860Q,2YE<F%S97)C87-H+F-O;0T*860Q,2YE>F-Y8F5R<V5A<F-H+F-O;0T*
M860Q,2YF;V-A;&EN:RYC;VT-"F%D,3$N:'!G+F-O;2YB< T*860Q,2YH<&<N
M>F-Y8F5R<V5A<F-H+F-O;0T*860Q,3`N:'!G+F-O;2YB< T*860Q,3`N:'!G
M+FYE=`T*860Q,3$N97)A<V5R8V%S:"YC;VT-"F%D,3$Q+F5Z8WEB97)S96%R
M,BYE<F%S97)C87-H+F-O;0T*860Q,3(N97IC>6)E<G-E87)C:"YC;VT-"F%D
M,3$R+FAP9RYC;VTN8G(-"F%D,3$R+FAP9RYI9RYC;VTN8G(-"F%D,3$R+G!A
M>6-O=6YT+F-O;0T*860Q,3(N<&]P=7!A9"YN970-"F%D,3$S+F5R87-E<F-A
M;2YB< T*860Q,3,N:'!G+FEG+F-O;2YB< T*860Q,3,N<&%Y8V]U;G0N8V]M
M<G-E87)C:"YC;VT-"F%D,3$U+FAP9RYC;VTN8G(-"F%D,3$U+FAP9RYI9RYC
M;VTN8G(-"F%D,3$U+G!A>6-O=6YT+F-O;0T*860Q,34N<&]P=7!A9"YN970-
M;0T*860Q,38N:'!G+F-O;2YB< T*860Q,38N:'!G+FEG+F-O;2YB< T*860Q
M;0T*860Q,3 N97IC>6)E<G-E87)C:"YC;VT-"F%D,3$X+FAP9RYC;VTN8G(-
M"F%D,3$X+FAP9RYI9RYC;VTN8G(-"F%D,3$X+G!A>6-O=6YT+F-O;0T*860Q
M>F-Y8F5R<V5A<F-H+F-O;0T*860Q,3DN:'!G+F-O;2YB< T*860Q,3DN:'!G
M+FYE=`T*860Q,BYD;W5B;&5C;&EC:RYB90T*860Q,BYE<F%S97)C87-H+F-O
M;0T*860Q,BYE>F-Y8F5R<V5A<F-H+F-O;0T*860Q,BYF;V-A;&EN:RYC;VT-
M;BYR=0T*860Q,BYP87EC;W5N="YC;VT-"F%D,3(N<&]P=7!A9"YN970-"F%D
M860Q,C`N:'!G+F-O;2YB< T*860Q,C`N:'!G+FEG+F-O;2YB< T*860Q,C`N
M860Q,C(N97IC>6)E<G-E87)C:"YC;VT-"F%D,3(R+FAP9RYC;VTN8G(-"F%D
M,3(R+FAP9RYI9RYC;VTN8G(-"F%D,3(R+G!A>6-O=6YT+F-O;0T*860Q,C(N
M8F5R<V5A<F-H+F-O;0T*860Q,C,N:'!G+F-O;2YB< T*860Q,C,N:'!G+FEG
M=`T*860Q,C0N97)A<V5R8V%S:"YC;VT-"F%D,3(T+F5Z8WEB97)S96%R8V N
M<F%S97)C87-H+F-O;0T*860Q,C4N97IC>6)E<G-E87)C:"YC;VT-"F%D,3(U
M+FAP9RYC;VTN8G(-"F%D,3(U+FAP9RYI9RYC;VTN8G(-"F%D,3(U+G!A>6-O
M=6YT+F-O;0T*860Q,C4N<&]P=7!A9"YN970-"F%D,3(V+F5R87-E<F-A<V N
M87)C:"YC;VT-"F%D,3(X+FAP9RYC;VTN8G(-"F%D,3(X+FAP9RYI9RYC;VTN
M8G(-"F%D,3(X+G!A>6-O=6YT+F-O;0T*860Q,C N<&]P=7!A9"YN970-"F%D
M860Q,CDN:'!G+F-O;2YB< T*860Q,CDN:'!G+FEG+F-O;2YB< T*860Q,CDN
M;&EC:RYB90T*860Q,RYE<F%S97)C87-H+F-O;0T*860Q,RYE>F-Y8F5R<V5A
M<F-H+F-O;0T*860Q,RYF;V-A;&EN:RYC;VT-"F%D,3,N:'!G+F-O;2YB< T*
M="YC;VT-"F%D,3,N<&]P=7!A9"YN970-"F%D,3,P+F5R87-E<F-A<V N8V]M
M,"YP;W!U<&%D+FYE=`T*860Q,S$N97)A<V5R8V%S:"YC;VT-"F%D,3,Q+F5Z
M:"YC;VT-"F%D,3,R+FAP9RYC;VTN8G(-"F%D,3,R+FAP9RYI9RYC;VTN8G(-
M"F%D,3,R+G!A>6-O=6YT+F-O;0T*860Q,S(N<&]P=7!A9"YN970-"F%D,3,S
M,S,N:'!G+F-O;2YB< T*860Q,S,N:'!G+FEG+F-O;2YB< T*860Q,S,N<&%Y
M,S4N97IC>6)E<G-E87)C:"YC;VT-"F%D,3,U+FAP9RYC;VTN8G(-"F%D,3,U
M+FAP9RYI9RYC;VTN8G(-"F%D,3,U+G!A>6-O=6YT+F-O;0T*860Q,S4N<&]P
M<V5A<F-H+F-O;0T*860Q,S8N:'!G+F-O;2YB< T*860Q,S8N:'!G+FEG+F-O
M860Q,S<N97)A<V5R8V%S:"YC;VT-"F%D,3,W+F5Z8WEB97)S96%R8V N8V]M
M97)C87-H+F-O;0T*860Q,S N97IC>6)E<G-E87)C:"YC;VT-"F%D,3,X+FAP
M9RYC;VTN8G(-"F%D,3,X+FAP9RYI9RYC;VTN8G(-"F%D,3,X+G!A>6-O=6YT
M+F-O;0T*860Q,S N<&]P=7!A9"YN970-"F%D,3,Y+F5R87-E<F-A<V N8V]M
M.2YP;W!U<&%D+FYE=`T*860Q-"YD;W5B;&5C;&EC:RYB90T*860Q-"YE<F%S
M97)C87-H+F-O;0T*860Q-"YE>F-Y8F5R<V5A<F-H+F-O;0T*860Q-"YF;V-A
M;&EN:RYC;VT-"F%D,30N:'!G+F-O;2YB< T*860Q-"YH<&<N:6<N8V]M+F)R
M8G(-"F%D,30Q+FAP9RYI9RYC;VTN8G(-"F%D,30Q+G!A>6-O=6YT+F-O;0T*
M"F%D,30T+FAP9RYC;VTN8G(-"F%D,30T+FAP9RYI9RYC;VTN8G(-"F%D,30T
M>6)E<G-E87)C:"YC;VT-"F%D,30W+FAP9RYC;VTN8G(-"F%D,30W+FAP9RYI
M87)C:"YC;VT-"F%D,34P+FAP9RYC;VTN8G(-"F%D,34P+FAP9RYI9RYC;VTN
M8G(-"F%D,34P+G!A>6-O=6YT+F-O;0T*860Q-3`N<&]P=7!A9"YN970-"F%D
M860Q-3$N:'!G+F-O;2YB< T*860Q-3$N:'!G+FEG+F-O;2YB< T*860Q-3$N
M860Q-3,N97IC>6)E<G-E87)C:"YC;VT-"F%D,34S+FAP9RYC;VTN8G(-"F%D
M,34S+FAP9RYI9RYC;VTN8G(-"F%D,34S+G!A>6-O=6YT+F-O;0T*860Q-3,N
M8F5R<V5A<F-H+F-O;0T*860Q-30N:'!G+F-O;2YB< T*860Q-30N:'!G+FEG
M=`T*860Q-34N97)A<V5R8V%S:"YC;VT-"F%D,34U+F5Z8WEB97)S96%R8V N
M<F%S97)C87-H+F-O;0T*860Q-38N97IC>6)E<G-E87)C:"YC;VT-"F%D,34V
M+FAP9RYC;VTN8G(-"F%D,34V+FAP9RYI9RYC;VTN8G(-"F%D,34V+G!A>6-O
M=6YT+F-O;0T*860Q-38N<&]P=7!A9"YN970-"F%D,34W+F5R87-E<F-A<V N
M87)C:"YC;VT-"F%D,34Y+FAP9RYC;VTN8G(-"F%D,34Y+FAP9RYI9RYC;VTN
M8G(-"F%D,34Y+G!A>6-O=6YT+F-O;0T*860Q-3DN<&]P=7!A9"YN970-"F%D
M,38N9&]U8FQE8VQI8VLN8F4-"F%D,38N97)A<V5R8V%S:"YC;VT-"F%D,38N
M9RYC;VTN8G(-"F%D,38N:'!G+FEG+F-O;2YB< T*860Q-BYP87EC;W5N="YC
M;W!U<&%D+FYE=`T*860Q-C$N97)A<V5R8V%S:"YC;VT-"F%D,38Q+F5Z8WEB
M;VT-"F%D,38R+FAP9RYC;VTN8G(-"F%D,38R+FAP9RYI9RYC;VTN8G(-"F%D
M,38R+G!A>6-O=6YT+F-O;0T*860Q-C(N<&]P=7!A9"YN970-"F%D,38S+F5R
M:'!G+F-O;2YB< T*860Q-C,N:'!G+FEG+F-O;2YB< T*860Q-C,N<&%Y8V]U
M97IC>6)E<G-E87)C:"YC;VT-"F%D,38U+FAP9RYC;VTN8G(-"F%D,38U+FAP
M9RYI9RYC;VTN8G(-"F%D,38U+G!A>6-O=6YT+F-O;0T*860Q-C4N<&]P=7!A
M<F-H+F-O;0T*860Q-C8N:'!G+F-O;2YB< T*860Q-C8N:'!G+FEG+F-O;2YB
M87-H+F-O;0T*860Q-C N97IC>6)E<G-E87)C:"YC;VT-"F%D,38X+FAP9RYC
M;VTN8G(-"F%D,38X+FAP9RYI9RYC;VTN8G(-"F%D,38X+G!A>6-O=6YT+F-O
M;W!U<&%D+FYE=`T*860Q-RYD;W5B;&5C;&EC:RYB90T*860Q-RYE<F%S97)C
M87-H+F-O;0T*860Q-RYE>F-Y8F5R<V5A<F-H+F-O;0T*860Q-RYF;V-A;&EN
M;0T*860Q-S$N97IC>6)E<G-E87)C:"YC;VT-"F%D,3<Q+FAP9RYC;VTN8G(-
M"F%D,3<Q+FAP9RYI9RYC;VTN8G(-"F%D,3<Q+G!A>6-O=6YT+F-O;0T*860Q
M>F-Y8F5R<V5A<F-H+F-O;0T*860Q-S(N:'!G+F-O;2YB< T*860Q-S(N:'!G
M+FYE=`T*860Q-S,N97)A<V5R8V%S:"YC;VT-"F%D,3<S+F5Z8WEB97)S96%R
M-"YE<F%S97)C87-H+F-O;0T*860Q-S0N97IC>6)E<G-E87)C:"YC;VT-"F%D
M,3<T+FAP9RYC;VTN8G(-"F%D,3<T+FAP9RYI9RYC;VTN8G(-"F%D,3<T+G!A
M>6-O=6YT+F-O;0T*860Q-S0N<&]P=7!A9"YN970-"F%D,3<U+F5R87-E<F-A
M;2YB< T*860Q-S4N:'!G+FEG+F-O;2YB< T*860Q-S4N<&%Y8V]U;G0N8V]M
M<G-E87)C:"YC;VT-"F%D,3<W+FAP9RYC;VTN8G(-"F%D,3<W+FAP9RYI9RYC
M;VTN8G(-"F%D,3<W+G!A>6-O=6YT+F-O;0T*860Q-S<N<&]P=7!A9"YN970-
M;0T*860Q-S N:'!G+F-O;2YB< T*860Q-S N:'!G+FEG+F-O;2YB< T*860Q
M:"YC;VT-"F%D,3 P+FAP9RYC;VTN8G(-"F%D,3 P+FAP9RYI9RYC;VTN8G(-
M9RYC;VTN8G(-"F%D,3 V+FAP9RYI9RYC;VTN8G(-"F%D,3 V+G!A>6-O=6YT
M:"YC;VT-"F%D,3 Y+FAP9RYC;VTN8G(-"F%D,3 Y+FAP9RYI9RYC;VTN8G(-
M"F%D,3 Y+G!A>6-O=6YT+F-O;0T*860Q.#DN<&]P=7!A9"YN970-"F%D,3DN
M9&]U8FQE8VQI8VLN8F4-"F%D,3DN97)A<V5R8V%S:"YC;VT-"F%D,3DN97IC
M;VTN8G(-"F%D,3DN:'!G+FEG+F-O;2YB< T*860Q.2YP87EC;W5N="YC;VT-
M,"YE>F-Y8F5R<V5A<F-H+F-O;0T*860Q.3`N:'!G+F-O;2YB< T*860Q.3`N
M<&%D+FYE=`T*860Q.3$N97)A<V5R8V%S:"YC;VT-"F%D,3DQ+F5Z8WEB97)S
M"F%D,3DR+FAP9RYC;VTN8G(-"F%D,3DR+FAP9RYI9RYC;VTN8G(-"F%D,3DR
M+G!A>6-O=6YT+F-O;0T*860Q.3(N<&]P=7!A9"YN970-"F%D,3DS+F5R87-E
M+F-O;2YB< T*860Q.3,N:'!G+FEG+F-O;2YB< T*860Q.3,N<&%Y8V]U;G0N
M>6)E<G-E87)C:"YC;VT-"F%D,3DU+FAP9RYC;VTN8G(-"F%D,3DU+FAP9RYI
M9RYC;VTN8G(-"F%D,3DU+G!A>6-O=6YT+F-O;0T*860Q.34N<&]P=7!A9"YN
M+F-O;0T*860Q.38N:'!G+F-O;2YB< T*860Q.38N:'!G+FEG+F-O;2YB< T*
M+F-O;0T*860Q.3 N97IC>6)E<G-E87)C:"YC;VT-"F%D,3DX+FAP9RYC;VTN
M8G(-"F%D,3DX+FAP9RYI9RYC;VTN8G(-"F%D,3DX+G!A>6-O=6YT+F-O;0T*
M.2YE>F-Y8F5R<V5A<F-H+F-O;0T*860Q.3DN:'!G+F-O;2YB< T*860Q.3DN
M;F5R<RYR=0T*860R+F%S:70N9&4-"F%D,BYA<W8N9&4-"F%D,BYA=&QA<RYC
M> T*860R+F)A;FYE<F)A;FLN<G4-"F%D,BYB8BYR=0T*860R+F)I;&QB;V%R
M9&]U8FQE8VQI8VLN8F4-"F%D,BYD;W5B;&5C;&EC:RYC;VT-"F%D,BYD;W5B
M;&5C;&EC:RYN970-"F%D,BYE<F%S97)C87-H+F-O;0T*860R+F5Z8WEB97)S
?860R+FAP9RYI9RYC;VTN8G(-"F%D,BYL8F4N<G4-"C(N
`
end
Sep 08 2003
Is this on linux ? I had a bug that when reading in a file using eof(), if the file did not end in a new line it would seg fault, or just hang forever. Charles "kw" <kw_member pathlink.com> wrote in message news:bjid97$169c$1 digitaldaemon.com...import stream; void main() { int[char[]] esdom; File f = new File("data.txt"); while(!f.eof()) esdom[f.readLine()] = 0; f.close(); esdom.rehash; } DMD 0.71 With the attached data.txt file, rehash never ends (or takes a looongtime). Ifyou remove/change the last line of data.txt, rehash does its stuff in ablink.
Sep 08 2003
In article <bjikil$1h4t$1 digitaldaemon.com>, Charles Sanders says...Is this on linux ? I had a bug that when reading in a file using eof(), if the file did not end in a new line it would seg fault, or just hang forever.No, Windows. It also can be reproduced without using files.
Sep 08 2003









kw <kw_member pathlink.com> 