Messages from Usenet group comp.lang.idl-pvwave, compiled by Paulo Penteado
Re: IDL 8.2+ Segmentation Fault / Abort on OSX with Dual-Thunderbolt Displays
On Friday, September 26, 2014 11:22:23 AM UTC-4, Joseph Hunkeler wrote: > On Thursday, September 25, 2014 6:22:59 PM UTC-4, Joseph Hunkeler wrote: >> Here goes... >> >> >> >> >> >> ## The Symptoms >> >> >> >> IDL 8.2+ immediately crashes at run-time if `LM_LICENSE_FILE` or `/Applications/exelis/license/license.dat` is populated. If neither the environment variable or the license file are present, IDL enters demo mode successfully. >> >> >> >> ### IDL 8.2 Crash Message >> >> >> >> >> >> $ idl >> >> IDL Version 8.2.3, Mac OS X (darwin x86_64 m64). (c) 2013, Exelis Visual Information Solutions, Inc. >> >> Segmentation fault: 11 >> >> [/bash] >> >> >> >> ### IDL 8.3 Crash Message >> >> >> >> >> >> $ idl >> >> IDL Version 8.3, Mac OS X (darwin x86_64 m64). (c) 2013, Exelis Visual Information Solutions, Inc. >> >> idl(3438,0x7fff736a7310) malloc: *** error for object 0xf07: pointer being freed was not allocated >> >> *** set a breakpoint in malloc_error_break to debug >> >> Abort trap: 6 >> >> [/bash] >> >> >> >> ## The Cause >> >> >> >> At run-time, if licensing data is provided by the end-user, IDL attempts to gather information about the local system's network interfaces (specifically the MAC address). In our case IDL crashes because we have two external Thunderbolt monitors connected to the computer. If we remove one of the external displays IDL is able to continue on and retrieve a license without incident. >> >> >> >> The system experiencing the crash has eleven network interfaces defined, consisting of Bluetooth (1), FireWire (2), WiFi (1), Thunderbolt Ethernet (2), On-board Ethernet (2), Bridge Adapters (2), and an IPSec VPN (1). Whether these interfaces are active or not means nothing, as IDL will try to poll each one for a valid MAC address. >> >> >> >> ### IDL 8.2 Backtrace >> >> >> >> The data left behind in /Library/Logs/DiagnosticReports was mildly useful with IDL 8.2. The "l_getid_hw" tried to read the hardware address of a given (unknown) ethernet device, but failed miserably in the process: >> >> >> >> >> >> VM Regions Near 0x2540be570: >> >> mapped file 0000000106483000-0000000107af6000 [ 22.4M] r--/r-x SM=ALI /usr/share/icu/icudt51l.dat >> >> --> >> >> STACK GUARD 00007fff5bc00000-00007fff5f400000 [ 56.0M] ---/rwx SM=NUL stack guard for thread 0 >> >> >> >> Thread 0 Crashed:: Dispatch queue: com.apple.main-thread >> >> 0 libidl.8.2.dylib 0x000000010079d6df l_getid_hw + 34 <<<< HERE >> >> 1 libidl.8.2.dylib 0x000000010079d534 l_getid_type + 2064 >> >> 2 libidl.8.2.dylib 0x000000010079cc65 l_gethostid + 26 >> >> 3 libidl.8.2.dylib 0x00000001007866f6 checkout_from_server + 278 >> >> 4 libidl.8.2.dylib 0x000000010078400a lm_start_real + 1048 >> >> 5 libidl.8.2.dylib 0x000000010078343b l_checkout + 530 >> >> 6 libidl.8.2.dylib 0x0000000100783157 lc_checkout + 191 >> >> 7 libidl.8.2.dylib 0x00000001000ec7c2 IDL_lm_checkout2 + 184 >> >> 8 libidl.8.2.dylib 0x00000001000eddc4 d_line + 103 >> >> 9 libidl.8.2.dylib 0x00000001000eef7b init_system_routines + 699 >> >> 10 libidl.8.2.dylib 0x000000010000c306 IDL_Initialize + 3591 >> >> 11 libidl.8.2.dylib 0x000000010000c4b8 IDL_Main + 64 >> >> 12 idl 0x0000000100000f11 main + 227 >> >> 13 idl 0x0000000100000e0c start + 52 >> >> [/bash] >> >> >> >> ### IDL 8.3 Backtrace >> >> >> >> Unfortunately, IDL 8.3's crash report is essentially useless. No relevant information was given to help trace the error. >> >> >> >> >> >> Exception Type: EXC_CRASH (SIGABRT) >> >> Exception Codes: 0x0000000000000000, 0x0000000000000000 >> >> >> >> Application Specific Information: >> >> abort() called >> >> *** error for object 0xf07: pointer being freed was not allocated >> >> [/bash] >> >> >> >> ## Conclusion >> >> >> >> Until Exelis releases a patch to address this issue I recommend unplugging your second monitor if you need to get your work done. >> >> >> >> **Note:** We did *not* delete the unused Thunderbolt interfaces from `System Preferences -> Network` to test whether this cleared things up or not. Maybe it does, maybe it doesn't. Give it a try. >> >> >> >> >> >> ###################################### >> >> >> >> Any idea if this will be fixed in 8.4 (and/or with hotfixes for previous IDL releases)? >> >> >> >> Original article: http://nuclearfall.com/?p=332 >> >> >> >> >> >> Thanks, >> >> Joe > > > Hi Chris, > > I appreciate the clarification. OK. Looks like I'll be updating everything at release time. > > Thanks again for all of your help! > > Regards, > Joe Great news! Now that we finally got our hands IDL 8.4 I wanted to confirm this update *did* fix the segmentation fault issue on the machines in question. Regards, Joe