Although Altera's Quartus II is officially only supported on (by now) rather old Linux releases (SUSE Enterprise Linux 9, Red Hat Enterprise Linux 3 and 4), up to Quartus 7.0, it also used to work quite well in practice on more recent distributions (openSUSE 10.2, Fedora Core 6, etc.). However, the new Quartus 7.1 fails badly on both openSUSE 10.2 and Fedora Core 6. It only opens (after the brief splash message) its main window and then immediately aborts with this "Internal Error" pop-up: *** Fatal Error: Segment Violation at 0x28, Module: quartus 0xFDA8D : FontDrawCharset::bInit(tagLOGFONTA*) + 0x22D (gdiuser32) 0xFF0AF : fontcache::GetNewFontDraw(tagLOGFONTA*, tagXFORM*, int, unsigned long, unsigned long) + 0x21F (gdiuser32) 0xFF347 : fontcache::FindOrCreateFontDraw(tagXFORM*, CW_DC*, tagLOGFONTA*) + 0x197 (gdiuser32) 0xFF50F : fontcache::FindOrCreateFontDraw(CW_DC*, tagLOGFONTA*) + 0xBF (gdiuser32) 0x101DD2 : fontcache::EnumFontsA(CW_DC*, tagLOGFONTA*, int (*)(tagLOGFONTA const*, tagTEXTMETRICA const*, unsigned long, long), long, int) + 0x432 (gdiuser32) 0x103353 : MwEnumFontsTT + 0x43 (gdiuser32) 0xC4562 : EnumFontFamiliesExA + 0x132 (gdiuser32) 0x26AFDE : GX_FONT_STATE::GX_FONT_STATE() + 0x2CE (og903as) 0xDD285 : GX_APP_STATE::GX_APP_STATE() + 0xD5 (og903as) 0xDE290 : GXGetAppState() + 0x90 (og903as) 0x11C3C1 : GXInit(unsigned int, CGXAbstractControlFactory*, char const*, char const*) + 0x21 (og903as) 0xDF4C6 : GXInit(unsigned int, char const*, char const*) + 0x46 (og903as) 0x3CD36 : resr_oaw_DllMain + 0x194 (resr_oaw) 0xB48E7 : Mw___resr_5foaw_wrapDllMain + 0x2B (resr_oaw) 0xE8EC1 : MwDllInPostConstruct + 0x71 (kernel32) 0xB4D2C : _Initializerresr_5foaw::construct() + 0x22 (resr_oaw) 0xB4A7E : _Initializerresr_5foaw::_Initializerresr_5foaw() + 0x9A (resr_oaw) 0xB4DCF : (resr_oaw) 0xB4E16 : (resr_oaw) 0xB4F45 : (resr_oaw) 0x375D9 : (resr_oaw) 0xE3E3 : (ld-linux.so.2) 0xE4F3 : (ld-linux.so.2) 0x11FF6 : (ld-linux.so.2) 0xE026 : (ld-linux.so.2) 0x11929 : (ld-linux.so.2) 0xD2D : (dl.so.2) 0xE026 : (ld-linux.so.2) 0x11DC : (dl.so.2) 0xC64 : dlopen + 0x44 (dl.so.2) 0xEB6BE : UnixLoadLibrary(CW_Instance*) + 0x5E (kernel32) 0xEA720 : (kernel32) 0xEA885 : LoadLibraryA + 0x35 (kernel32) 0xB1C0E : AfxLoadLibrary(char const*) + 0x2E (mfc400s) 0x181C8AB : afc_load_library + 0x1D (quartus) 0x73AE : thr_drl_native_load + 0x43 (ccl_thr_win32) 0x800A : thr_drl_load_internal + 0x76 (ccl_thr_win32) 0x8299 : thr_drl_load + 0xBA (ccl_thr_win32) 0x1806211 : AFC_TEMPLATE_MANAGER::load_template(AFC_DOC_INFO const*) + 0x62B (quartus) 0x10702ED : PJM_MAIN_FRAME::on_open_oaw(unsigned int) + 0xD5 (quartus) 0x111958 : _AfxDispatchCmdMsg(CCmdTarget*, unsigned int, int, void (CCmdTarget::*)(), void*, unsigned int, AFX_CMDHANDLERINFO*) + 0x218 (mfc400s) 0x111A77 : CCmdTarget::OnCmdMsg(unsigned int, int, void*, AFX_CMDHANDLERINFO*) + 0xC7 (mfc400s) 0xD21CB : CFrameWnd::OnCmdMsg(unsigned int, int, void*, AFX_CMDHANDLERINFO*) + 0x8B (mfc400s) 0x26836E : SECMDIFrameWnd::OnCmdMsg(unsigned int, int, void*, AFX_CMDHANDLERINFO*) + 0x16E (ot803as) 0xCE8E5 : CWnd::OnCommand(unsigned int, long) + 0xB5 (mfc400s) 0xD0DF9 : CFrameWnd::OnCommand(unsigned int, long) + 0x69 (mfc400s) 0x26816F : SECMDIFrameWnd::OnCommand(unsigned int, long) + 0x6F (ot803as) 0x1829D52 : AFC_MDI_FRAME::OnCommand(unsigned int, long) + 0x42 (quartus) 0xCB3CF : CWnd::OnWndMsg(unsigned int, unsigned int, long, long*) + 0x2CF (mfc400s) 0x108277F : PJM_MAIN_FRAME::OnWndMsg(unsigned int, unsigned int, long, long*) + 0x85 (quartus) 0xCAD59 : CWnd::WindowProc(unsigned int, unsigned int, long) + 0x39 (mfc400s) 0x269014 : SECMDIFrameWnd::WindowProc(unsigned int, unsigned int, long) + 0x64 (ot803as) 0xCF623 : AfxCallWndProc(CWnd*, HWND__*, unsigned int, unsigned int, long) + 0xC3 (mfc400s) 0xD00C3 : AfxWndProc(HWND__*, unsigned int, unsigned int, long) + 0x53 (mfc400s) 0xC7E9B : AfxWndProcBase(HWND__*, unsigned int, unsigned int, long) + 0x5B (mfc400s) 0x1809F1 : MwCallCallWndProc + 0x171 (gdiuser32) 0x18C57A : MwICallWindowProc + 0x7A (gdiuser32) 0x1989B6 : CallWindowProcA + 0x66 (gdiuser32) 0x10956EB : CSubclassWnd::WindowProc(unsigned int, unsigned int, long) + 0x9F (quartus) 0x1092FDF : CCoolMenuManager::WindowProc(unsigned int, unsigned int, long) + 0x199 (quartus) 0x1095829 : HookWndProc(HWND__*, unsigned int, unsigned int, long) + 0xF1 (quartus) 0x1809F1 : MwCallCallWndProc + 0x171 (gdiuser32) 0x18D841 : MwIDispatchMessage + 0xA1 (gdiuser32) 0x18D9FA : DispatchMessageA + 0x4A (gdiuser32) 0x12BFED : CWinThread::PumpMessage() + 0x7D (mfc400s) 0x12BAEA : CWinThread::Run() + 0x8A (mfc400s) 0x12DB59 : CWinApp::Run() + 0x29 (mfc400s) 0x182300A : AFC_APP::Run() + 0x160 (quartus) 0xDC2ED : AfxWinMain(HINSTANCE__*, HINSTANCE__*, char*, int) + 0xAD (mfc400s) 0x4496B83 : WinMain + 0x53 (quartus) 0x10C5DEF : main + 0x9D (quartus) 0x15F9C : __libc_start_main + 0xDC (c.so.6) 0x101F311 : (quartus) End-trace Has anyone already found a workaround (other than using an older OS, e.g. CentOS 4.5 works fine)? Markus -- Markus Kuhn, Computer Laboratory, University of Cambridge http://www.cl.cam.ac.uk/~mgk25/ || CB3 0FD, Great Britain
Quartus 7.1 segv on recent Linux distributions
Started by ●May 24, 2007
Reply by ●May 24, 20072007-05-24
I was able to solve the problem with the shell command rm -rf ~/.mw Deleting the .mw subdirectory in my home directory, which older Quartus versions had left there, caused the segmentation violation problem that I had with Quartus 7.1 to disappear. Just in case this helps anyone else ... Markus -- Markus Kuhn, Computer Laboratory, University of Cambridge http://www.cl.cam.ac.uk/~mgk25/ || CB3 0FD, Great Britain