Mac-PPC; ExternalCmd dialog not detecting end of process

Bug #678973 reported by isights
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Hugin
Fix Released
High
Unassigned

Bug Description

Running Autopano does generate a CP file, but it's saved in a temp folder in the invisible var folder. The file also has no extension. It seems to be a complete .pto file and adding the extension does make it work.

Hugin also hangs at this point with the text below in the window. Trying to close the window or click the cancel button get the dialog box that says:
Hugin Error
Failed to kill process XXXX, Error 3: no such process

I have to force quit Hugin at this point. Loading the .pto file does make the program load the images and the control points are there. It optimizes well, but then when I tell it to stitch. nothing happens.
If I load the .pto into Hugin 0.6.1 it stitches fine.

Ian

APSCpp, enhanced Autopano-sift-c
Filename /Volumes/Au/3841_Lanai/DCIM/100EOS1D/CEFS1280.JPG
  width 2704 height 4064
  reduce size to 1065 x 1600

===============================================================================
The use of this software is restricted by certain conditions.
See the "LICENSE" file distributed with the program for details.

The University of British Columbia has applied for a patent on the SIFT
algorithm in the United States. Commercial applications of this software may
require a license from the University of British Columbia.
===============================================================================

  2147 keypoints found

Filename /Volumes/Au/3841_Lanai/DCIM/100EOS1D/CEFS1283.JPG
  width 2704 height 4064
  reduce size to 1065 x 1600
  1731 keypoints found

Filename /Volumes/Au/3841_Lanai/DCIM/100EOS1D/CEFS1286.JPG
  width 2704 height 4064
  reduce size to 1065 x 1600
  1916 keypoints found

Filename /Volumes/Au/3841_Lanai/DCIM/100EOS1D/CEFS1289.JPG
  width 2704 height 4064
  reduce size to 1065 x 1600
  1846 keypoints found

164.0 seconds to find keypoints

Matching; ransac off, ANNmatch on...
ANN kd-tree: 7640 keypoints, cutoff depth 232
 100.00%, 7640/7640
Global match search yielded 197 matches
Created 5 match partitions, max l = 3

Filtering... (/Volumes/Au/3841_Lanai/DCIM/100EOS1D/CEFS1280.JPG, /Volumes/Au/3841_Lanai/DCIM/100EOS1D/CEFS1283.JPG)
   A. Join Filtration: 23 to 23
   B. Score Filtration: 23 to 20
Filtered partition [0,1] from 23 matches down to 20
Filtering... (/Volumes/Au/3841_Lanai/DCIM/100EOS1D/CEFS1280.JPG, /Volumes/Au/3841_Lanai/DCIM/100EOS1D/CEFS1289.JPG)
   A. Join Filtration: 16 to 16
   B. Score Filtration: 16 to 16
Filtered partition [0,3] from 16 matches down to 16
Filtering... (/Volumes/Au/3841_Lanai/DCIM/100EOS1D/CEFS1283.JPG, /Volumes/Au/3841_Lanai/DCIM/100EOS1D/CEFS1286.JPG)
   A. Join Filtration: 52 to 52
   B. Score Filtration: 52 to 20
Filtered partition [1,2] from 52 matches down to 20
Filtering... (/Volumes/Au/3841_Lanai/DCIM/100EOS1D/CEFS1283.JPG, /Volumes/Au/3841_Lanai/DCIM/100EOS1D/CEFS1289.JPG)
   A. Join Filtration: 2 to 2
   B. Score Filtration: 2 to 2
Filtered partition [1,3] from 2 matches down to 2
Filtering... (/Volumes/Au/3841_Lanai/DCIM/100EOS1D/CEFS1286.JPG, /Volumes/Au/3841_Lanai/DCIM/100EOS1D/CEFS1289.JPG)
   A. Join Filtration: 22 to 22
   B. Score Filtration: 22 to 20
Filtered partition [2,3] from 22 matches down to 20

4.4 seconds to match keypoints

Connected component check...
Connected component identification resulted in 1 component:
component 1: /CEFS1280.JPG, /CEFS1283.JPG, /CEFS1289.JPG, /CEFS1286.JPG

Creating output file "/var/folders/nj/njw-HVxV2PartU+kNKn4fU+++TI/-Tmp-/ap_resIW0G45"

You can now load the output file into hugin.
Notice: guessed image format and field-of-view, please check and adjust.

Revision history for this message
Bruno Postle (brunopostle) wrote :

Logged In: YES
user_id=35360
Originator: NO

Setting to 0.7.0 as your hugin seems to be hanging.

Otherwise there are good reasons why you wouldn't want to open this temporary project file, so it is best created in the temp directory.

Revision history for this message
nobody (nobody-users) wrote :

Logged In: NO

I see exactly the same behavior. It used to work in 0.6.1.

Revision history for this message
ippei (ippei) wrote :

Logged In: YES
user_id=1072623
Originator: NO

Reproducible with RC4 on G4 867MHz Leopard machine.

The temporary file etc is the normal behaviour. The problem is that Hugin is not detecting the end of autopano-sift process. I don't have problem on my Mac mini with Intel CPU. It may have something to do with slowness of the machine, or could be general problem with PPC version.

[info needed]
Please give your machine details; CPU and speed, and OS version.

Revision history for this message
ippei (ippei) wrote :

Logged In: YES
user_id=1072623
Originator: NO

It seems PPC binary is universally affected even with rosette on intel machine. Priority heightened as this is critical and also affects stitching.

The cause is most likely inside the wxMac code. 2 tasks needs be done:
- Work around; as the ExternalCmd dialogs have Timer running anyway, should be able too check if the process has stopped every second or so.
- Report to wxWidgets bug tracker; quote this tracker item. In src/hugin1/base_wx/MyExternalCmdExecDialog.cpp, probably EVT_END_PROCESS event is not properly dispatched on PPC.

Revision history for this message
isights (isights) wrote :

Logged In: YES
user_id=2193831
Originator: YES

I'm running Hugin on an iBook G4, 1.33ghz with OS 10.5.4. It's got 1.25gb RAM and 175Gb free on the boot drive.
Each of the new builds errors in the same way after finding the CP.

Ian

Hardware Overview:

  Model Name: iBook G4
  Model Identifier: PowerBook6,5
  Processor Name: PowerPC G4 (1.1)
  Processor Speed: 1.33 GHz
  Number Of CPUs: 1
  L2 Cache (per CPU): 512 KB
  Memory: 1.25 GB
  Bus Speed: 133 MHz
  Boot ROM Version: 4.8.7f1
  Serial Number: 4H52XXX8RCU

Revision history for this message
ippei (ippei) wrote :

Logged In: YES
user_id=1072623
Originator: NO

I have committed a quick workaround to the repository: revision 3398.

wxMac on PPC somehow fails to notify us back the end of asynchronously launched process and leaves zombie process. The work around forces ignore the SIGCHLD signal hence letting child process terminate without becoming zombie, and checks the validity of pid in the OnTimer method hence detecting the termination of that process.

Unfortunately the workaround has to assume the external process finished successfully in any case, and that could lead to very bad confusion. Anyhow, at least with correct setup external process on PPC works smoothly now.

Please verify and close the case.

Revision history for this message
ippei (ippei) wrote :

Logged In: YES
user_id=1072623
Originator: NO

reported as wxWidgets bug 9939
http://trac.wxwidgets.org/ticket/9939

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.