Disabling Mac FileVault led to seg fault on app launch

   3471   5   0
User Avatar
Member
46 posts
Joined: Nov. 2006
Offline
Summary
While regressing my original issue [sidefx.com] with wackiness after enabling FileVault over an existing installation of Houdini I ran into even wackier issues after disabling FileVault on the same installation, eventually leading to a segmentation fault on application launch even after uninstalling and reinstalling Houdini.

Steps to Reproduce
1.) From a FileVault'd user account install Houdini 9.5.230
2.) Disable FileVault
3.) Launch Houdini

Configuration
• MacBook Pro 2.4GHz / 4GB RAM
• Nvidia GeForce 8600M GT
• Mac OS X 10.5.5

Results
The application loads but when it draws the main UI crashes with a segmentation fault and prompting the user with a fatal error dialog:

At the time of failure the UI appears to have misdrawn portions of the framebuffer or reused portions without reinitializing:

From the Houdini authored crash log:
Crash report from topher; Houdini Master Version 9.5.230
2 libHoudiniUI.dylib 0x00000000041a1ae8 AP_Interface::coredumpHandler(UTsignalHandlerArg) + 920
3 libHoudiniUT.dylib 0x00000000049a71ab UT_Signal::UT_ComboSignalHandler:perator()(int, __siginfo*, void*) const + 59
4 libHoudiniUT.dylib 0x00000000049a73e8 UT_Signal::processSignal(int, __siginfo*, void*) + 168
5 libSystem.B.dylib 0x0000000080fad34a _sigtramp + 26
6 ??? 0x0000000000000000 0x0 + 0
7 libHoudiniUI.dylib 0x00000000042fd18c UI_IconSVG::initTexture(RE_Render*, int, int) + 1900
8 libHoudiniUI.dylib 0x00000000042f42f3 UI_IconBase::preloadIcons() + 323
9 libHoudiniUI.dylib 0x0000000004390382 UI_Window::doRedraw() + 738
10 libHoudiniUI.dylib 0x00000000041afbc9 OSX_Window::doRedraw() + 105
11 libHoudiniUI.dylib 0x000000000433b52b UI_Queue::doWindowRedraws() + 555
12 libHoudiniUI.dylib 0x000000000433b6f5 UI_Queue::processNextEvent() + 229
13 libHoudiniUI.dylib 0x000000000433b8e4 UI_Queue::drain() + 52
14 libHoudiniUI.dylib 0x000000000433e1c5 UI_Queue::drainEvents(bool, bool) + 117
15 libHoudiniAPPS2.dylib 0x00000000003834e3 OPUI_MainApp::loadFilesAfterUiOpen(UI_Event*) + 51
16 libHoudiniUI.dylib 0x000000000433b6d2 UI_Queue::processNextEvent() + 194
17 libHoudiniUI.dylib 0x000000000433b8e4 UI_Queue::drain() + 52
18 libHoudiniUI.dylib 0x000000000433e1c5 UI_Queue::drainEvents(bool, bool) + 117
19 libHoudiniUI.dylib 0x00000000041abba3 OH_UIeventHandler::~OH_UIeventHandler() + 2259
20 libHoudiniUI.dylib 0x00000000041abd1c OH_UIeventHandler::~OH_UIeventHandler() + 2636
21 Foundation 0x00000000816ed5b0 NSZoneMalloc + 1744
22 CoreFoundation 0x000000008448b796 _CFXNotificationPostNotification + 566
23 Foundation 0x00000000816ea866 NSPopAutoreleasePool + 4726
24 AppKit 0x0000000081a9a3bf _NSSubclassOverridesSelector + 8634
25 AppKit 0x0000000081a9a2ea _NSSubclassOverridesSelector + 8421
26 AppKit 0x0000000081a10c9c _NSInitializeKillRing + 6776
27 AppKit 0x0000000081a10581 _NSInitializeKillRing + 4957
28 Foundation 0x0000000081711807 NSZoneRealloc + 3287
29 Foundation 0x0000000081711625 NSZoneRealloc + 2805
30 AE 0x00000000810e0717 AEDecodeMessage + 841
31 AE 0x00000000810ce36b aeProcessAppleEvent + 529
32 AE 0x00000000810ce20d aeProcessAppleEvent + 179
33 HIToolbox 0x000000008417ad07 AEProcessAppleEvent + 34
34 AppKit 0x0000000081a0de23 _NXKitString + 5980
35 AppKit 0x0000000081a0d583 _NXKitString + 3772
36 AppKit 0x0000000081a07316 _NSSetViewMultiClipDrawingHelper + 4470
37 libHoudiniUI.dylib 0x00000000041a27c4 main + 804
38 houdini 0x00000000000016b4 start + 52

From running Houdini via GDB:
Program received signal EXC_BAD_ACCESS, Could not access memory.
Reason: KERN_INVALID_ADDRESS at address: 0x00000001c144ccc0
0x00000001047d5239 in PXL_Raster::load ()
(gdb) bt
#0 0x00000001047d5239 in PXL_Raster::load ()
#1 0x00000001042fd18c in UI_IconSVG::initTexture ()
#2 0x00000001042f42f3 in UI_IconBase::preloadIcons ()
#3 0x0000000104390382 in UI_Window::doRedraw ()
#4 0x00000001041afbc9 in OSX_Window::doRedraw ()
#5 0x000000010433b52b in UI_Queue::doWindowRedraws ()
#6 0x000000010433b6f5 in UI_Queue::processNextEvent ()
#7 0x000000010433b8e4 in UI_Queue::drain ()
#8 0x000000010433e1c5 in UI_Queue::drainEvents ()
#9 0x00000001003834e3 in OPUI_MainApp::loadFilesAfterUiOpen ()
#10 0x000000010433b6d2 in UI_Queue::processNextEvent ()
#11 0x000000010433b8e4 in UI_Queue::drain ()
#12 0x000000010433e1c5 in UI_Queue::drainEvents ()
#13 0x00000001041abba3 in - ()
#14 0x00000001041abd1c in - ()
#15 0x00007fff816ed5b0 in _nsnote_callback ()
#16 0x00007fff8448b796 in _CFXNotificationPostNotification ()
#17 0x00007fff816ea866 in - ()
#18 0x00007fff81a9a3bf in - ()
#19 0x00007fff81a9a2ea in - ()
#20 0x00007fff81a10c9c in - ()
#21 0x00007fff81a10581 in - ()
#22 0x00007fff81711807 in - ()
#23 0x00007fff81711625 in _NSAppleEventManagerGenericHandler ()
#24 0x00007fff810e0717 in aeDispatchAppleEvent ()
#25 0x00007fff810ce36b in dispatchEventAndSendReply ()
#26 0x00007fff810ce20d in aeProcessAppleEvent ()
#27 0x00007fff8417ad07 in AEProcessAppleEvent ()
#28 0x00007fff81a0de23 in _DPSNextEvent ()
#29 0x00007fff81a0d583 in - ()
#30 0x00007fff81a07316 in - ()
#31 0x00000001041a27c4 in main ()
(gdb) x/i 0x00000001047d5239
0x1047d5239 <_ZN10PXL_Raster4loadER10UT_IStream+441>: mov (%rax,%rdx,4),%r13d
(gdb) x/i 0x00000001042fd18c
0x1042fd18c <_ZN10UI_IconSVG11initTextureEP9RE_Renderii+1900>: test %al,%al

Regression
• Only occurred after hitting the original issue [sidefx.com] and disabling FileVault
• Once issue occurred uninstalling and reinstalling Houdini had no effect
• System is currently stuck in this issue…
User Avatar
Member
46 posts
Joined: Nov. 2006
Offline
Below is a more complete GDB dump of the failure:

(gdb) run
Starting program: /Applications/Houdini 9.5.230/Houdini.app/Contents/MacOS/houdini
warning: posix_spawn failed, trying execvp, error: 86
Reading symbols for shared libraries . done
Reading symbols for shared libraries + done

Program received signal EXC_BAD_ACCESS, Could not access memory.
Reason: KERN_INVALID_ADDRESS at address: 0x00000001c144ccc0
0x00000001047d5239 in PXL_Raster::load ()

(gdb) bt
#0 0x00000001047d5239 in PXL_Raster::load ()
#1 0x00000001042fd18c in UI_IconSVG::initTexture ()
#2 0x00000001042f42f3 in UI_IconBase::preloadIcons ()
#3 0x0000000104390382 in UI_Window::doRedraw ()
#4 0x00000001041afbc9 in OSX_Window::doRedraw ()
#5 0x000000010433b52b in UI_Queue::doWindowRedraws ()
#6 0x000000010433b6f5 in UI_Queue::processNextEvent ()
#7 0x000000010433b8e4 in UI_Queue::drain ()
#8 0x000000010433e1c5 in UI_Queue::drainEvents ()
#9 0x00000001003834e3 in OPUI_MainApp::loadFilesAfterUiOpen ()
#10 0x000000010433b6d2 in UI_Queue::processNextEvent ()
#11 0x000000010433b8e4 in UI_Queue::drain ()
#12 0x000000010433e1c5 in UI_Queue::drainEvents ()
#13 0x00000001041abba3 in - ()
#14 0x00000001041abd1c in - ()
#15 0x00007fff816ed5b0 in _nsnote_callback ()
#16 0x00007fff8448b796 in _CFXNotificationPostNotification ()
#17 0x00007fff816ea866 in - ()
#18 0x00007fff81a9a3bf in - ()
#19 0x00007fff81a9a2ea in - ()
#20 0x00007fff81a10c9c in - ()
#21 0x00007fff81a10581 in - ()
#22 0x00007fff81711807 in - ()
#23 0x00007fff81711625 in _NSAppleEventManagerGenericHandler ()
#24 0x00007fff810e0717 in aeDispatchAppleEvent ()
#25 0x00007fff810ce36b in dispatchEventAndSendReply ()
#26 0x00007fff810ce20d in aeProcessAppleEvent ()
#27 0x00007fff8417ad07 in AEProcessAppleEvent ()
#28 0x00007fff81a0de23 in _DPSNextEvent ()
#29 0x00007fff81a0d583 in - ()
#30 0x00007fff81a07316 in - ()
#31 0x00000001041a27c4 in main ()

(gdb) info threads
3 process 907 thread 0x5307 0x00007fff80f4e5be in __semwait_signal ()
2 process 907 thread 0x3003 0x00007fff80f4e5be in __semwait_signal ()
* 1 process 907 local thread 0x4e07 0x00000001047d5239 in PXL_Raster::load ()

(gdb) info frame
Stack level 0, frame at 0x7fff5fbfd6e0:
rip = 0x1047d5239 in PXL_Raster::load(UT_IStream&); saved rip 0x1042fd18c
called by frame at 0x7fff5fbfd840
Arglist at 0x7fff5fbfd6d0, args:
Locals at 0x7fff5fbfd6d0, Previous frame's sp is 0x7fff5fbfd6e0
Saved registers:
rbp at 0x7fff5fbfd6d0, rip at 0x7fff5fbfd6d8

(gdb) x 0x7fff5fbfd6e0
0x7fff5fbfd6e0: adc $0xbf,%bh

(gdb) x 0x1047d5239
0x1047d5239 <_ZN10PXL_Raster4loadER10UT_IStream+441>: mov (%rax,%rdx,4),%r13d

(gdb) x 0x1042fd18c
0x1042fd18c <_ZN10UI_IconSVG11initTextureEP9RE_Renderii+1900>: test %al,%al

(gdb) x 0x7fff5fbfd840
0x7fff5fbfd840: add %al,(%rax)

(gdb) x 0x7fff5fbfd6d0
0x7fff5fbfd6d0: xor %bl,%al

(gdb) x 0x7fff5fbfd6d8
0x7fff5fbfd6d8: mov %ss,%ecx

(gdb) info all-reg
rax 0x104d0c9a0 4375759264
rbx 0x12405c230 4899324464
rcx 0x0 0
rdx 0x2f1d00c8 790429896
rsi 0x1 1
rdi 0x1190f9448 4715418696
rbp 0x7fff5fbfd6d0 0x7fff5fbfd6d0
rsp 0x7fff5fbfccc0 0x7fff5fbfccc0
r8 0x1 1
r9 0x0 0
r10 0x1 1
r11 0x7fff5fbfd69c 140734799795868
r12 0x1190f9448 4715418696
r13 0x7fff5fbfd69c 140734799795868
r14 0x0 0
r15 0x7fff701acb20 140735074192160
rip 0x1047d5239 0x1047d5239 <PXL_Raster::load(UT_IStream&)+441>
eflags 0x10246 66118
cs 0x27 39
ss 0x0 0
ds 0x0 0
es 0x0 0
fs 0x10 16
gs 0x48 72
st0 <invalid float value> (raw 0xffff0000000000000000)
st1 0 (raw 0x00000000000000000000)
st2 0 (raw 0x00000000000000000000)
st3 -1 (raw 0xbfff8000000000000000)
st4 1 (raw 0x3fff8000000000000000)
st5 1 (raw 0x3fff8000000000000000)
st6 0 (raw 0x00000000000000000000)
st7 4294967296 (raw 0x401f8000000000000000)
fctrl 0x37f 895
fstat 0x0 0
ftag 0xffff 65535
fiseg 0x8 8
fioff 0xf7cbd5 16239573
foseg 0x10 16
fooff 0x5b427238 1531081272
fop 0x58d 1421
xmm0 {
v4_float = {0, 0, 0, 0},
v2_double = {0, 0},
v16_int8 = ‘\0’ <repeats 15 times>,
v8_int16 = {0, 0, 0, 0, 0, 0, 0, 0},
v4_int32 = {0, 0, 0, 0},
v2_int64 = {0, 0},
uint128 = 0
} (raw 0x00000000000000000000000000000000)
xmm1 {
v4_float = {-nan(0x7fff00), 0, -nan(0x7fffff), 0},
v2_double = {-nan(0xfff0000000000), -nan(0xfffff00000000)},
v16_int8 = “???\000\000\000\000\000????\000\000\000”,
v8_int16 = {-1, -256, 0, 0, -1, -1, 0, 0},
v4_int32 = {-256, 0, -1, 0},
v2_int64 = {-1099511627776, -4294967296},
uint128 = 0xffffff0000000000ffffffff00000000
} (raw 0x00000000ffffffff0000000000ffffff)
xmm2 {
v4_float = {-1.70141183e+38, 0, -nan(0x7f0000), 9.18340949e-41},
v2_double = {-5.4861240687936887e+303, -nan(0xf00000000ffff)},
v16_int8 = “?\000\000\000\000\000\000\000??\000\000\000\000??”,
v8_int16 = {-256, 0, 0, 0, -1, 0, 0, -1},
v4_int32 = {-16777216, 0, -65536, 65535},
v2_int64 = {-72057594037927936, -281474976645121},
uint128 = 0xff00000000000000ffff00000000ffff
} (raw 0xffff00000000ffff00000000000000ff)
xmm3 {
v4_float = {0, 0, 0, 0},
v2_double = {0, 0},
v16_int8 = ‘\0’ <repeats 15 times>,
v8_int16 = {0, 0, 0, 0, 0, 0, 0, 0},
v4_int32 = {0, 0, 0, 0},
v2_int64 = {0, 0},
uint128 = 0
} (raw 0x00000000000000000000000000000000)
xmm4 {
v4_float = {0, 0, 0, 3.21932403e-35},
v2_double = {0, 5.1132036975332395e-316},
v16_int8 = ‘\0’ <repeats 12 times>, “\006+++”,
v8_int16 = {0, 0, 0, 0, 0, 0, 1579, 11051},
v4_int32 = {0, 0, 0, 103492395},
v2_int64 = {0, 103492395},
uint128 = 3110627272399257600
} (raw 0x2b2b2b06000000000000000000000000)
xmm5 {
v4_float = {0, 0, 0, 4.03896783e-28},
v2_double = {0, 1.4920282905224571e-315},
v16_int8 = ‘\0’ <repeats 12 times>, “\022\000\000”,
v8_int16 = {0, 0, 0, 0, 0, 0, 4608, 0},
v4_int32 = {0, 0, 0, 301989888},
v2_int64 = {0, 301989888},
uint128 = 77309411328
} (raw 0x00000012000000000000000000000000)
xmm6 {
v4_float = {1, 0, -1, 576},
v2_double = {0.0078125, -0.0078125019808794605},
v16_int8 = “??\000\000\000\000\000\000??\000\000D\020\000”,
v8_int16 = {16256, 0, 0, 0, -16512, 0, 17424, 0},
v4_int32 = {1065353216, 0, -1082130432, 1141899264},
v2_int64 = {4575657221408423936, -4647714814304452608},
uint128 = 0x3f80000000000000bf80000044100000
} (raw 0x00001044000080bf000000000000803f)
xmm7 {
v4_float = {1, 0, -1, 0},
v2_double = {0.0078125, -0.0078125},
v16_int8 = “??\000\000\000\000\000\000??\000\000\000\000\000”,
v8_int16 = {16256, 0, 0, 0, -16512, 0, 0, 0},
v4_int32 = {1065353216, 0, -1082130432, 0},
v2_int64 = {4575657221408423936, -4647714815446351872},
uint128 = 0x3f80000000000000bf80000000000000
} (raw 0x00000000000080bf000000000000803f)
xmm8 {
v4_float = {0, 0, 0, 0.5},
v2_double = {0, 5.2220990168285998e-315},
v16_int8 = ‘\0’ <repeats 12 times>, “?\000\000”,
v8_int16 = {0, 0, 0, 0, 0, 0, 16128, 0},
v4_int32 = {0, 0, 0, 1056964608},
v2_int64 = {0, 1056964608},
uint128 = 270582939648
} (raw 0x0000003f000000000000000000000000)
xmm9 {
v4_float = {1, 1, -3, 49},
v2_double = {0.007812501848093234, -32.000007899478078},
v16_int8 = “??\000\000??\000\000?@\000\000BD\000”,
v8_int16 = {16256, 0, 16256, 0, -16320, 0, 16964, 0},
v4_int32 = {1065353216, 1065353216, -1069547520, 1111752704},
v2_int64 = {4575657222473777152, -4593671618806153216},
uint128 = 0x3f8000003f800000c040000042440000
} (raw 0x00004442000040c00000803f0000803f)
xmm10 {
v4_float = {0, 0, 0, 1920},
v2_double = {0, 5.7142611265495492e-315},
v16_int8 = ‘\0’ <repeats 12 times>, “D?\000”,
v8_int16 = {0, 0, 0, 0, 0, 0, 17648, 0},
v4_int32 = {0, 0, 0, 1156579328},
v2_int64 = {0, 1156579328},
uint128 = 264174848442368
} (raw 0x0000f044000000000000000000000000)
xmm11 {
v4_float = {0, 0, 0, 1152},
v2_double = {0, 5.6831772038303314e-315},
v16_int8 = ‘\0’ <repeats 12 times>, “D?\000”,
v8_int16 = {0, 0, 0, 0, 0, 0, 17552, 0},
v4_int32 = {0, 0, 0, 1150287872},
v2_int64 = {0, 1150287872},
uint128 = 158621732175872
} (raw 0x00009044000000000000000000000000)
xmm12 {
v4_float = {0, 0, 0, 1920},
v2_double = {0, 5.7142611265495492e-315},
v16_int8 = ‘\0’ <repeats 12 times>, “D?\000”,
v8_int16 = {0, 0, 0, 0, 0, 0, 17648, 0},
v4_int32 = {0, 0, 0, 1156579328},
v2_int64 = {0, 1156579328},
uint128 = 264174848442368
} (raw 0x0000f044000000000000000000000000)
xmm13 {
v4_float = {0, 0, 1.875, 1152},
v2_double = {0, 1.0000002554152161},
v16_int8 = “\000\000\000\000\000\000\000\000??\000\000D?\000”,
v8_int16 = {0, 0, 0, 0, 16368, 0, 17552, 0},
v4_int32 = {0, 0, 1072693248, 1150287872},
v2_int64 = {0, 4607182419950305280},
uint128 = 158621732237375
} (raw 0x000090440000f03f0000000000000000)
xmm14 {
v4_float = {0, 1, 0, 0},
v2_double = {5.2635442471208903e-315, 0},
v16_int8 = “\000\000\000\000??\000\000\000\000\000\000\000\000\000”,
v8_int16 = {0, 0, 16256, 0, 0, 0, 0, 0},
v4_int32 = {0, 1065353216, 0, 0},
v2_int64 = {1065353216, 0},
uint128 = 0x000000003f8000000000000000000000
} (raw 0x00000000000000000000803f00000000)
xmm15 {
v4_float = {0, 1, 0, 0},
v2_double = {5.2635442471208903e-315, 0},
v16_int8 = “\000\000\000\000??\000\000\000\000\000\000\000\000\000”,
v8_int16 = {0, 0, 16256, 0, 0, 0, 0, 0},
v4_int32 = {0, 1065353216, 0, 0},
v2_int64 = {1065353216, 0},
uint128 = 0x000000003f8000000000000000000000
} (raw 0x00000000000000000000803f00000000)
mxcsr 0x1fa3 8099
(gdb)
User Avatar
Member
46 posts
Joined: Nov. 2006
Offline
Is there any additional info I can provide? Should I contact support for this issue or is the forum the best way to provide input?
User Avatar
Member
7735 posts
Joined: July 2005
Online
The forums (except for the beta ones) aren't actively monitored. Once the beta stage finishes, the best way is is to log a bug with all your info through the Submit H9 Bugs page (from the Support menu above).
User Avatar
Member
46 posts
Joined: Nov. 2006
Offline
Filled out a bug report so hopefully there's enough info to get a workaround or fix

The bug submission form [sidefx.com] doesn't list Mac OS X as an operating system choice, so hopefully it will get forwarded as appropriate.

Thanks for the info, was used to submitting bugs via the forums!
User Avatar
Member
7735 posts
Joined: July 2005
Online
Ah, please specify OSX: in the Summary for future bugs then until OSX starts appearing in the OS menu. Thanks!
  • Quick Links