waitBest returning Null pointer exception

Asked by Chetan

we are passigng an array of image names and it is returning null exception when using latest methdod waitBest.
however we earlier used findbest like SearchRegion.findBest(name) and it used to work fine
search regrions is defined as
  SearchRegion= Region(width//2,0,width//2,height//2)

# passed png names with wait time as 5 seconds
name: ['ExtensionPinDropDownFeat', 'ExtensionPinDropDownLocal']
waitTime: 5
code
ctrl=SearchRegion.waitBest(waitTime,name)

2021-04-06 05:10:16,897 INFO Image Names: ['ExtensionPinDropDownFeat', 'ExtensionPinDropDownLocal']
2021-04-06 05:10:16,907 INFO waitTime: 5
2021-04-06 05:10:18,260 ERROR Traceback (most recent call last):
  File "C:\p4\Automations\FeatTests\FEAT\Web Capture\Browser Integration\Frictionless_ChromeExtn\TestFiles\CompressPDFClick.sikuli\CompressPDFClick.py", line 22, in <module>
    AddExtension.openChromeAndAddExtension()
  File "C:\p4\Automations\FeatTests\FEAT\Web Capture\Browser Integration\Frictionless_ChromeExtn\TestFiles\AddExtension.py", line 146, in openChromeAndAddExtension
    addExtension()
  File "C:\p4\Automations\FeatTests\FEAT\Web Capture\Browser Integration\Frictionless_ChromeExtn\TestFiles\AddExtension.py", line 67, in addExtension
    extensionPinDropDown=acrobat.getObjectByImage(["ExtensionPinDropDownFeat","ExtensionPinDropDownLocal"],reg)
  File "C:\p4\Automations\FeatTests\Common\UIAutomation\acrobat.sikuli\findObj.py", line 188, in getObjectByImage
    obj= searchImage(name,regionToSearch,waitTime)
  File "C:\p4\Automations\FeatTests\Common\UIAutomation\acrobat.sikuli\findObj.py", line 104, in searchImage
    ctrl=SearchRegion.waitBest(waitTime,name)
NullPointerException: java.lang.NullPointerException

debug logs
[debug] Region: Key.WIN as modifier
[debug] ( Windows ) TYPE "#UP."
[debug] Region: ( Windows ) TYPE "#UP."
[debug] OCR: start: Tess4J 4.5.4 using Tesseract 4.1.x
[debug] Finder2: makeMat: INT_RGB (1920x1080)
[debug] Finder2: doFindText: Home found: 1 times (3108 msec)
[debug] highlight M[16,54 43x14]On(0) S 93 for 1.0 secs
[debug] highlight R[10,70 1536x1010]@S(0) for 1.0 secs
[debug] Region: wait: waiting 0.0 secs for to appear in R[10,70 1536x1010]@S(0)
[debug] Region: doFind: Switching to TextSearch
[debug] OCR: start: Tess4J 4.5.4 using Tesseract 4.1.x
[debug] Finder2: makeMat: INT_RGB (1536x1010)
[debug] Finder2: doFindText: Rich Media123 (1682 msec): not found
[debug] Region: handleFindFailed: Rich Media123
[debug] Region: wait: did not appear [1682 msec]
[debug] waitBest: enter
[debug] findAnyCollect: waiting for SubFindRuns
[debug] Image: reused: RichMediaToolsLocal.png (file:/C:/Perf/Work/Groups/AntiPirates/PDFNext/Automations/FeatTests/FEAT/Unified%20Share/UI_Automation/TestFiles/AcroUIImageRepo/RichMediaToolsLocal.png)
[debug] Image: reused: RichMediaToolsFeat.png (file:/C:/Perf/Work/Groups/AntiPirates/PDFNext/Automations/FeatTests/FEAT/Unified%20Share/UI_Automation/TestFiles/AcroUIImageRepo/RichMediaToolsFeat.png)
[debug] Finder2: makeMat: INT_RGB (1536x1010)
[debug] Finder2: makeMat: 3BYTE_BGR (105x91)
[debug] Finder2: doFindImage: start (stdDev: 121.0247 mean: 709.128938)
[debug] Finder2: makeMat: INT_RGB (1536x1010)
[debug] Finder2: makeMat: 3BYTE_BGR (104x88)
[debug] Finder2: doFindImage: start (stdDev: 126.2426 mean: 705.851617)
[debug] Finder2: doFindImage: in original: %30.2462 (?70) 204 msec
[debug] Finder2: doFindImage: end 204 msec
[debug] Finder2: doFindImage: in original: %32.0198 (?70) 194 msec
[debug] Finder2: doFindImage: end 194 msec
[debug] Finder2: makeMat: INT_RGB (1536x1010)
[debug] Finder2: doFindImage: start (stdDev: 126.2426 mean: 705.851617)
[debug] Finder2: makeMat: INT_RGB (1536x1010)
[debug] Finder2: doFindImage: start (stdDev: 121.0247 mean: 709.128938)
[debug] Finder2: doFindImage: in original: %32.0198 (?70) 200 msec
[debug] Finder2: doFindImage: end 200 msec
[debug] Finder2: doFindImage: in original: %30.2462 (?70) 186 msec
[debug] Finder2: doFindImage: end 186 msec
[debug] Finder2: makeMat: INT_RGB (1536x1010)
[debug] Finder2: doFindImage: start (stdDev: 126.2426 mean: 705.851617)
[debug] Finder2: makeMat: INT_RGB (1536x1010)
[debug] Finder2: doFindImage: start (stdDev: 121.0247 mean: 709.128938)
[debug] Finder2: doFindImage: in original: %32.0198 (?70) 201 msec
[debug] Finder2: doFindImage: end 201 msec
[debug] Finder2: doFindImage: in original: %30.2462 (?70) 195 msec
[debug] Finder2: doFindImage: end 195 msec
[debug] Finder2: makeMat: INT_RGB (1536x1010)
[debug] Finder2: doFindImage: start (stdDev: 126.2426 mean: 705.851617)
[debug] Finder2: makeMat: INT_RGB (1536x1010)
[debug] Finder2: doFindImage: start (stdDev: 121.0247 mean: 709.128938)
[debug] Finder2: doFindImage: in original: %32.0198 (?70) 205 msec
[debug] Finder2: doFindImage: end 205 msec
[debug] Finder2: doFindImage: in original: %30.2462 (?70) 187 msec
[debug] Finder2: doFindImage: end 187 msec
[debug] Finder2: makeMat: INT_RGB (1536x1010)
[debug] Finder2: doFindImage: start (stdDev: 126.2426 mean: 705.851617)
[debug] Finder2: makeMat: INT_RGB (1536x1010)
[debug] Finder2: doFindImage: start (stdDev: 121.0247 mean: 709.128938)
[debug] Finder2: doFindImage: in original: %32.0198 (?70) 208 msec
[debug] Finder2: doFindImage: end 208 msec
[debug] Finder2: doFindImage: in original: %30.2462 (?70) 194 msec
[debug] Finder2: doFindImage: end 194 msec
[debug] Finder2: makeMat: INT_RGB (1536x1010)
[debug] Finder2: doFindImage: start (stdDev: 121.0247 mean: 709.128938)
[debug] Finder2: makeMat: INT_RGB (1536x1010)
[debug] Finder2: doFindImage: start (stdDev: 126.2426 mean: 705.851617)
[debug] Finder2: doFindImage: in original: %30.2462 (?70) 194 msec
[debug] Finder2: doFindImage: end 194 msec
[debug] Finder2: doFindImage: in original: %32.0198 (?70) 184 msec
[debug] Finder2: doFindImage: end 184 msec
[debug] Finder2: makeMat: INT_RGB (1536x1010)
[debug] Finder2: doFindImage: start (stdDev: 121.0247 mean: 709.128938)
[debug] Finder2: makeMat: INT_RGB (1536x1010)
[debug] Finder2: doFindImage: start (stdDev: 126.2426 mean: 705.851617)
[debug] Finder2: doFindImage: in original: %30.2462 (?70) 171 msec
[debug] Finder2: doFindImage: end 171 msec
[debug] Finder2: doFindImage: in original: %32.0198 (?70) 162 msec
[debug] Finder2: doFindImage: end 162 msec
[debug] Finder2: makeMat: INT_RGB (1536x1010)
[debug] Finder2: doFindImage: start (stdDev: 126.2426 mean: 705.851617)
[debug] Finder2: makeMat: INT_RGB (1536x1010)
[debug] Finder2: doFindImage: start (stdDev: 121.0247 mean: 709.128938)
[debug] Finder2: doFindImage: in original: %32.0198 (?70) 208 msec
[debug] Finder2: doFindImage: end 208 msec
[debug] Finder2: doFindImage: in original: %30.2462 (?70) 193 msec
[debug] Finder2: doFindImage: end 193 msec
[debug] Finder2: makeMat: INT_RGB (1536x1010)
[debug] Finder2: doFindImage: start (stdDev: 126.2426 mean: 705.851617)
[debug] Finder2: makeMat: INT_RGB (1536x1010)
[debug] Finder2: doFindImage: start (stdDev: 121.0247 mean: 709.128938)
[debug] Finder2: doFindImage: in original: %32.0198 (?70) 205 msec
[debug] Finder2: doFindImage: end 205 msec
[debug] Finder2: doFindImage: in original: %30.2462 (?70) 187 msec
[debug] Finder2: doFindImage: end 188 msec
[debug] Finder2: makeMat: INT_RGB (1536x1010)
[debug] Finder2: doFindImage: start (stdDev: 126.2426 mean: 705.851617)
[debug] Finder2: makeMat: INT_RGB (1536x1010)
[debug] Finder2: doFindImage: start (stdDev: 121.0247 mean: 709.128938)
[debug] Finder2: doFindImage: in original: %32.0198 (?70) 242 msec
[debug] Finder2: doFindImage: end 242 msec
[debug] Finder2: doFindImage: in original: %30.2462 (?70) 212 msec
[debug] Finder2: doFindImage: end 213 msec
[debug] Finder2: makeMat: INT_RGB (1536x1010)
[debug] Finder2: doFindImage: start (stdDev: 126.2426 mean: 705.851617)
[debug] Finder2: makeMat: INT_RGB (1536x1010)
[debug] Finder2: doFindImage: start (stdDev: 121.0247 mean: 709.128938)
[debug] Finder2: doFindImage: in original: %32.0198 (?70) 277 msec
[debug] Finder2: doFindImage: end 277 msec
[debug] Finder2: doFindImage: in original: %30.2462 (?70) 267 msec
[debug] Finder2: doFindImage: end 268 msec
[debug] Finder2: makeMat: INT_RGB (1536x1010)
[debug] Finder2: doFindImage: start (stdDev: 126.2426 mean: 705.851617)
[debug] Finder2: makeMat: INT_RGB (1536x1010)
[debug] Finder2: doFindImage: start (stdDev: 121.0247 mean: 709.128938)
[debug] Finder2: doFindImage: in original: %32.0198 (?70) 277 msec
[debug] Finder2: doFindImage: end 277 msec
[debug] Finder2: doFindImage: in original: %30.2462 (?70) 230 msec
[debug] Finder2: doFindImage: end 230 msec
[debug] Finder2: makeMat: INT_RGB (1536x1010)
[debug] Finder2: doFindImage: start (stdDev: 126.2426 mean: 705.851617)
[debug] Finder2: makeMat: INT_RGB (1536x1010)
[debug] Finder2: doFindImage: start (stdDev: 121.0247 mean: 709.128938)
[debug] Finder2: doFindImage: in original: %32.0198 (?70) 230 msec
[debug] Finder2: doFindImage: end 230 msec
[debug] Finder2: doFindImage: in original: %30.2462 (?70) 217 msec
[debug] Finder2: doFindImage: end 217 msec
[debug] Finder2: makeMat: INT_RGB (1536x1010)
[debug] Finder2: doFindImage: start (stdDev: 126.2426 mean: 705.851617)
[debug] Finder2: makeMat: INT_RGB (1536x1010)
[debug] Finder2: doFindImage: start (stdDev: 121.0247 mean: 709.128938)
[debug] Finder2: doFindImage: in original: %32.0198 (?70) 257 msec
[debug] Finder2: doFindImage: end 258 msec
[debug] Finder2: doFindImage: in original: %30.2462 (?70) 229 msec
[debug] Finder2: doFindImage: end 229 msec
[debug] Finder2: makeMat: INT_RGB (1536x1010)
[debug] Finder2: doFindImage: start (stdDev: 126.2426 mean: 705.851617)
[debug] Finder2: makeMat: INT_RGB (1536x1010)
[debug] Finder2: doFindImage: start (stdDev: 121.0247 mean: 709.128938)
[debug] Finder2: doFindImage: in original: %32.0198 (?70) 267 msec
[debug] Finder2: doFindImage: end 267 msec
[debug] Finder2: makeMat: INT_RGB (1536x1010)
[debug] Finder2: doFindImage: in original: %30.2462 (?70) 274 msec
[debug] Finder2: doFindImage: end 274 msec
[debug] Finder2: doFindImage: start (stdDev: 126.2426 mean: 705.851617)
[debug] Finder2: makeMat: INT_RGB (1536x1010)
[debug] Finder2: doFindImage: start (stdDev: 121.0247 mean: 709.128938)
[debug] Finder2: doFindImage: in original: %32.0198 (?70) 256 msec
[debug] Finder2: doFindImage: end 256 msec
[debug] Finder2: doFindImage: in original: %30.2462 (?70) 247 msec
[debug] Finder2: doFindImage: end 247 msec
[debug] Finder2: makeMat: INT_RGB (1536x1010)
[debug] Finder2: doFindImage: start (stdDev: 126.2426 mean: 705.851617)
[debug] Finder2: makeMat: INT_RGB (1536x1010)
[debug] Finder2: doFindImage: start (stdDev: 121.0247 mean: 709.128938)
[debug] Finder2: doFindImage: in original: %32.0198 (?70) 366 msec
[debug] Finder2: doFindImage: end 366 msec
[debug] Finder2: doFindImage: in original: %30.2462 (?70) 352 msec
[debug] Finder2: doFindImage: end 352 msec
[debug] Finder2: makeMat: INT_RGB (1536x1010)
[debug] Finder2: doFindImage: start (stdDev: 126.2426 mean: 705.851617)
[debug] Finder2: makeMat: INT_RGB (1536x1010)
[debug] Finder2: doFindImage: start (stdDev: 121.0247 mean: 709.128938)
[debug] Finder2: doFindImage: in original: %100.0000 (?70) 318 msec
[debug] Finder2: doFindImage: end 318 msec
[debug] waitAnyCollect: first SubFindRun finished
[debug] highlight M[1282,253 104x88]On(0) S 10000 for 1.0 secs
[debug] Finder2: doFindImage: in original: %82.6407 (?70) 282 msec
[debug] Finder2: doFindImage: end 282 msec

Question information

Language:
English (Canada) Edit question
Status:
Open
For:
SikuliX Edit question
Assignee:
No assignee Edit question
Last query:
Last reply:
Revision history for this message
Manfred Hampl (m-hampl) said :
#1

If you have got the names of the images in an array, then you should use waitBestList instead of waitBest

https://sikulix-2014.readthedocs.io/en/latest/region.html#find-more-than-one-image-in-a-region-at-the-same-time

@RaiMan:
There is a error in the documentation:
The waitTime parameter is missing in waitBestList(ListPS), should probably be waitBestList(waitTime, ListPS)

Revision history for this message
Chetan (cshamdas) said :
#2

Hi Manfred
Thanks for the reply.i have made the changes and used waitBestList but i doubt that it will work as if i use waitBest then same code works on my machine but when i run it on deployment machine then it fails
however findBest that we were using earlier works on both machines

fingers cross will update results soon.
however if we have anything else that i can try then let me know

Revision history for this message
Chetan (cshamdas) said :
#3

i tried using waitBestList() but saw the same exception
[printSikuliLogs@244] ctrl=SearchRegion.waitBestList(waitTime,name)
[printSikuliLogs@244] NullPointerException: java.lang.NullPointerException

Revision history for this message
Chetan (cshamdas) said :
#4

any workaround would be appreciated here as it is blocking us

Revision history for this message
Manfred Hampl (m-hampl) said :
#5

General advice (not sure whether involved here):
Avoid "common" words for variable names, like "name" etc.
This may lead to a clash with internally used objects,

Revision history for this message
Chetan (cshamdas) said :
#6

yes makes sense Manfred i would follow that and makes.
however issues is not related to it

Revision history for this message
tom latham (tomijanes23) said :
#7

I have been facing that issue for the https://juicewrldmerch999.shop/ and need some helps for that.

Can you help with this problem?

Provide an answer of your own, or ask Chetan for more information if necessary.

To post a message you must log in.