[ES40-developers] Segfault in CDisk constructor
Status: Alpha
Brought to you by:
iamcamiel
From: Brian W. <bdw...@in...> - 2008-02-21 14:52:26
|
I'm getting a segfault when the free(devid_string) is being run. I added a line to print out the value of devid_string prior to the free() and here's what I get: pci0.2(cirrus): $Id: Cirrus.cpp,v 1.13 2008/02/20 22:29:25 iamcamiel Exp $ pci0.3(sym53c810): $Id: Sym53C810.cpp,v 1.5 2008/02/18 13:44:48 iamcamiel Exp $ Devid string: 0xba0 %SYS-F-SEGFAULT: The Alpha Simulator has Segfaulted. -SYS-F-SEGFAULT: Backtrace follows. backtrace() returned 12 addresses. 12 ./es40(_Z12segv_handleri+0x1c) [0x431abc] 11 /lib64/libc.so.6 [0x3651230f30] 10 /lib64/libc.so.6(cfree+0x3b) [0x3651275edb] 9 ./es40(_ZN5CDiskC2EP13CConfiguratorP7CSystemP15CDiskControllerii+0xb1) [0x43cc81] 8 ./es40(_ZN9CDiskFileC1EP13CConfiguratorP7CSystemP15CDiskControllerii+0x19) [0x43f779] 7 ./es40(_ZN13CConfigurator10initializeEv+0x535) [0x438515] 6 ./es40(_ZN13CConfigurator10initializeEv+0x1ca) [0x4381aa] 5 ./es40(_ZN13CConfigurator10initializeEv+0x1ca) [0x4381aa] 4 ./es40(_ZN13CConfiguratorC1EPS_PcS1_S1_m+0x41b) [0x438c5b] 3 ./es40(main+0x1a4) [0x431944] 2 /lib64/libc.so.6(__libc_start_main+0xf4) [0x365121e074] 1 ./es40(__gxx_personality_v0+0x119) [0x410af9] Is it some weird clash between Disk.h's protected devid_string and SystemComponent's public devid_string? commenting out the free() causes everything to work ok. It looks like it was added in version 1.9 which was jan 9th. Since it has been working, I suspect that the compiler just glossed over the problem until something recently was changed (or an optimization change) Brian |