Page 1 of 1

Error during filtering

PostPosted: Fri Dec 30, 2016 8:54 am
by Meisterkeks
Hello,

I have created a statistical filter, which in turn contains 5 different combined statistics.

Image

If I want to use the filter I get the following error message:

Image

Application Log:

INFO [ACTIVITY]: Complex Filter - 52 Kombi1706-1710 - apply - 52 Kombi1706-1710: All must pass on 204.205 tickets in the Package
INFO [com.expertlotto.filtering.impl.AbstractFilterExecutor]: Error during filtering.
java.lang.OutOfMemoryError: Map failed
at sun.nio.ch.FileChannelImpl.map0(Native Method)
Caused: java.io.IOException: Map failed
at sun.nio.ch.FileChannelImpl.map(Unknown Source)
at com.expertlotto.stats.impl.counter.MemMapIntervalCounterImpl.<init>(MemMapIntervalCounterImpl.java:75)
at com.expertlotto.stats.impl.counter.IntervalCounter$1.createCounter(IntervalCounter.java:209)
at com.expertlotto.stats.api.IndexAnalyzer.createCounters(IndexAnalyzer.java:152)
at com.expertlotto.stats.api.IndexAnalyzer.prepare(IndexAnalyzer.java:131)
at com.expertlotto.stats.impl.filter.FilterImpl.analyzeDraws(FilterImpl.java:222)
at com.expertlotto.stats.impl.filter.FilterImpl.prepare(FilterImpl.java:118)
at com.expertlotto.stats.impl.filter.StatsTicketFilter.prepare(StatsTicketFilter.java:47)
at com.expertlotto.filtering.api.WnTicketFilter.prepare(WnTicketFilter.java:55)
at com.expertlotto.filtering.complex.InvertedTicketFilter.prepare(InvertedTicketFilter.java:52)
at com.expertlotto.filtering.complex.GroupFilter.prepare(GroupFilter.java:92)
[catch] at com.expertlotto.filtering.impl.ApplyFilterRunner.run(ApplyFilterRunner.java:95)
at java.lang.Thread.run(Unknown Source)
INFO [com.expertlotto.filtering.impl.AbstractFilterExecutor]: Error during filtering.
java.lang.NullPointerException
at com.expertlotto.stats.api.ApiAccessorImpl.getDrawAccessor(ApiAccessorImpl.java:66)
at com.expertlotto.stats.impl.filter.FilterImpl.prepare(FilterImpl.java:135)
at com.expertlotto.stats.impl.filter.StatsTicketFilter.prepare(StatsTicketFilter.java:47)
at com.expertlotto.filtering.api.WnTicketFilter.prepare(WnTicketFilter.java:55)
at com.expertlotto.filtering.complex.InvertedTicketFilter.prepare(InvertedTicketFilter.java:52)
at com.expertlotto.filtering.complex.GroupFilter.prepare(GroupFilter.java:92)
[catch] at com.expertlotto.filtering.impl.ApplyFilterRunner.run(ApplyFilterRunner.java:95)
at java.lang.Thread.run(Unknown Source)
INFO [ACTIVITY]: Complex Filter - 52 Kombi1706-1710 - accepted 0 tickets (52 Kombi1706-1710: All must pass)
INFO [performance]: Filtering speed: 0/s (0:00:04)



If I use the Combined Statistic individually, each filter works (# 1706, 1707, ...) !!

I have many such statistical filters which all work.

Where can the error occur with the above filter?

Re: Error during filtering

PostPosted: Fri Dec 30, 2016 6:15 pm
by stan
The problem is that the application ran out of available memory, see here how to adjust your memory settings: viewtopic.php?f=14&t=2175

Re: Error during filtering

PostPosted: Sat Dec 31, 2016 11:21 am
by Meisterkeks
OK, I think I have to proceed like this:

franmotta wrote:NOTE: To change the Xmx value, you must have Java 64bit installed. It is also recommended to use a specific editor for programming language (I used TextWrangler - MacOSX), because a common text editor can generate an error in the original formation of the file "expertlotto.conf", which is essentially a Java file.

STEP BY STEP
1. Open the file expertlotto.conf using the "open with" (in this step, choose open with text editor);
2. On the line that appears - "branding expertlotto-J-Xms32m" - change the Xms value to a Xmx value (never exceed 50% of your memory capacity). In my case, I changed "-J-Xms32m" to "-J-Xmx1g"
3. For me it worked like a charm!
4. The attached picture is just to show the line that needs to be edited.
ATTACHMENTS
download/file.php?id=1809&mode=view


Java 64Bit I installed:

Image

Image

Current file expertlotto.conf:

# ${HOME} will be replaced by user home directory according to platform
default_userdir="${HOME}/.${APPNAME}/release"
default_mac_userdir="${HOME}/Library/Application Support/${APPNAME}/release"
# options used by the launcher by default, can be overridden by explicit
# command line switches
default_options="--branding expertlotto -J-Xms32m -J-Dapple.laf.useScreenMenuBar=true -J-Dsun.java2d.noddraw=true -J-Duser.language.czech=sk -J-Dnetbeans.logger.console=true -J-Dsun.java2d.dpiaware=true"
# for development purposes you may wish to append: -J-Dnetbeans.logger.console=true -J-ea
# default location of JDK/JRE, can be overridden by using --jdkhome <dir> switch
#jdkhome="/path/to/jdk"
# clusters' paths separated by path.separator (semicolon on Windows, colon on Unices)
#extra_clusters=

Now I have made the following change:

J-Xms32m
changed to
J-Xmx1g

The error is still unchanged - can you still help?

If I change to
J-Xmx2g
then I can not start ExpertLotto?

Re: Error during filtering

PostPosted: Sun Jan 01, 2017 12:50 am
by dreamweaver
Hi Meisterkeks,

Read this post, this may help you !!


viewtopic.php?f=14&t=2658&p=22812&hilit=memory#p22812

Also remember that you need 64 bit Java runtime if you want to allocate more than 800Mb of RAM for the application, otherwise the application may fail to start.

Cheers

Re: Error during filtering

PostPosted: Sun Jan 01, 2017 7:48 am
by Meisterkeks
Hello dreamweaver,

many, many thanks now the calculation has worked!

:D :D :D

Re: Error during filtering

PostPosted: Sun Jan 01, 2017 9:55 am
by Meisterkeks
EDIT :D