Questions? Feedback?powered byOlark live chat software

Standard Support

Bug 1950

Orca refresh target fails with big project 05 December, 2018

Valdas Vaitiekaitis
04 December, 2018
Product: PowerBuilder Category: IDE
Version: 2017 R3 Publishing: Public
Status: Scheduling Priority: P3
Classification: Enhancement Resolution:
Chris Pollach 05 December, 2018
Hi Valdas,

  Thank you for that valuable information!

  The 255 object PBL limitation was a restriction a very long time ago. That was corrected by PowerSoft & Sybase many releases ago. Sounds like your issue might be  in the ORCA / PBC utilities themselves.

  PS: Don't forget to optimize your PBL's on a regular basis. This helps with PBL space management and also removing PB object class "ghost" source code images.

Regards ... Chris
Valdas Vaitiekaitis 05 December, 2018
I found the culprit here, some of my PBL files had too many objects in them, I split them into separate PBLs and now everything works! I have a suspicion that max amount of objects in one PBL is around 255, could this number be increased?
Ken Guo 05 December, 2018
Hi Valdas,

Thanks for your suggestions. I’ve transferred it as new requirement to the development team hoping that: there will be a Full Log mode for ORCA and PBC; when this Full Log is on, it records very detailed logs, which helps in locating problems.

Regards,
Ken
Valdas Vaitiekaitis 05 December, 2018
Hello Chris and Ken,

Thank you for your answers.

Yes, via PB IDE compilation succeeds without any hick-ups, for now I am using a PowerShell script that looks something like that:

pb170.exe /w $buildFolder\saikasw.pbw /d /out $buildFolder\build.log | Out-Null

However in that way only PBL files are compiled and objects inside them are not updated so I need to do that manually.

I tried scc refresh target incremental, migrate, full and 3pass, all fail. Also after each failed scc refresh or pbc /d build workspace becomes corrupt and event PB IDE is unable to open it, I have to restore it from backup.

I do understand that it is close to impossible to fix a bug that you can not reproduce, but maybe there is some undocumented way to enable some kind of verbose logging for orca and/or pbc?
Ken Guo 04 December, 2018
HI Valdas,

Is the still the problem if you use the below Orca scripts, i.e. execute incremental once before 3pass?
start session
set debug true
scc set connect property localprojpath ".\" 
scc set connect property logfile "OrcaRefreshPBLs.log"
scc set connect property logappend false
scc connect offline
scc set target "saikasw.pbt" "importonly"
scc refresh target incremental
scc refresh target 3pass
scc close
end session

Regards,
Ken
Chris Pollach 04 December, 2018
FYI .... 

Usage notes for OrcaScript commands with SVN/Git
You can use "scc connect offline" to compile the source code managed by the SVN/Git source control system in PowerBuilder 2017 R3; while you cannot use "scc connect" to connect with the SVN/Git server or get the source code from the server. Therefore, the following OrcaScript source control commands do not work with the SVN/Git solution in R3:

scc connect
scc get connect properties workspaceName
scc get latest version file_list [file_list ...]
The commands related with connecting to the server such as "scc set connect property userid userID", "scc set connect property password password" etc. will be simply ignored.

The following example shows you how to use the OrcaScript source control command to compile the source code from the SVN/Git source control system in R3.

start session 
scc set connect property localprojpath "D:\temp_svn" 
;localprojpath must point to the parent directory of ws_objects folder
scc set connect property logfile  "D:\temp_svn\svnorca.log" 
scc set connect property logappend false
scc set connect property deletetempfiles "true"
scc connect offline
scc set target "D:\temp_svn\datawindow_json.pbt" "refresh_all importonly"
scc refresh target "3pass" 
build library "D:\temp_svn\datawindow_json.pbl" "" pbd 
build library "D:\temp_svn\appeon_workarounds.pbl" "" pbd
build library "D:\temp_svn\qa_frame.pbl" "" pbd
build executable "D:\temp_svn\datawindow_json.exe" "" "" "yyy"
scc close
end session

scc set connect property localprojpath -- Specifies the parent directory of the ws_objects folder. This example supposes ws_objects is located in D:\temp_svn.

scc connect offline -- Copies the objects from ws_objects up one level, that is, to the path specified in localprojpath (and it establishes no connection with the server). Objects with the same name in different PBL files will be overwritten.

scc set target -- Refreshes the object list in the PBL file according to the objects copied from ws_objects. The PBG file is no longer used by the SVN/Git solution to map and refresh objects in the PBL file.

scc close -- Closes the session and clears the objects copied to the localprojpath path. The objects will not be cleared, if the OrcaScript commands are terminated by the user or by errors.
Chris Pollach 04 December, 2018
Hi Valdas;
  
   Thank you for testing the PBC as well and finding a workaround that way.

Does the application compile OK via the PB IDE?

Regards ... Chris
Valdas Vaitiekaitis 04 December, 2018
Standalone compiler pbc170 also fails without error if workspace is added to Git source control, if I disconnect it from source control and remove ws_objects folder then pbc succeeds.

Command prompt output looks like this:

C:\>pbc170.exe /d "C:\SAIKASW_17b\saikasw.pbt" /o "C:\SAIKASW_17b\saikasw.exe" /w n /f /m n /x 32 /bg y /p "Saikas" /cp "Saikas, UAB" /de "SaikasW application" /cr "(C) 1998-2019 Saikas, UAB" /v "5.17" /vn "5.17.0.0" /fv "5.17" /fvn "5.17.0.0" /ge 0
C:\SAIKASW_17b\saikasw.pbt
Mapped the source files in ws_objects to the workspace path successfully.
c:\saikasw_17b\objects.pbl
c:\saikasw_17b\window.pbl
c:\saikasw_17b\system.pbl
c:\saikasw_17b\saikasw.pbl
c:\saikasw_17b\ataskait.pbl
c:\saikasw_17b\atsargos.pbl
c:\saikasw_17b\balansas.pbl
c:\saikasw_17b\data_1.pbl
c:\saikasw_17b\dialogai.pbl
c:\saikasw_17b\draud_ivyk.pbl
c:\saikasw_17b\formos_spec.pbl
c:\saikasw_17b\formos_spec2.pbl
c:\saikasw_17b\formos_atsarg.pbl
c:\saikasw_17b\formos_balans.pbl
c:\saikasw_17b\formos_blanku.pbl
c:\saikasw_17b\formos_saikas3.pbl
c:\saikasw_17b\formos_saikas2.pbl
c:\saikasw_17b\formos_ilg.pbl
c:\saikasw_17b\formos_sist.pbl
c:\saikasw_17b\draud_klasif.pbl
c:\saikasw_17b\ived.pbl
c:\saikasw_17b\ived_3.pbl
c:\saikasw_17b\ived_4.pbl
c:\saikasw_17b\kainynas.pbl
c:\saikasw_17b\klasif.pbl
c:\saikasw_17b\koregavimai.pbl
c:\saikasw_17b\normat_data.pbl
c:\saikasw_17b\normat_ived.pbl
c:\saikasw_17b\perv_duom.pbl
c:\saikasw_17b\pirkpard.pbl
c:\saikasw_17b\uzsakymai.pbl
c:\saikasw_17b\draud_pranesimai.pbl
c:\saikasw_17b\draud_tarifai.pbl
c:\saikasw_17b\formos_draud.pbl
c:\saikasw_17b\atl_dialogai.pbl
c:\saikasw_17b\atl_ived.pbl
c:\saikasw_17b\atl_klasif.pbl
c:\saikasw_17b\atl_formos.pbl

C:\>
Valdas Vaitiekaitis 04 December, 2018
OrcaRefreshPBLs.log (3KB)

*Phenomenon:
I have a big project with 38 pbls over 6000 objects, and I have this simple Orca script:

start session
set debug true
scc set connect property localprojpath ".\" 
scc set connect property logfile "OrcaRefreshPBLs.log"
scc set connect property logappend false
scc connect offline
scc set target "saikasw.pbt" "importonly"
scc refresh target 3pass
scc close
end session

This script fails without any error messages, see attached log file.

I tried switching refresh type and refresh target, same result.

This script works without issues with smaller projects.

I can not share the pbls.
OS:
Windows 10 
Platform:
64-bit 
Database Type:
SAP ASA 
Database Version:
n/a