Bug #10526 2007-02-28 20:29

jimp

Linux Crash on Workspace Rebuild

Using the 2-26-07 build for Linux, SVN 3645.

The following seems to be a problem with the Linux version only. The Windows version seemed to be okay.

I open the first .workspace file. Everything is okay. I can build and rebuild with no problem. Then I open a second .workspace file. When I use “Build > Build workspace” or “Build > Rebuild workspace” the bug report dialog appears. I don't think the bug report is actually sent because when i press “ok” CodeBlocks immediately closes. I captured the output on a terminal and when it crashes the message:

addr2line: 'codeblocks': No such file

is displayed several times. The workspace files are an old format (1.4) and there is a message saying they will be converted, but I don't think this makes any difference.

This problem occurs everytime I follow the above procedure.

Category
Application::Crash
Group
 
Status
Open
Close date
 
Assigned to
 
mandrav 2007-03-28 08:43

Sorry, but I can't reproduce. Any additional information? Does it

still persist?

jimp 2007-03-29 15:30

Using the 3-28-07 build for Linux, SVN 3788.

The problem is happening a little different now. Build Workspace seems to be OK but not Rebuild Workspace. Try the following.

Open a workspace.

Rebuild Workspace. It doesn't matter that there are no object files.

Answer yes to the warning message.

Open another workspace.

Rebuild Workspace.

Answer yes to the warning message.

At this point I get the debug window.

Press OK and CodeBlocks closes without sending the debug report.

If you can't reproduce this it might have something to do with the project files. I will send them if you need them. Let me know what happens. If you can't fix this I may try to fix it myself. It is getting to be annoying.

rickg22 2007-06-26 23:18

I think this relates to "rebuild workspace" not being disabled in the middle of a compilation. Is this fixed as of 4185 or more recent?

jimp 2007-07-01 18:26

I tried again on 2007-Jun-28 using svn 4193. It did the same thing

described on 2007-Mar-29 09:30.

jimp 2007-08-01 20:23
I made a temporary patch that fixed this problem. I traced using the procedure described below on 2007-Mar-29.

The problem is in src/plugins/compilergcc/compilergcc.cpp in the function CompilerGCC::UseMake(ProjectBuildTarget* target) at line 1458.

The statement causing the problem is at line 1462, wxString idx = m_Project->GetCompilerID();
It causes the function wxFatalSignalHandler() to be executed. It implies that the pointer m_Project is invalid.

I fixed the problem by commenting out lines 2421 thru 2426 so that UseMake() is never called.
//    if (UseMake())
//    {
//        wxString cmd = GetMakeCommandFor(mcBuild, bj.project, bt);
//        m_CommandQueue.Add(new CompilerCommand(cmd, wxEmptyString, bj.project, bt));
//    }
//    else
It works OK but probably isn't the "ultimate" solution.