FBCMD.exe stalls on like step 6 of 160

Greetings!

Just upgraded to v6.1 from v3.

Wow, smooth! Opened the v3 project file, saved as a v6 project file, it runs, and works!

taaaaaaaasty!

We run the main FB gui from a batch file, so I thought I would try FBCMD.exe.... It 'works' in that it starts up, and starts executing the script, but it stalls after a few operations (5 or 10 or so, of many).

 

I call it like this:

"c:\Program Files\FinalBuilder 6\FBCMD.exe" "c:\develop\myproject.fbz6"

Please advise!

(My ref #: 16914)

 

Thanks a ton!!!

I should mention that in the FB6 ide, this same fbz6 file runs A-OK, from beginning to end.

Not sure what would be causing FBCMD to stall. Does it just hang, or is there some error message? Do you have any interactive actions that might be causing it to fail/hang?

-Zero interactive actions in the whole script

-It seems to just hang. CPU use of FBCMD is 0. It just stops. The exact same script played in the ide runs A-OK.

-No error message displayed. Just the output of the current action


Thoughts?

OK, some specifics:

 

a) Today, fbcmd does throw an error at the beginning that it cannot delete the %temp%nexus-db....tmp file, as it is locked by another process. I also cannot delete this file, even after rebooting.

b) The script continues to run

c) The action that hangs is SETGLOBAL.EXE, (action works fine in the IDE)

 

Next things to check?

(last post from me on this)

 

Also, if I hit the Close button on the cmd console window, it says "close detected. aborting."

 

So the fbcmd is still there...

OK, one more, perhaps useful…?

I see in the IDE, when I run the script, that in the Messages area there is some decompilation happening and some low level logging.

Perhaps that indicates an exception is being thrown, that the IDE handles, and perhaps FBCMD does not?

Bad news: No progress at all...

Status:

1) In IDE, Usually the project runs fine with no exceptions logged in the Messages area. So cannot see this issue at all today.

2) I also cannot find this info in the project logs from yesterday's builds (where can I find this info?)

3) Using /A switch for FBCMD makes no difference at all.

4) The note above about the error deleting the nexus-db temp file is a non-issue. One of the first actions in our script is to delete all files in %TEMP% I tried disabling the action, but it makes no difference. (This action also has ignore-failure enabled).


Here is the console output:

    C:\develop\build system\Projects\SuperApp\6.0>"c:\Program Files\FinalBuilder 6\F  BCMD.exe" /A "C:\develop\build system\Projects\SuperApp\6.0\SuperApp - SuperApp6  0.fbz6"  ******************************************************************   FinalBuilder 6 - Copyright (c) 2006 VSoft Technologies Pty Ltd   Version: 6.1.0.891   Professional Edition Evaluation                   https://www.finalbuilder.com/     * Professional Edition Evaluation - Day 2 of 30     Allowing interactive actions    ******************************************************************      Project File: C:\develop\build system\Projects\SuperApp\6.0\SuperApp - SuperApp  60.fbz6    Build Started: 8/28/2008 9:43:17 AM        [Start ActionList: Main]        [Clean disk space]        [Delete SuperApp DB (UnitTests)]        Delete directory not necessary because directory does not exist: C:\Docum        ents and Settings\All Users\Documents\CorpUser\SuperApp\        [Setting evironment to handle SuperApp 6.0]        [C:]            Parameters: /c C:          [Delete existing S:\ SUBST]            Parameters: /c SUBST S: /D              Invalid parameter - S:        [Set ProjectROOT = "C:\develop\branches\SuperApp\6.0\SuperApp"]            Starting Directory: c:\develop\build system\Environment          Parameters: /c SetGlobal.exe ProjectROOT C:\develop\branches\SuperApp\6.0\SuperApp    


At that point, the script simply pauses.... forever.

If I hit ctrl-C, the Abort / failure actions fire fine.


Next?

Thanks!!!

I think we are getting warmer.

(I did not create this fb project, so it is like swimming…)

FBCMD.exe pauses on “setglobal.exe”

This is our own utility. It is a console application. It fiddles the registry and sets an environment var, and then it does this:

SendMessage(HWND_BROADCAST, WM_SETTINGCHANGE, 0, integer(Pchar(‘Environment’)));


It appears that this call is simply hanging when running inside FBCMD.exe


I will send you the utility to the support email.

Hi

Please only post support requests on the forum or to the support email. We are in Australia and were probably asleep when you posted originally.

I was able to reproduce this here. I don’t know for sure why it happens but I suspect it has something to do with FBCMD not having a windows message loop. Using SendMessage with HWND_BROADCAST waits for every application to process the message, if an application doesn’t process it then SendMessage with hang indefinitely. I changed it to use PostMessage or SendMessageTimeout and it worked fine.

Thanks for the update.

We have FBCMD working now, after modding out SetGlobal utility not to send the message at all (with a new switch).

But our experience is that other command prompts do not cause SetGlobal to have issues (we use it from batch files a lot). It feels like FBCMD should be able to handle it....

It’s quite possibly something to do with how we call createprocess, but I haven’t found any specific info on this yet.