byronknoll/cmix

crash in win10

dontnoun opened this issue · 22 comments

it works very good in win7 64bit os(128GB RAM), but
it always crash in win10 pro 64bit(32GB RAM) os

Thanks - can you give more information to help debug? Is there any error message when it crashes? Did you use the executable from the cmix website or compile it yourself?

I downloaded
cmix-v11-windows.zip
cmix-v10-windows.zip
cmix-v9-windows.zip
from http://www.byronknoll.com/cmix.html
all of them do not work in "my win10 ", there is no any details error message, just popup a window say, the program is closed

os info : win10 pro 64bit (32GB RAM) english version(ASUS laptop)

Thanks - it might be difficult for me to debug (I don't have access to any win10 machines). In case you are willing, we might be able to fix it if we try a few different methods to narrow down the problem. Probably the most likely thing to fix it is compiling your own cmix binary. I recommend using MinGW (http://nuwen.net/mingw.html). Another thing you can try is running (or compiling) cmix within Cygwin (https://www.cygwin.com). In case win10 has any "compatibility mode" for running binaries compiled from older Windows versions, maybe that is also worth trying.

tried win10 compatibility win7 mode, does not work

compiled with MinGW, but it still does not work, just crash
Z:\MinGW\cmix>g++ --version
g++ (GCC) 6.1.0
Copyright (C) 2016 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

Z:\MinGW\cmix>mingw32-make
g++ -std=c++11 -Wall -c -Ofast -march=native -s src/preprocess/preprocessor.cpp -o build/preprocessor.o
In file included from src/preprocess/preprocessor.cpp:28:0:
src/preprocess/textfilter.cpp: In member function 'void WRT::encodeWord(FILE_, unsigned char_, int, WRT::EWordType)':
src/preprocess/textfilter.cpp:503:3: warning: this 'else' clause does not guard... [-Wmisleading-indentation]
else
^~~~
src/preprocess/textfilter.cpp:506:4: note: ...this statement, but the latter is misleadingly indented as if it is guarded by the 'else'
encodeCodeWord(i,fileout);
^~~~~~~~~~~~~~
src/preprocess/textfilter.cpp: In member function 'void WRT::WRT_start_decoding(FILE_, FILE_, int, FILE*)':
src/preprocess/textfilter.cpp:2184:2: warning: this 'if' clause does not guard... [-Wmisleading-indentation]
if (!initialize((longDictLen<=0)?NULL:s,(shortDictLen<=0)?NULL:t,false,english_dictionary))
^~
src/preprocess/textfilter.cpp:2187:3: note: ...this statement, but the latter is misleadingly indented as if it is guarded by the 'if'
{
^
src/preprocess/textfilter.cpp:2219:4: warning: this 'else' clause does not guard... [-Wmisleading-indentation]
else
^~~~
src/preprocess/textfilter.cpp:2225:5: note: ...this statement, but the latter is misleadingly indented as if it is guarded by the 'else'
if (IF_OPTION(OPTION_SPACELESS_WORDS))
^~
g++ -std=c++11 -Wall -c -Ofast -march=native -s src/coder/encoder.cpp -o build/encoder.o
g++ -std=c++11 -Wall -c -Ofast -march=native -s src/coder/decoder.cpp -o build/decoder.o
g++ -std=c++11 -Wall -c -Ofast -march=native -s src/predictor.cpp -o build/predictor.o
g++ -std=c++11 -Wall -c -Ofast -march=native -s src/mixer/logistic.cpp -o build/logistic.o
g++ -std=c++11 -Wall -c -Ofast -march=native -s src/mixer/mixer-input.cpp -o build/mixer-input.o
g++ -std=c++11 -Wall -c -Ofast -march=native -s src/mixer/mixer.cpp -o build/mixer.o
g++ -std=c++11 -Wall -c -Ofast -march=native -s src/mixer/byte-mixer.cpp -o build/byte-mixer.o
g++ -std=c++11 -Wall -c -Ofast -march=native -s src/models/byte-model.cpp -o build/byte-model.o
g++ -std=c++11 -Wall -c -Ofast -march=native -s src/mixer/sse.cpp -o build/sse.o
g++ -std=c++11 -Wall -c -Ofast -march=native -s src/manager.cpp -o build/manager.o
g++ -std=c++11 -Wall -c -Ofast -march=native -s src/models/direct.cpp -o build/direct.o
g++ -std=c++11 -Wall -c -Ofast -march=native -s src/models/direct-hash.cpp -o build/direct-hash.o
g++ -std=c++11 -Wall -c -Ofast -march=native -s src/models/indirect.cpp -o build/indirect.o
g++ -std=c++11 -Wall -c -Ofast -march=native -s src/states/nonstationary.cpp -o build/nonstationary.o
g++ -std=c++11 -Wall -c -Ofast -march=native -s src/states/run-map.cpp -o build/run-map.o
g++ -std=c++11 -Wall -c -Ofast -march=native -s src/models/byte-run.cpp -o build/byte-run.o
g++ -std=c++11 -Wall -c -Ofast -march=native -s src/models/match.cpp -o build/match.o
g++ -std=c++11 -Wall -c -Ofast -march=native -s src/models/dmc.cpp -o build/dmc.o
g++ -std=c++11 -Wall -c -Ofast -march=native -s src/models/ppm.cpp -o build/ppm.o
g++ -std=c++11 -Wall -c -Ofast -march=native -s src/models/ppmd.cpp -o build/ppmd.o
src/models/ppmd.cpp: In member function '{anonymous}::ppmd_Model::STATE& {anonymous}::ppmd_Model::PPM_CONTEXT::oneState() const':
src/models/ppmd.cpp:435:45: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
STATE& oneState() const { return (STATE&) SummFreq; }
^~~~~~~~
g++ -std=c++11 -Wall -c -Ofast -march=native -s src/models/bracket.cpp -o build/bracket.o
g++ -std=c++11 -Wall -c -Ofast -march=native -s src/models/paq8l.cpp -o build/paq8l.o
g++ -std=c++11 -Wall -c -Ofast -march=native -s src/models/paq8hp.cpp -o build/paq8hp.o
g++ -std=c++11 -Wall -c -Ofast -march=native -s src/contexts/bracket-context.cpp -o build/bracket-context.o
g++ -std=c++11 -Wall -c -Ofast -march=native -s src/contexts/context-hash.cpp -o build/context-hash.o
g++ -std=c++11 -Wall -c -Ofast -march=native -s src/contexts/sparse.cpp -o build/sparse.o
g++ -std=c++11 -Wall -c -Ofast -march=native -s src/contexts/indirect-hash.cpp -o build/indirect-hash.o
g++ -std=c++11 -Wall -c -Ofast -march=native -s src/contexts/interval.cpp -o build/interval.o
g++ -std=c++11 -Wall -c -Ofast -march=native -s src/contexts/interval-hash.cpp -o build/interval-hash.o
g++ -std=c++11 -Wall -c -Ofast -march=native -s src/contexts/bit-context.cpp -o build/bit-context.o
g++ -std=c++11 -Wall -Ofast -march=native -s build/preprocessor.o build/encoder.o build/decoder.o build/predictor.o build/logistic.o build/mixer-input.o build/mixer.o build/byte-mixer.o build/byte-model.o build/sse.o build/manager.o build/direct.o build/direct-hash.o build/indirect.o build/nonstationary.o build/run-map.o build/byte-run.o build/match.o build/dmc.o build/ppm.o build/ppmd.o build/bracket.o build/paq8l.o build/paq8hp.o build/bracket-context.o build/context-hash.o build/sparse.o build/indirect-hash.o build/interval.o build/interval-hash.o build/bit-context.o src/runner.cpp -o cmix

downloading cygwin, later I will try compile with cygwin

installed cygwin and compiled
it need some dll files to run cmix.exe
cyggcc_s-seh-1.dll
cygstdc++-6.dll
cygwin1.dll
copied those files to cmix.exe folder and tried to run>
cmix.exe

got :

With preprocessing:
compress: cmix -c [dictionary] [input] [output]
decompress: cmix -d [dictionary] [input] [output]
Without preprocessing:
compress: cmix -c [input] [output]

decompress: cmix -d [input] [output]

tried to run>
cmix.exe -c README aaa.lpm

got

1 [main] cmix 1040 cygwin_exception::open_stackdumpfile: Dumping stack trace to cmix.exe.stackdump

crashed but got a dump file called cmix.exe.stackdump:

Exception: STATUS_ACCESS_VIOLATION at rip=00100431AFF
rax=0000000000000000 rbx=00000000FFFF8000 rcx=0000000000000001
rdx=0000000000000000 rsi=0000000000000001 rdi=0000000000010001
r8 =0000000000000002 r9 =0000000000000100 r10=0000000000000000
r11=0000000000000000 r12=000006F9E044F000 r13=00000000000007FB
r14=0000000000008000 r15=0000000000000200
rbp=0000000600065D40 rsp=00000000FFFFBE80
program=C:\cygwin64\home\xxxxxxx\cmix\cmix.exe, pid 1040, thread main
cs=0033 ds=002B es=002B fs=0053 gs=002B ss=002B
Stack trace:
Frame Function Args
00600065D40 00100431AFF (0010043BFC7, 00000000000, 00000000000, 00000000000)
006000E86F8 00100432A79 (00000000000, 00000000000, 00000000000, 00000000000)
006000E86F8 00100404ADF (00000000000, 000FFFFC001, 000FFFFC130, 00000000000)
00000000063 001004039AC (0000000001A, 000FFFFC260, 7FFD20B9E910, 000006CAE70)
00000000063 001004400B3 (0018031D920, 000FFFFCB70, 0018019BE1E, 00000000000)
0000000000F 0010044BB94 (000FFFFCC6B, 00000000003, 00000000030, FF0700010302FF00)
000FFFFCCC0 00180047BD2 (00000000000, 00000000000, 00000000000, 00000000000)
00000000000 0018004591C (00000000000, 00000000000, 00000000000, 00000000000)
000FFFFFFF0 001800459B4 (00000000000, 00000000000, 00000000000, 00000000000)
End of stack trace

Thanks for helping debug this! From the output message you got using the cygwin compile, it looks like you are using an older version of cmix. Older versions have some known problems with Windows. Can you try switching to the latest version?

Also, after compiling with MinGW, did you get any output message with running cmix.exe without any arguments?

~/cmix-master
$ make
g++ -std=c++11 -Wall -c -Ofast -march=native -s src/preprocess/preprocessor.cpp -o build/preprocessor.o
g++ -std=c++11 -Wall -c -Ofast -march=native -s src/coder/encoder.cpp -o build/encoder.o
g++ -std=c++11 -Wall -c -Ofast -march=native -s src/coder/decoder.cpp -o build/decoder.o
g++ -std=c++11 -Wall -c -Ofast -march=native -s src/predictor.cpp -o build/predictor.o
g++ -std=c++11 -Wall -c -Ofast -march=native -s src/mixer/logistic.cpp -o build/logistic.o
g++ -std=c++11 -Wall -c -Ofast -march=native -s src/mixer/mixer-input.cpp -o build/mixer-input.o
g++ -std=c++11 -Wall -c -Ofast -march=native -s src/mixer/mixer.cpp -o build/mixer.o
g++ -std=c++11 -Wall -c -Ofast -march=native -s src/mixer/byte-mixer.cpp -o build/byte-mixer.o
g++ -std=c++11 -Wall -c -Ofast -march=native -s src/models/byte-model.cpp -o build/byte-model.o
g++ -std=c++11 -Wall -c -Ofast -march=native -s src/mixer/sse.cpp -o build/sse.o
g++ -std=c++11 -Wall -c -Ofast -march=native -s src/manager.cpp -o build/manager.o
g++ -std=c++11 -Wall -c -Ofast -march=native -s src/models/direct.cpp -o build/direct.o
g++ -std=c++11 -Wall -c -Ofast -march=native -s src/models/direct-hash.cpp -o build/direct-hash.o
g++ -std=c++11 -Wall -c -Ofast -march=native -s src/models/indirect.cpp -o build/indirect.o
g++ -std=c++11 -Wall -c -Ofast -march=native -s src/states/nonstationary.cpp -o build/nonstationary.o
g++ -std=c++11 -Wall -c -Ofast -march=native -s src/states/run-map.cpp -o build/run-map.o
g++ -std=c++11 -Wall -c -Ofast -march=native -s src/models/byte-run.cpp -o build/byte-run.o
g++ -std=c++11 -Wall -c -Ofast -march=native -s src/models/match.cpp -o build/match.o
g++ -std=c++11 -Wall -c -Ofast -march=native -s src/models/dmc.cpp -o build/dmc.o
g++ -std=c++11 -Wall -c -Ofast -march=native -s src/models/ppm.cpp -o build/ppm.o
g++ -std=c++11 -Wall -c -Ofast -march=native -s src/models/ppmd.cpp -o build/ppmd.o
g++ -std=c++11 -Wall -c -Ofast -march=native -s src/models/bracket.cpp -o build/bracket.o
g++ -std=c++11 -Wall -c -Ofast -march=native -s src/models/paq8l.cpp -o build/paq8l.o
g++ -std=c++11 -Wall -c -Ofast -march=native -s src/models/paq8hp.cpp -o build/paq8hp.o
g++ -std=c++11 -Wall -c -Ofast -march=native -s src/contexts/bracket-context.cpp -o build/bracket-context.o
g++ -std=c++11 -Wall -c -Ofast -march=native -s src/contexts/context-hash.cpp -o build/context-hash.o
g++ -std=c++11 -Wall -c -Ofast -march=native -s src/contexts/sparse.cpp -o build/sparse.o
g++ -std=c++11 -Wall -c -Ofast -march=native -s src/contexts/indirect-hash.cpp -o build/indirect-hash.o
g++ -std=c++11 -Wall -c -Ofast -march=native -s src/contexts/interval.cpp -o build/interval.o
g++ -std=c++11 -Wall -c -Ofast -march=native -s src/contexts/interval-hash.cpp -o build/interval-hash.o
g++ -std=c++11 -Wall -c -Ofast -march=native -s src/contexts/bit-context.cpp -o build/bit-context.o
g++ -std=c++11 -Wall -Ofast -march=native -s build/preprocessor.o build/encoder.o build/decoder.o build/predictor.o build/logistic.o build/mixer-input.o build/mixer.o build/byte-mixer.o build/byte-model.o build/sse.o build/manager.o build/direct.o build/direct-hash.o build/indirect.o build/nonstationary.o build/run-map.o build/byte-run.o build/match.o build/dmc.o build/ppm.o build/ppmd.o build/bracket.o build/paq8l.o build/paq8hp.o build/bracket-context.o build/context-hash.o build/sparse.o build/indirect-hash.o build/interval.o build/interval-hash.o build/bit-context.o src/runner.cpp -o cmix

image

cmix.exe.stackdump:

Exception: STATUS_ACCESS_VIOLATION at rip=00100431AFF
rax=0000000000000000 rbx=00000000FFFF8000 rcx=0000000000000001
rdx=0000000000000000 rsi=0000000000000001 rdi=0000000000010001
r8 =0000000000000002 r9 =0000000000000100 r10=0000000000000000
r11=0000000000000000 r12=000006F9E044F020 r13=00000000000007FB
r14=0000000000008000 r15=0000000000000200
rbp=0000000600065D50 rsp=00000000FFFFBE80
program=C:\cygwin64\home\xxxxxxxxxx\cmix-master\cmix.exe, pid 5244, thread main
cs=0033 ds=002B es=002B fs=0053 gs=002B ss=002B
Stack trace:
Frame Function Args
00600065D50 00100431AFF (0010043BFC7, 00000000000, 00000000000, 00000000000)
006000E8708 00100432A79 (00000000000, 00000000000, 00000000000, 00000000000)
006000E8708 00100404ADF (00000000000, 000FFFFC001, 000FFFFC130, 00000000000)
00000000063 001004039AC (0000000001A, 000FFFFC260, 7FFD20B9E910, 000000EC620)
00000000063 001004400B3 (0018031D920, 000FFFFCB70, 0018019BE1E, 00000000000)
0000000001F 0010044BB94 (000FFFFCC6B, 00000000003, 00000000030, FF0700010302FF00)
000FFFFCCC0 00180047BD2 (00000000000, 00000000000, 00000000000, 00000000000)
00000000000 0018004591C (00000000000, 00000000000, 00000000000, 00000000000)
000FFFFFFF0 001800459B4 (00000000000, 00000000000, 00000000000, 00000000000)
End of stack trace

Z:\MinGW\cmix>mingw32-make
g++ -std=c++11 -Wall -c -Ofast -march=native -s src/preprocess/preprocessor.cpp -o build/preprocessor.o
In file included from src/preprocess/preprocessor.cpp:28:0:
src/preprocess/textfilter.cpp: In member function 'void WRT::encodeWord(FILE_, unsigned char_, int, WRT::EWordType)':
src/preprocess/textfilter.cpp:503:3: warning: this 'else' clause does not guard... [-Wmisleading-indentation]
else
^~~~
src/preprocess/textfilter.cpp:506:4: note: ...this statement, but the latter is misleadingly indented as if it is guarded by the 'else'
encodeCodeWord(i,fileout);
^~~~~~~~~~~~~~
src/preprocess/textfilter.cpp: In member function 'void WRT::WRT_start_decoding(FILE_, FILE_, int, FILE*)':
src/preprocess/textfilter.cpp:2184:2: warning: this 'if' clause does not guard... [-Wmisleading-indentation]
if (!initialize((longDictLen<=0)?NULL:s,(shortDictLen<=0)?NULL:t,false,english_dictionary))
^~
src/preprocess/textfilter.cpp:2187:3: note: ...this statement, but the latter is misleadingly indented as if it is guarded by the 'if'
{
^
src/preprocess/textfilter.cpp:2219:4: warning: this 'else' clause does not guard... [-Wmisleading-indentation]
else
^~~~
src/preprocess/textfilter.cpp:2225:5: note: ...this statement, but the latter is misleadingly indented as if it is guarded by the 'else'
if (IF_OPTION(OPTION_SPACELESS_WORDS))
^~
g++ -std=c++11 -Wall -c -Ofast -march=native -s src/coder/encoder.cpp -o build/encoder.o
g++ -std=c++11 -Wall -c -Ofast -march=native -s src/coder/decoder.cpp -o build/decoder.o
g++ -std=c++11 -Wall -c -Ofast -march=native -s src/predictor.cpp -o build/predictor.o
g++ -std=c++11 -Wall -c -Ofast -march=native -s src/mixer/logistic.cpp -o build/logistic.o
g++ -std=c++11 -Wall -c -Ofast -march=native -s src/mixer/mixer-input.cpp -o build/mixer-input.o
g++ -std=c++11 -Wall -c -Ofast -march=native -s src/mixer/mixer.cpp -o build/mixer.o
g++ -std=c++11 -Wall -c -Ofast -march=native -s src/mixer/byte-mixer.cpp -o build/byte-mixer.o
g++ -std=c++11 -Wall -c -Ofast -march=native -s src/models/byte-model.cpp -o build/byte-model.o
g++ -std=c++11 -Wall -c -Ofast -march=native -s src/mixer/sse.cpp -o build/sse.o
g++ -std=c++11 -Wall -c -Ofast -march=native -s src/manager.cpp -o build/manager.o
g++ -std=c++11 -Wall -c -Ofast -march=native -s src/models/direct.cpp -o build/direct.o
g++ -std=c++11 -Wall -c -Ofast -march=native -s src/models/direct-hash.cpp -o build/direct-hash.o
g++ -std=c++11 -Wall -c -Ofast -march=native -s src/models/indirect.cpp -o build/indirect.o
g++ -std=c++11 -Wall -c -Ofast -march=native -s src/states/nonstationary.cpp -o build/nonstationary.o
g++ -std=c++11 -Wall -c -Ofast -march=native -s src/states/run-map.cpp -o build/run-map.o
g++ -std=c++11 -Wall -c -Ofast -march=native -s src/models/byte-run.cpp -o build/byte-run.o
g++ -std=c++11 -Wall -c -Ofast -march=native -s src/models/match.cpp -o build/match.o
g++ -std=c++11 -Wall -c -Ofast -march=native -s src/models/dmc.cpp -o build/dmc.o
g++ -std=c++11 -Wall -c -Ofast -march=native -s src/models/ppm.cpp -o build/ppm.o
g++ -std=c++11 -Wall -c -Ofast -march=native -s src/models/ppmd.cpp -o build/ppmd.o
src/models/ppmd.cpp: In member function '{anonymous}::ppmd_Model::STATE& {anonymous}::ppmd_Model::PPM_CONTEXT::oneState() const':
src/models/ppmd.cpp:435:45: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
STATE& oneState() const { return (STATE&) SummFreq; }
^~~~~~~~
g++ -std=c++11 -Wall -c -Ofast -march=native -s src/models/bracket.cpp -o build/bracket.o
g++ -std=c++11 -Wall -c -Ofast -march=native -s src/models/paq8l.cpp -o build/paq8l.o
g++ -std=c++11 -Wall -c -Ofast -march=native -s src/models/paq8hp.cpp -o build/paq8hp.o
g++ -std=c++11 -Wall -c -Ofast -march=native -s src/contexts/bracket-context.cpp -o build/bracket-context.o
g++ -std=c++11 -Wall -c -Ofast -march=native -s src/contexts/context-hash.cpp -o build/context-hash.o
g++ -std=c++11 -Wall -c -Ofast -march=native -s src/contexts/sparse.cpp -o build/sparse.o
g++ -std=c++11 -Wall -c -Ofast -march=native -s src/contexts/indirect-hash.cpp -o build/indirect-hash.o
g++ -std=c++11 -Wall -c -Ofast -march=native -s src/contexts/interval.cpp -o build/interval.o
g++ -std=c++11 -Wall -c -Ofast -march=native -s src/contexts/interval-hash.cpp -o build/interval-hash.o
g++ -std=c++11 -Wall -c -Ofast -march=native -s src/contexts/bit-context.cpp -o build/bit-context.o
g++ -std=c++11 -Wall -Ofast -march=native -s build/preprocessor.o build/encoder.o build/decoder.o build/predictor.o build/logistic.o build/mixer-input.o build/mixer.o build/byte-mixer.o build/byte-model.o build/sse.o build/manager.o build/direct.o build/direct-hash.o build/indirect.o build/nonstationary.o build/run-map.o build/byte-run.o build/match.o build/dmc.o build/ppm.o build/ppmd.o build/bracket.o build/paq8l.o build/paq8hp.o build/bracket-context.o build/context-hash.o build/sparse.o build/indirect-hash.o build/interval.o build/interval-hash.o build/bit-context.o src/runner.cpp -o cmix

image

[Window Title]
cmix.exe

[Main Instruction]
cmix.exe has stopped working

[Content]
A problem caused the program to stop working correctly. Windows will close the program and notify you if a solution is available.

[Close program]
image

hmm, I am still not sure what the problem is. One other thing you can try doing is running cmix within cygwin, rather than just using cygwin to compile it.

If you have time, here is the next debugging step I would recommend: compile cmix with "make debug". Then you can use gdb (within cygwin) to get more information about the failure:

  1. gdb cmix.exe
  2. run -c README aaa.lmp
  3. some debug message may be output when it crashes. To get a stack trace, you can type "back" to get a stack trace.

sorry, I am not a c++ programer, yesterday I have just aware how to compile c++ code (from google)

I try searched compile with debug mode, but not found valuable info
could you tell me detail info about:
1 how to running cmix within cygwin?
2 how to compile cmix with "make debug"?
thanks!

After opening cygwin you should get a terminal (similar to the Windows cmd.exe). Navigate to the cmix directory with "cd". Usually you compile cmix using "make". However, to enable debugging you can compile using "make debug". In case you already compiled something in that directory, you can clear the previous compile using "make clean". After compiling, you can run cmix within Cygwin the standard way: "cmix.exe".

paq81.cpp : line 1859

image

Perfect, that gives much more information. I will take a closer look at this when I have some free time.

usually newer microsoft's OS eat up more RAM than older, but win10 not,
I compared several difference apps running on win7 and win10,
same app running on win 10 , it use less RAM than win7, that means, microsoft's did something for
optimize RAM usage or RAM management,
Cmix take a lot of RAM, maybe the problem is there, just a guess

To me this looks like a bug in cmix, not an issue with available RAM. I'll probably have a chance to look into the bug in more detail this weekend.

hmm, I am still having trouble finding the bug. One theory is that your RAM might be corrupted - could you try running again in gdb to see if it segfaults at the same line? After the segfault, can you try typing "print i", "print j", and "print t[j*256+i]" to get some more information?

close and restart
tried run second and third time,but got diff error:
image

Yeah, that is suspicious that you got a different error when re-running it. My current theory is a problem with your RAM. Could you try running some diagnostics on your ram - try a google search for [check ram for errors].

I am attaching two files. One thing you can try is copying the contents of these files into "predictor.cpp" and recompiling to see if cmix works. "predictor-a.txt" completely disables the model that was failing for you, and "predictor-b.txt" changes the memory parameter for the model.

predictor-a.txt
predictor-b.txt

my Laptop has 32GB RAM, scaned RAM, do not find error
but finaly found the Problem, I installed a low Level RAM disk(9GB) as buffer disk, it called Qsoft RAMdrive, it simulate a Hardware
just disabled this Ram Disk, restart Computer, Cmix works good
obversely there are some Resource Conflict between the Ramdisk and Cmix
maybe it is better, add a line to Cmix doc, disable ramdisk first before run Cmix :-)

thanks a lot !

untitled

untitled1

Great, nice to hear that you figured out the issue.