bug: hang or fail on large quantity multiple change in win xp

Started by pb, August 04, 2011, 04:45:24 PM

Previous topic - Next topic

pb

exiftoogui v. 4.16.0.0, exiftool v. 8.60, win xp sp2.

I was trying to add an exif copyright entry to all (jpg) files in a directory with 2170 jpg files (also contained 2 non-image files which did not show up in exiftoogui listing).

I started by selecting all files in the exiftoolgui file listing, then setting 2 exif fields from default values.  After running for some time (minutes), I noted that exiftoolgui appeared to be hung, unwilling to refresh its window.  Examination with sysinternals process explorer showed 2 exiftool processes running, but accumulating no cpu, and none of the exiftool* processes had any image files open, only the directory containing them was open.  In addition, none of the processes was accumulating i/o reads or writes or changing the amount of memory being used.  Further examination showed that 257 files had been processed (a number suspiciously close to 256).

Further attempts to run exiftoolgui on only the remaining 1913 files failed immediately with the pop-up "no message from exiftool", even after killing all exiftool* processes and starting from scratch.  However, changing a single file continued to work flawlessly.

I suspect the problem is some issue with the number of arguments being passed to exiftool (since unlike Linux, windows has a small limit on the number of arguments possible in a command line).

One other suspicious thing I noticed was that windows had a high load of deferred procedure calls at the time.  So, it's conceivable that all that was happening was that Windows was being overwhelmed with all the calls coming from exiftool or exiftoolgui.  If that's the case, then exiftool might consider throttling the rate at which it issues calls, e.g. wating for completion of batches of some number before issuing more.  I'm not sure, however, whether Windows, much lesss the C std lib, gives you the chance to find that out.  Alternately, exiftoolgui might consider issuing such calls to exiftool in limited size batches, which might be easier to implement than at the C system call level.

BogdanH

It's getting late here. I'll read your post (carefully) tomorrow.

Bogdan

pb

I can also report that selecting up to about 500 files at a time also seems to work just fine.  I am beginning to wonder if the original problem may have occurred because some file may have been locked by some other process, though I was not trying to write to any of them with any other software.  At some point I will again try doing it to a large number and see if the problem recurs.  It did, however, recur multiple times in trying to modify approximately 1900 files.

pb

I spoke too soon.  After initially starting out ok, the attempt with about 500 files is now hung.  This time, there is no large deferred procedure call overhead going on, so that was previously probably caused by some other programs.

The command line that Process Explorer reports for what was given to exiftool is below (I have replaced my name with x's since I don't want my name on the public internet, but the number of x's is the same as the number of original characters).

The modifications got made through file IMG_1350-3.JPG.  As best I can tell, that's 229 image files that were modified, out of 525 in the command line.

exiftool -overwrite_original -P -v0 -IFD0:Artist="xxxxxxxxxxxxxxxx" -IFD0:Copyright="© by xxxxxxxxxxxxxxxx" "IMG_1174.JPG" "IMG_1175.JPG" "IMG_1176.JPG" "IMG_1177.JPG" "IMG_1178.JPG" "IMG_1179.JPG" "IMG_1180.JPG" "IMG_1181.JPG" "IMG_1182.JPG" "IMG_1183.JPG" "IMG_1184.JPG" "IMG_1185.JPG" "IMG_1186.JPG" "IMG_1187.JPG" "IMG_1188.JPG" "IMG_1189.JPG" "IMG_1190.JPG" "IMG_1191.JPG" "IMG_1192.JPG" "IMG_1193.JPG" "IMG_1194.JPG" "IMG_1195.JPG" "IMG_1196.JPG" "IMG_1197.JPG" "IMG_1198.JPG" "IMG_1199.JPG" "IMG_1200.JPG" "IMG_1201.JPG" "IMG_1202.JPG" "IMG_1203.JPG" "IMG_1204.JPG" "IMG_1205.JPG" "IMG_1206.JPG" "IMG_1207.JPG" "IMG_1208.JPG" "IMG_1209.JPG" "IMG_1210.JPG" "IMG_1211.JPG" "IMG_1212.JPG" "IMG_1213.JPG" "IMG_1214.JPG" "IMG_1215.JPG" "IMG_1216.JPG" "IMG_1217.JPG" "IMG_1218.JPG" "IMG_1219.JPG" "IMG_1220.JPG" "IMG_1221.JPG" "IMG_1222.JPG" "IMG_1223.JPG" "IMG_1224.JPG" "IMG_1225.JPG" "IMG_1226.JPG" "IMG_1227.JPG" "IMG_1228.JPG" "IMG_1229.JPG" "IMG_1229-1.JPG" "IMG_1230.JPG" "IMG_1231.JPG" "IMG_1232.JPG" "IMG_1233.JPG" "IMG_1234.JPG" "IMG_1235.JPG" "IMG_1236.JPG" "IMG_1237.JPG" "IMG_1238.JPG" "IMG_1238-1.JPG" "IMG_1239.JPG" "IMG_1240.JPG" "IMG_1241.JPG" "IMG_1241-1.JPG" "IMG_1242.JPG" "IMG_1242-1.JPG" "IMG_1243.JPG" "IMG_1244.JPG" "IMG_1245.JPG" "IMG_1246.JPG" "IMG_1247.JPG" "IMG_1248.JPG" "IMG_1249.JPG" "IMG_1250.JPG" "IMG_1251.JPG" "IMG_1252.JPG" "IMG_1253.JPG" "IMG_1254.JPG" "IMG_1255.JPG" "IMG_1255-1.JPG" "IMG_1256.JPG" "IMG_1256-1.JPG" "IMG_1257.JPG" "IMG_1257-1.JPG" "IMG_1258.JPG" "IMG_1258-1.JPG" "IMG_1258-2.JPG" "IMG_1259.JPG" "IMG_1259-1.JPG" "IMG_1260.JPG" "IMG_1260-1.JPG" "IMG_1261.JPG" "IMG_1261-1.JPG" "IMG_1262.JPG" "IMG_1263.JPG" "IMG_1264.JPG" "IMG_1265.JPG" "IMG_1266.JPG" "IMG_1267.JPG" "IMG_1268.JPG" "IMG_1269.JPG" "IMG_1270.JPG" "IMG_1271.JPG" "IMG_1272.JPG" "IMG_1273.JPG" "IMG_1274.JPG" "IMG_1275.JPG" "IMG_1275-1.JPG" "IMG_1275-2.JPG" "IMG_1276.JPG" "IMG_1277.JPG" "IMG_1278.JPG" "IMG_1279.JPG" "IMG_1280.JPG" "IMG_1281.JPG" "IMG_1282.JPG" "IMG_1283.JPG" "IMG_1284.JPG" "IMG_1285.JPG" "IMG_1286.JPG" "IMG_1287.JPG" "IMG_1288.JPG" "IMG_1289.JPG" "IMG_1290.JPG" "IMG_1291.JPG" "IMG_1292.JPG" "IMG_1293.JPG" "IMG_1294.JPG" "IMG_1295.JPG" "IMG_1296.JPG" "IMG_1297.JPG" "IMG_1298.JPG" "IMG_1299.JPG" "IMG_1299-1.JPG" "IMG_1299-2.JPG" "IMG_1300.JPG" "IMG_1301.JPG" "IMG_1301-1.JPG" "IMG_1301-2.JPG" "IMG_1301-3.JPG" "IMG_1302.JPG" "IMG_1303.JPG" "IMG_1304.JPG" "IMG_1305.JPG" "IMG_1306.JPG" "IMG_1307.JPG" "IMG_1308.JPG" "IMG_1309.JPG" "IMG_1310.JPG" "IMG_1311.JPG" "IMG_1311-1.JPG" "IMG_1312.JPG" "IMG_1313.JPG" "IMG_1314.JPG" "IMG_1315.JPG" "IMG_1315-1.JPG" "IMG_1316.JPG" "IMG_1316-1.JPG" "IMG_1317.JPG" "IMG_1317-1.JPG" "IMG_1318.JPG" "IMG_1318-1.JPG" "IMG_1319.JPG" "IMG_1319-1.JPG" "IMG_1320.JPG" "IMG_1321.JPG" "IMG_1322.JPG" "IMG_1322-1.JPG" "IMG_1323.JPG" "IMG_1323-1.JPG" "IMG_1324.JPG" "IMG_1325.JPG" "IMG_1326.JPG" "IMG_1326-1.JPG" "IMG_1327.JPG" "IMG_1327-1.JPG" "IMG_1328.JPG" "IMG_1328-1.JPG" "IMG_1329.JPG" "IMG_1329-1.JPG" "IMG_1329-2.JPG" "IMG_1330.JPG" "IMG_1330-1.JPG" "IMG_1331.JPG" "IMG_1331-1.JPG" "IMG_1332.JPG" "IMG_1332-1.JPG" "IMG_1333.JPG" "IMG_1333-1.JPG" "IMG_1334.JPG" "IMG_1334-1.JPG" "IMG_1335.JPG" "IMG_1335-1.JPG" "IMG_1336.JPG" "IMG_1337.JPG" "IMG_1337-1.JPG" "IMG_1338.JPG" "IMG_1338-1.JPG" "IMG_1339.JPG" "IMG_1340.JPG" "IMG_1341.JPG" "IMG_1342.JPG" "IMG_1343.JPG" "IMG_1343-1.JPG" "IMG_1344.JPG" "IMG_1344-1.JPG" "IMG_1344-2.JPG" "IMG_1344-3.JPG" "IMG_1345.JPG" "IMG_1345-1.JPG" "IMG_1346.JPG" "IMG_1346-1.JPG" "IMG_1347.JPG" "IMG_1348.JPG" "IMG_1348-1.JPG" "IMG_1348-2.JPG" "IMG_1348-3.JPG" "IMG_1349.JPG" "IMG_1350.JPG" "IMG_1350-1.JPG" "IMG_1350-2.JPG" "IMG_1350-3.JPG" "IMG_1350-4.JPG" "IMG_1350-5.JPG" "IMG_1351.JPG" "IMG_1352.JPG" "IMG_1353.JPG" "IMG_1354.JPG" "IMG_1355.JPG" "IMG_1356.JPG" "IMG_1356-1.JPG" "IMG_1357.JPG" "IMG_1358.JPG" "IMG_1358-1.JPG" "IMG_1359.JPG" "IMG_1360.JPG" "IMG_1361.JPG" "IMG_1362.JPG" "IMG_1363.JPG" "IMG_1364.JPG" "IMG_1364-1.JPG" "IMG_1365.JPG" "IMG_1365-1.JPG" "IMG_1366.JPG" "IMG_1367.JPG" "IMG_1368.JPG" "IMG_1369.JPG" "IMG_1370.JPG" "IMG_1371.JPG" "IMG_1371-1.JPG" "IMG_1372.JPG" "IMG_1373.JPG" "IMG_1374.JPG" "IMG_1374-1.JPG" "IMG_1375.JPG" "IMG_1375-1.JPG" "IMG_1376.JPG" "IMG_1376-1.JPG" "IMG_1377.JPG" "IMG_1377-1.JPG" "IMG_1378.JPG" "IMG_1378-1.JPG" "IMG_1379.JPG" "IMG_1379-1.JPG" "IMG_1380.JPG" "IMG_1380-1.JPG" "IMG_1381.JPG" "IMG_1382.JPG" "IMG_1382-1.JPG" "IMG_1383.JPG" "IMG_1384.JPG" "IMG_1384-1.JPG" "IMG_1385.JPG" "IMG_1385-1.JPG" "IMG_1386.JPG" "IMG_1386-1.JPG" "IMG_1387.JPG" "IMG_1387-1.JPG" "IMG_1388.JPG" "IMG_1388-1.JPG" "IMG_1389.JPG" "IMG_1390.JPG" "IMG_1391.JPG" "IMG_1391-1.JPG" "IMG_1392.JPG" "IMG_1392-1.JPG" "IMG_1393.JPG" "IMG_1394.JPG" "IMG_1395.JPG" "IMG_1396.JPG" "IMG_1397.JPG" "IMG_1397-1.JPG" "IMG_1398.JPG" "IMG_1399.JPG" "IMG_1400.JPG" "IMG_1401.JPG" "IMG_1402.JPG" "IMG_1402-1.JPG" "IMG_1403.JPG" "IMG_1404.JPG" "IMG_1405.JPG" "IMG_1406.JPG" "IMG_1407.JPG" "IMG_1407-1.JPG" "IMG_1408.JPG" "IMG_1409.JPG" "IMG_1410.JPG" "IMG_1410-1.JPG" "IMG_1411.JPG" "IMG_1412.JPG" "IMG_1413.JPG" "IMG_1414.JPG" "IMG_1415.JPG" "IMG_1415-1.JPG" "IMG_1416.JPG" "IMG_1416-1.JPG" "IMG_1417.JPG" "IMG_1417-1.JPG" "IMG_1418.JPG" "IMG_1419.JPG" "IMG_1420.JPG" "IMG_1420-1.JPG" "IMG_1421.JPG" "IMG_1422.JPG" "IMG_1422-1.JPG" "IMG_1423.JPG" "IMG_1423-1.JPG" "IMG_1424.JPG" "IMG_1424-1.JPG" "IMG_1425.JPG" "IMG_1425-1.JPG" "IMG_1426.JPG" "IMG_1426-1.JPG" "IMG_1427.JPG" "IMG_1428.JPG" "IMG_1428-1.JPG" "IMG_1429.JPG" "IMG_1430.JPG" "IMG_1431.JPG" "IMG_1431-1.JPG" "IMG_1432.JPG" "IMG_1433.JPG" "IMG_1434.JPG" "IMG_1434-1.JPG" "IMG_1435.JPG" "IMG_1435-1.JPG" "IMG_1436.JPG" "IMG_1436-1.JPG" "IMG_1436-2.JPG" "IMG_1436-3.JPG" "IMG_1437.JPG" "IMG_1437-1.JPG" "IMG_1438.JPG" "IMG_1439.JPG" "IMG_1440.JPG" "IMG_1441.JPG" "IMG_1442.JPG" "IMG_1442-1.JPG" "IMG_1443.JPG" "IMG_1443-1.JPG" "IMG_1444.JPG" "IMG_1444-1.JPG" "IMG_1445.JPG" "IMG_1446.JPG" "IMG_1447.JPG" "IMG_1448.JPG" "IMG_1449.JPG" "IMG_1449-1.JPG" "IMG_1450.JPG" "IMG_1450-1.JPG" "IMG_1451.JPG" "IMG_1452.JPG" "IMG_1452-1.JPG" "IMG_1453.JPG" "IMG_1453-1.JPG" "IMG_1454.JPG" "IMG_1455.JPG" "IMG_1455-1.JPG" "IMG_1456.JPG" "IMG_1456-1.JPG" "IMG_1457.JPG" "IMG_1457-1.JPG" "IMG_1458.JPG" "IMG_1458-1.JPG" "IMG_1459.JPG" "IMG_1459-1.JPG" "IMG_1460.JPG" "IMG_1460-1.JPG" "IMG_1461.JPG" "IMG_1461-1.JPG" "IMG_1462.JPG" "IMG_1463.JPG" "IMG_1463-1.JPG" "IMG_1464.JPG" "IMG_1464-1.JPG" "IMG_1465.JPG" "IMG_1465-1.JPG" "IMG_1466.JPG" "IMG_1466-1.JPG" "IMG_1467.JPG" "IMG_1467-1.JPG" "IMG_1468.JPG" "IMG_1468-1.JPG" "IMG_1469.JPG" "IMG_1470.JPG" "IMG_1471.JPG" "IMG_1472.JPG" "IMG_1473.JPG" "IMG_1474.JPG" "IMG_1475.JPG" "IMG_1476.JPG" "IMG_1477.JPG" "IMG_1478.JPG" "IMG_1479.JPG" "IMG_1480.JPG" "IMG_1481.JPG" "IMG_1481-1.JPG" "IMG_1482.JPG" "IMG_1483.JPG" "IMG_1484.JPG" "IMG_1485.JPG" "IMG_1486.JPG" "IMG_1487.JPG" "IMG_1488.JPG" "IMG_1489.JPG" "IMG_1490.JPG" "IMG_1491.JPG" "IMG_1492.JPG" "IMG_1493.JPG" "IMG_1494.JPG" "IMG_1495.JPG" "IMG_1496.JPG" "IMG_1496-1.JPG" "IMG_1497.JPG" "IMG_1498.JPG" "IMG_1499.JPG" "IMG_1500.JPG" "IMG_1501.JPG" "IMG_1502.JPG" "IMG_1503.JPG" "IMG_1504.JPG" "IMG_1505.JPG" "IMG_1506.JPG" "IMG_1507.JPG" "IMG_1508.JPG" "IMG_1509.JPG" "IMG_1510.JPG" "IMG_1511.JPG" "IMG_1512.JPG" "IMG_1513.JPG" "IMG_1514.JPG" "IMG_1515.JPG" "IMG_1516.JPG" "IMG_1517.JPG" "IMG_1518.JPG" "IMG_1519.JPG" "IMG_1520.JPG" "IMG_1521.JPG" "IMG_1522.JPG" "IMG_1523.JPG" "IMG_1523-1.JPG" "IMG_1523-2.JPG" "IMG_1523-3.JPG" "IMG_1524.JPG" "IMG_1525.JPG" "IMG_1526.JPG" "IMG_1527.JPG" "IMG_1527-1.JPG" "IMG_1527-2.JPG" "IMG_1528.JPG" "IMG_1529.JPG" "IMG_1530.JPG" "IMG_1531.JPG" "IMG_1532.JPG" "IMG_1533.JPG" "IMG_1534.JPG" "IMG_1535.JPG" "IMG_1536.JPG" "IMG_1537.JPG" "IMG_1538.JPG" "IMG_1539.JPG" "IMG_1540.JPG" "IMG_1541.JPG" "IMG_1542.JPG" "IMG_1543.JPG" "IMG_1544.JPG" "IMG_1545.JPG" "IMG_1546.JPG" "IMG_1547.JPG" "IMG_1548.JPG" "IMG_1548-1.JPG" "IMG_1548-2.JPG" "IMG_1549.JPG" "IMG_1550.JPG" "IMG_1551.JPG" "IMG_1552.JPG" "IMG_1553.JPG" "IMG_1554.JPG" "IMG_1555.JPG" "IMG_1556.JPG" "IMG_1556-1.JPG" "IMG_1556-2.JPG" "IMG_1556-3.JPG" "IMG_1557.JPG" "IMG_1558.JPG" "IMG_1559.JPG" "IMG_1560.JPG" "IMG_1561.JPG" "IMG_1562.JPG" "IMG_1563.JPG" "IMG_1564.JPG" "IMG_1565.JPG" "IMG_1566.JPG" "IMG_1567.JPG" "IMG_1568.JPG" "IMG_1569.JPG" "IMG_1570.JPG" "IMG_1571.JPG"

Phil Harvey

If a file is locked, then exiftool should return an error.  This shouldn't cause a hang.

- Phil
...where DIR is the name of a directory/folder containing the images.  On Mac/Linux/PowerShell, use single quotes (') instead of double quotes (") around arguments containing a dollar sign ($).

pb

Quote from: Phil Harvey on August 04, 2011, 08:50:48 PM
If a file is locked, then exiftool should return an error.  This shouldn't cause a hang.

- Phil

That theory was a longshot.

I'm inclined to believe it has to do with either too many files, or too many args in the command line.  However, I don't offhand remember what limits windows xp places on those.  I suppose it could also be a problem with exiftool parsing the command line, e.g. because it got truncated by windows and say e.g. quotes in the truncated command line are now no longer balanced as a result.  There are many ways to lose.

BogdanH

I've just thrown a quick view here to check for news in this regard. Right now I have no time (must go to work) to explain some things, which might help you (and me) to narrow the couse of this issue.
I'm thankfull for any further details about your findings, but please be patient with my answer.

Bogdan

BogdanH

Ok... I'll be as short as possible on this (you'll understand why).

I've said, since latest GUI version, there's no limit on number of selected files. But as it seems, I should add "in most cases". The thing is, when implementing this feature, I forgot doing that for Exif, Iptc and Xmp edit [ ^ ] buttons!! I still can't believe this happened  :-[
That is, these three buttons (and hopefully nothing else) still behaves in old fashion: if total length of all filenames (incl ExifTool parameters) exceeds ~30kb, then "unpredicted" things can happen.
I will fix this in next few days.
However, if all files are selected in filelist pane, then above limitation doesn't exist (because in this case, GUI passes *.* wildcard expression toward ExifTool).

Bogdan

pb

Thanks for the info, and the quick diagnosis.

However, I believe that the first time I had this problem, I had in fact selected all files in the file list.  That was the instance where it modified 257 of those files before hanging.  But, it's possible that I only thought I had selected all the files, and had somehow missed one, so I will have to check this again.  It probably makes sense for me to wait to check that until after you fix the other case.  Also, note that in that case, although I had selected all the files in the file list (I believe),  there were another 2 files in that directory that were not image files and therefore were not shown in the file list.

BogdanH

Yes, I suggest you wait until I fix this known bug first -don't waste energy :)
If all files are selected, then GUI simply sends (for example):
exiftool -Exif:Artist="MyName" -Exif:Copyright="C by Myname" *.*
-or in case file extension filter is used:
exiftool -Exif:Artist="MyName" -Exif:Copyright="C by Myname" *.jpg
In this case I see no way, command line could exceed ~32k characters (Windows) limit.

Yes, I can imagine one can skip first or last file when selecting all files (to be sure, Ctrl+A should be used). And from GUI's perspective: only (in GUI) visible files matter when GUI "counts" them. If some of selected files are not image files, then, after process is finished, ExifTool will report (via GUI) about that -that is, this shouldn't cause any "unexpected" error.
To save ExifTool's time for reading (not needed) files, file extension filter should be used if possible -especially if working on large amount of files.
Talking about... do you really regulary keep 2000+ image files in single folder? Just wondering.  :)

Bogdan

coz

Bogdan,

I'm also having the problem in Win7 while using the "Quick" pane to enter Artist, Copyright and the IPTC object names, location, and keywords.  My folder has 3000 images (CR2 RAW+JPG)

It hung after updating 252 files.

Chris

BogdanH

Hi Chris,

No, I've checked Edit in Quick mode (again) and there shouldn't be a problem related to amount of files. That is, it must be something else causing this. But without further info, I can't say what that would be or where to look at.
If it hung after 252 files, try to select and process only about 300 files to narrow down where this actually happens.. by shoosing less files, there's a bigger chance to findout what causes this.

Bogdan

coz

Bogdan,

Thank you for your patience and assistance!

After my prior error, I tried again with 300 or 200 files but it kept getting hung (even after killing the residual exiftool.exe processes in Task Manager).  I figured it was because I was selecting less than all the files.

This morning I tried 100 files in the same directory and it completed with the following pop-up message:

Warning: [minor] Adusted MakerNotes base by 4010 - IMG_4450.JPG
Warning: [minor] Adusted MakerNotes base by 4010 - IMG_4451.JPG
Warning: [minor] Adusted MakerNotes base by 4010 - IMG_4452.JPG
Warning: [minor] Adusted MakerNotes base by 4010 - IMG_4453.JPG
Warning: [minor] Adusted MakerNotes base by 4010 - IMG_4454.JPG
100 image files updated
...etc...

Note:  The images I selected went from IMG_4450 through IMG_4499 (both CR2 and JPG)

I've also attached a screen print of the error message.  If you need a screen print of the full screen, let me know how to e-mail it to you.

Thanks!
Chris

coz

Bogdan,

Further investigation using just one file and process of elimination reveals that the error occurs when updating anything in the EXIF portion, and only for the first time on that file.  For example, if I take an untouched file and modify any one row in the EXIF portion of the Quick Tab for a JPG file, I will get the error message.  However, if I make subsequent changes to any of the other EXIF tags, I do not receive any error.

I do not receive any error messages if I make a change ONLY to the IPTC section.  And only on JPG files.  CR2 RAW files give me no problem.

On a hunch I also tried, for one JPG file the "Exif: LensInfo from MakerNotes..." tool and received the exact same error message.  Again, only on the JPG, not the CR2. 

In all cases above, the information was updated despite the error messages

Chris

BogdanH

Hi Cris,
Such errors ("Warning: [minor]...") occur in cases when ExifTool discovers metadata inside file is not conform with specifications -in most cases, this can happen after metadata was modified with some "other" tool.
However, in such case (minor error) ExifTool is clever enought and "adjust" metadata correctly -that's why this error appears only first time you modify them with ExifTool.
When working on hundreds/thousands of corrupted files, a list with errors can be huge. To keep message reasonable small, GUI shows only smaller amount of them -which should be enough, to alert you, that there is/was something wrong.

If such messages ("minor" errors) disturb you, you can use menu Options>Ignore existing minor errors and disable displaying them.

Your finding proves one thing: you have used some other tool previously, for modifying metadata in JPG files -and that tool corrupted your files.. and now ExifTool corrected existing mistake -isn't ExifTool great?  :)
And how come CR2 files aren't affected? I believe, it's because the tool you've used before, probably wasn't capable to modify raw files...
Why there's no problem when modifying IPTC section only? I don't know.. Having a file, Phil could findout the reason for sure (after all, he made ExifTool). But once you run such file thru ExifTool, it gets "corrected" -thus, the cause disappears.

And a notice:
If you plan to work on large amount of files (in single folder) by using [ ^ ] buttons, then wait for next GUI version -it should happen tomorrow.

Bogdan