InDesign is crashing when opening a file from the book

0

Edited shorter version:

I am trying to close an open book in InDesign and run some functionality after. It looks like the next step starts before the book is fully closed

myBook.close();

alert("Book closed");

I have the alert displaying with the open book still on the background. If I try any operations on files from the book it crashes InDesign. More details in the original postbelow.

===============================

Sorry for a long post.

I am building a book in InDesign. MAC OSX 10.9.5 Indesign CS5.5 First I create and populate around 30 chapters, add TOC chapter at the beginning and another one at the end, create a book, add all chapters to the book, close and save the book. After that I am trying to open the last TOC chapter to insert TOC. After the file open Indesign crashes.

Without the file open statement everything works fine.

The code sample:

after the book is created:

// myBook is referenced through the app.open(myBookFile);  
// with myBookFile is a string - path to the file
// also tried to re-reference book after open file by using app.books[0]

myBook.updateAllNumbers(); // tried to disable, did not help

//$.sleep(5000);  //tried this, did not help

app.activeBook.close();  

// also tried myBook.close(); no change
// tried myBook.close(SaveOptions.YES); no change

//$.sleep(5000); //tried this, did not help

      //$.sleep(5000);

      // add toc to the last chapter

      alert("Before TOC Insert");

      indexAddTOC();

      alert("Build is complete");

When the first alert comes up I can see the book is still open. Also stepping with EST debugger is closing the book before the first alert (and does not crash InDesign).

I can see the last message and after this InDesign is crashing. On re-open it opens every chapter from the book.

 function indexAddTOC(){

// re-open index file

var myFolder = new Folder("~/Desktop/"  + publicationName.replace(/ /g, "_").replace(/:/g, ""));

var myFileName =  "000".substr( 1,3 - selectionNumber.toString().length) + selectionNumber  + "_Index.indd";

var myFile = File(myFolder.fsName + "/" + myFileName);

app.open(myFile); // disabling this eradicates the error

}

The error message:

enter image description here

The error report dump has this:

Thread 16:
0   libsystem_kernel.dylib          0x98b4e046 __workq_kernreturn + 10
1   libsystem_pthread.dylib         0x947d4dcf _pthread_wqthread + 372
2   libsystem_pthread.dylib         0x947d8cce start_wqthread + 30

Thread 0 crashed with X86 Thread State (32-bit):
  eax: 0x00000040  ebx: 0x00000040  ecx: 0x00000040  edx: 0x00000000
  edi: 0xbfffac54  esi: 0x00000040  ebp: 0xbfffab88  esp: 0xbfffab70
   ss: 0x00000023  efl: 0x00010282  eip: 0x947d6bd5   cs: 0x0000001b
   ds: 0x00000023   es: 0x00000023   fs: 0x00000000   gs: 0x0000000f
  cr2: 0x00000040

Logical CPU:     0
Error Code:      0x00000004
Trap Number:     14

It feels that the issue is in the book not closing properly. Anyone had a similar problem before and any idea how to get around the problem?

adobe-indesign
extendscript
asked on Stack Overflow Feb 25, 2015 by Nicolai Kant • edited Feb 26, 2015 by Nicolai Kant

1 Answer

0

Perhaps something like

while(app.books.itemByName(myBookFile).isValid){}

in place of your sleep? I can't test at the moment but that's one idea.

answered on Stack Overflow Feb 25, 2015 by Christina

User contributions licensed under CC BY-SA 3.0