Bug 5417

Beta 2019 R3 - Error deploying Powerclient c/s App - Failed to split PBD files. 18 October, 2020

Enrico Fuoti
09 October, 2020
Product: PowerBuilder Category: PowerClient
Version: 2019 R3 Beta Build: 2556
Classification: Issue Publishing: Public
Priority: P3
Status: Closed Reason: RESOLVED
Zhao Kai @Appeon 18 October, 2020
#13
Hi Enrico,

Thanks for your quick update. I will close this ticket! If you have any further question please open a new ticket.

Regards,
ZhaoKai
Enrico Fuoti 16 October, 2020
#12
(In reply to Zhao Kai @Appeon from comment #11)
presenze.pbl

Hi Enrico,

Thanks for providing these files. I reproduced the issue with the
presenze.pbl even though I deleted all objects in it. 
I open presenze.pbl in notepad and find the line below and other data
(please refer to the attached pbl file for details). It seems it is a PBL
created by PB 6. These data might be the redundant data generated in PB 6.

c : \ p b 6 _ a p p s \ p r e s e n z e \ p r e s e n z e . p b l           


Regards,
ZhaoKai
I see, probably the pbl structure was somehow corrupted. This explains why recreating a new one from scratch fixed it. thank you for all your help.. :)
Zhao Kai @Appeon 16 October, 2020
#11
presenze.pbl

Hi Enrico,

Thanks for providing these files. I reproduced the issue with the presenze.pbl even though I deleted all objects in it. 
I open presenze.pbl in notepad and find the line below and other data (please refer to the attached pbl file for details). It seems it is a PBL created by PB 6. These data might be the redundant data generated in PB 6.

c : \ p b 6 _ a p p s \ p r e s e n z e \ p r e s e n z e . p b l                 

Regards,
ZhaoKai
Enrico Fuoti 14 October, 2020
#10
presenze.zip (3825KB)

(In reply to Zhao Kai @Appeon from comment #9)
Hi Enrico,

That’s very kind of you! Please provide the presenze.pbl and presenze.pbd to
us for more study, thank you!

The effect of the resource file tab in Powerclient can be considered the
same as that of the PBR file, but they don’t impact each other. You can add
any files here. 


Regards,
ZhaoKai
Zao, attached are the files that cause the problrm. I attach also the same pbl and pbd that I recreated just moving the single modules that worked. Just in case they may be of any help.
Zhao Kai @Appeon 13 October, 2020
#9
Hi Enrico,

That’s very kind of you! Please provide the presenze.pbl and presenze.pbd to us for more study, thank you!

The effect of the resource file tab in Powerclient can be considered the same as that of the PBR file, but they don’t impact each other. You can add any files here. 


Regards,
ZhaoKai
Enrico Fuoti 13 October, 2020
#8
(In reply to Zhao Kai @Appeon from comment #7)
PBR

Hi Enrico,

Glad to hear that you solved the issue. The c:\pb6_apps\presenze might
possibly be used in the PBR file, please check it. I reproduced the issue
with the steps below.

1 Create a PBR file and add an image file with a full path.
2 Go to Application project > Libraries tab to specify the PBR file for PBL.
3 Deploy PB application to generate a PBD file(as shown as attached).
4 Add the PBD file to the library list of the PowerClient application.
5 Deploy the PowerClient application then I got the same error.
 
Regards,
ZhaoKai
Hi Zao, Aìl file paths in my .pbr are relative. In my case the problem should be somewhere else. Maybe the pbl structure had some sort of problem that remained even after migration and disappeard recreating .it? This pbl was originally created many years ago with pb6. Anyway it works now. If you want I have no problem on sending you the original "defective" presenze.pbl and presenze.pbd. btw, if i can, what is the scope of resource file tab in Powerclient if we already have a pbr file? Should it contain the same files listed in the pbr?
Zhao Kai @Appeon 12 October, 2020
#7
PBR

Hi Enrico,

Glad to hear that you solved the issue. The c:\pb6_apps\presenze might possibly be used in the PBR file, please check it. I reproduced the issue with the steps below.

1 Create a PBR file and add an image file with a full path.
2 Go to Application project > Libraries tab to specify the PBR file for PBL.
3 Deploy PB application to generate a PBD file(as shown as attached).
4 Add the PBD file to the library list of the PowerClient application.
5 Deploy the PowerClient application then I got the same error.
 
Regards,
ZhaoKai
Enrico Fuoti 12 October, 2020
#6
(In reply to Zhao Kai @Appeon from comment #5)
Hi Enrico,

Thanks for providing the log file. According to the log below, the cause of
it should be that the resource files (e.g. pictures) you packaged to the
presenze.pbd use an absolute path(c:\pb6_apps\presenze\xxxx). When
PowerCilent is deploying, it will try to split the objects and resource
files in presenze.pbd, the absolute path will cause this issue.

2020-10-10 17:02:10.397 ERROR [3820] [CPbdSplitter::Execute@63] Failed to
make directory
C:\Users\efuot\AppData\Local\Temp\pbdcache\presenze.pbd\c:\pb6_apps\presenze.

Please solve the issue via one of the ways below.
1.	Use presenze.pbl instead of presenze.pbd.
2.	Use the relative path to the resource files and then regenerate
presenze.pbd.

BTW, we found that if the pbl/pbd list is updated, you should create a new
PowerClient C/S app project. Otherwise, the deployment will fail. We will
escalate this problem to our development team for further analysis.

Regards,
ZhaoKai
Thank you Zao, I was not able to find where "c:\pb6_apps\presenze" resource was used within my library module. But knowing that the problem was in that pbl helped a lot. So i tried Ianother approach. Created a new library and moved each single module to it. After that Powerclient correctly deployed the application. I'm not sure why this fixed the deployment, because if there was some absolute path in the code itshould still be there somewhere. Anyway it worked, i'm telling you just to give you some more information that could be useful for you. Enrico
Zhao Kai @Appeon 12 October, 2020
#5
Hi Enrico,

Thanks for providing the log file. According to the log below, the cause of it should be that the resource files (e.g. pictures) you packaged to the presenze.pbd use an absolute path(c:\pb6_apps\presenze\xxxx). When PowerCilent is deploying, it will try to split the objects and resource files in presenze.pbd, the absolute path will cause this issue.

2020-10-10 17:02:10.397 ERROR [3820] [CPbdSplitter::Execute@63] Failed to make directory C:\Users\efuot\AppData\Local\Temp\pbdcache\presenze.pbd\c:\pb6_apps\presenze.

Please solve the issue via one of the ways below.
1.	Use presenze.pbl instead of presenze.pbd.
2.	Use the relative path to the resource files and then regenerate presenze.pbd.

BTW, we found that if the pbl/pbd list is updated, you should create a new PowerClient C/S app project. Otherwise, the deployment will fail. We will escalate this problem to our development team for further analysis.

Regards,
ZhaoKai
Enrico Fuoti 10 October, 2020
#4
libcagen.log (2KB)

(In reply to Zhao Kai @Appeon from comment #2)
Hi Enrico,

Please full build the application and make sure there is no error. Please
follow the steps below to generate the libcagen.log for us for more study,
thanks.

1 Download attached libcagen.dll.
2 Close PB IDE.
3 Backup file C:\Program Files (x86)\Appeon\PowerBuilder 19.0\libcagen.dll.
4 Replace the above file with the downloaded one.
5 Open PB and deploy the application.

Then you can find the libcagen.log under C:\Program Files
(x86)\Appeon\PowerBuilder 19.0\log.

Regards,
ZhaoKai
thank you Chris and ZhaoKai, Attatched is the generated log.. I tried to run pb either in normal and Administrator mode. result is the same.
Zhao Kai @Appeon 10 October, 2020
#3
libcagen.dll
Zhao Kai @Appeon 10 October, 2020
#2
Hi Enrico,

Please full build the application and make sure there is no error. Please follow the steps below to generate the libcagen.log for us for more study, thanks.

1 Download attached libcagen.dll.
2 Close PB IDE.
3 Backup file C:\Program Files (x86)\Appeon\PowerBuilder 19.0\libcagen.dll.
4 Replace the above file with the downloaded one.
5 Open PB and deploy the application.

Then you can find the libcagen.log under C:\Program Files (x86)\Appeon\PowerBuilder 19.0\log.

Regards,
ZhaoKai
Chris Pollach @Appeon 09 October, 2020
#1
Hi Enrico;

  Thank you for reporting this problem and especially, for testing the PB 2019 R3 Beta!

  I have no more information on what could cause this and have not personally encountered this with my test apps. So I will now transfer this ticket over to the main Engineering Team for their feedback on what might be causing this problem.

Regards ... Chris
Enrico Fuoti 09 October, 2020
I have a pretty big app that has 32 PBDs
When deploying the app with PowerClient cs,  the pbd files are correctly created, but deployement fails with the following message.

Failed to split the PBD files
Failed to publish the PowerClient app
Unfortunately There is no hint to help me understandwhere the problem may be.
ps. Deployment to the same server succed with a smaller application.

*Reproduce Steps:


Remarks:
OS:
Windows 10
Platform:
64-bit
Database Type:
SAP SQL Anywhere
Database Version:
17