The strangest thing is happening!!!


Brian Christmas
 

G’day folks

I’m trying to deal with a situation that is crashing one on my Apps, and don’t know what’s causing it.

My main app saves a list of variables on the desktop, and the printing app reads them, and deals with the emailed files, which are saved in a special folder. Only the folder reference is saved, no mention of the files inside it. The folder and the saved files are being created just fine.

The separate App that prints all the emailed images only crashes when I use an .indd file, and it’s working fine with every file type except when I use any InDesign file, then actually reading the file that transfers the variables, crashes the App cold turkey!

It CAN’T be the actual file format, but must be one of the written variables, but because it’s crashing, I can’t error trap it. Even logging doesn’t work.

I’m attaching a compressed folder of two.dat  files, one OK, the right one crashes.

Does anyone know of a way of interpreting the data to tell me which variable is at fault, please?

I’ve tried reading the .dat file with Applescript, but Script Editor crashes. I’ve been over and over my code since 8 am this morning, (it’s now 2:30 am the next morning), but can't locate what’s wrong, or why just a .indd file would do this. My 13,000+ lines of code is obviously wrong somewhere, but the handler compiling the variable file is not erroring,  so I’m up the proverbial creek without a paddle! I need to somehow know which variable is causing the crash, please.

The crash log is below, but I don’t know how to read the information. Does it help??? Googling has been useless. Alongside the arrowed line is this...

Regards

Santa



libobjc.A.dylib`objc_retain:
    0x7fffb03faf10 <+0>:   pushq  %rbp
    0x7fffb03faf11 <+1>:   movq   %rsp, %rbp
    0x7fffb03faf14 <+4>:   xorl   %eax, %eax
    0x7fffb03faf16 <+6>:   testq  %rdi, %rdi
    0x7fffb03faf19 <+9>:   je     0x7fffb03faf64            ; <+84>
    0x7fffb03faf1b <+11>:  testb  $0x1, %dil
    0x7fffb03faf1f <+15>:  jne    0x7fffb03faf61            ; <+81>
    0x7fffb03faf21 <+17>:  movq   (%rdi), %rax
    0x7fffb03faf24 <+20>:  movabsq $0x7ffffffffff8, %rcx     ; imm = 0x7FFFFFFFFFF8 
    0x7fffb03faf2e <+30>:  andq   %rax, %rcx
->  0x7fffb03faf31 <+33>:  testb  $0x2, 0x20(%rcx)
    0x7fffb03faf35 <+37>:  je     0x7fffb03faf66            ; <+86>
    0x7fffb03faf37 <+39>:  testb  $0x1, %al
    0x7fffb03faf39 <+41>:  je     0x7fffb03faf5b            ; <+75>
    0x7fffb03faf3b <+43>:  movabsq $0x100000000000000, %rcx  ; imm = 0x100000000000000 
    0x7fffb03faf45 <+53>:  movq   %rax, %rdx
    0x7fffb03faf48 <+56>:  addq   %rcx, %rdx
    0x7fffb03faf4b <+59>:  jb     0x7fffb03faf76            ; <+102>
    0x7fffb03faf4d <+61>:  lock   
    0x7fffb03faf4e <+62>:  cmpxchgq %rdx, (%rdi)
    0x7fffb03faf52 <+66>:  je     0x7fffb03faf61            ; <+81>
    0x7fffb03faf54 <+68>:  movq   (%rdi), %rax
    0x7fffb03faf57 <+71>:  testb  $0x1, %al
    0x7fffb03faf59 <+73>:  jne    0x7fffb03faf45            ; <+53>
    0x7fffb03faf5b <+75>:  popq   %rbp
    0x7fffb03faf5c <+76>:  jmp    0x7fffb0403118            ; objc_object::sidetable_retain()
    0x7fffb03faf61 <+81>:  movq   %rdi, %rax
    0x7fffb03faf64 <+84>:  popq   %rbp
    0x7fffb03faf65 <+85>:  retq   
    0x7fffb03faf66 <+86>:  leaq   0x97555fb(%rip), %rax     ; SEL_retain
    0x7fffb03faf6d <+93>:  movq   (%rax), %rsi
    0x7fffb03faf70 <+96>:  popq   %rbp
    0x7fffb03faf71 <+97>:  jmp    0x7fffb03fb040            ; objc_msgSend
    0x7fffb03faf76 <+102>: xorl   %esi, %esi
    0x7fffb03faf78 <+104>: popq   %rbp
    0x7fffb03faf79 <+105>: jmp    0x7fffb04028ac            ; objc_object::rootRetain_overflow(bool)
    0x7fffb03faf7e <+110>: nop    
    0x7fffb03faf7f <+111>: nop    


Michael Bauer
 

Have you tried comparing the files with FileMerge (type into spotlight to find it)? I have two differences that show up but don’t know what I’m looking at exactly.

On Aug 23, 2017, at 12:32 PM, Brian Christmas <ozsanta@...> wrote:

<Item Printer Dats.zip>


Shane Stanley
 

On 24 Aug 2017, at 2:32 am, Brian Christmas <ozsanta@...> wrote:

I’ve tried reading the .dat file with Applescript, but Script Editor crashes
Have you tried looking at it in a text editor? It's basic trouble-shooting.

If you do, you'll see two instances of "ocid" and "optr", which suggest you're saving pointers to Cocoa objects. That means you're saving memory locations that could contain anything at all next time you read them. Both your files are nasty crashes waiting to happen.

--
Shane Stanley <sstanley@...>
<www.macosxautomation.com/applescript/apps/>, <latenightsw.com>