* * *

Author Topic: Error: Project raised exception class 'External:SIGSEGV'.  (Read 158472 times)

Marc

  • Administrator
  • Hero Member
  • *
  • Posts: 2484
Re: Error: Project raised exception class 'External:SIGSEGV'.
« Reply #30 on: December 14, 2009, 12:26:01 pm »
if I had started with 28.2 since it generates SigSEGV with win2k every time I run it no matter the code.

This is not related to the problem reported by arcan. One of the changes from 9.26 to 9.28 was a cleaner implementation of importing missing win32 functions not present in current FPC.
With this change there was made an error which affects all win9x, winNT and some win2k users.
Since none of the developers use those platforms it wasn't noticed until recently. Since a few weeks it is solved in trunk.
//--
{$I stdsig.inc}
//-I still can't read someones mind
//-Bugs reported here will be forgotten. Use the bug tracker

walter8088

  • Newbie
  • Posts: 1
Re: Error: Project raised exception class 'External:SIGSEGV'.
« Reply #31 on: December 23, 2009, 06:48:59 am »
Maybe I've already solved this problem,I just shut down the Trojan horse engine of my Anti-virus software. Then the window 'raised exception class External SIGSEGV'  disappeared. So I think that perhaps when the debugger runs , it also launched some plug-in or mid-ware which was wrongly treated as an Trojan horse virus so this windows appeared.

(original text)
也许我已经发现了解决这个问题的方法了,告诉大家:我将我机器上安装的防护软件中的木马防火墙功能关闭后,这个问题就再也没有出现过了,也许是调试器中调用的插件被木马防火墙误认为是木马程序了!不过我最后没有找到具体是哪个文件被误认为是木马了,否则我只要简单的在木马防火墙设置中将其加入信任程序列表后就不必整个关闭木马防火墙了,我试验了所有安装目录下的exe和dll文件好像都不能避免这个窗口的出现,所以以后编译的时候只能暂时先关闭木马防火墙了,然后用完了可别忘记打开木马防火墙啊,虽然有点麻烦,但还是管用的。

(Marc: added note of original text)
« Last Edit: December 23, 2009, 10:13:18 am by Marc »

badgereden

  • New member
  • *
  • Posts: 9
Re: Error: Project raised exception class 'External:SIGSEGV'.
« Reply #32 on: January 11, 2010, 02:52:37 pm »
Today,I have recieved the error message in another condition.

procedure TForm1.Button1Click(Sender: TObject);
begin
  self.Close;  //run well
end;

while I changed the codes self.Close to self.Free or self.Destroy,I recieved the error message such as the title.

I dont understand this error message,I hope somebody can help me.

theo

  • Global Moderator
  • Hero Member
  • *****
  • Posts: 1889
Re: Error: Project raised exception class 'External:SIGSEGV'.
« Reply #33 on: January 11, 2010, 03:03:09 pm »
Why do you want to free the form this way?
You cannot do such things in the event handlers. It's like "suicide" ;-)

The message:
http://en.wikipedia.org/wiki/SIGSEGV



Marc

  • Administrator
  • Hero Member
  • *
  • Posts: 2484
Re: Error: Project raised exception class 'External:SIGSEGV'.
« Reply #34 on: January 12, 2010, 01:12:28 am »
If you want to do this, use release:
Code: Pascal  [Select]
  1. procedure TForm1.Button1Click(Sender: TObject);
  2. begin
  3.   self.Release;
  4. end;
//--
{$I stdsig.inc}
//-I still can't read someones mind
//-Bugs reported here will be forgotten. Use the bug tracker

piita

  • Newbie
  • Posts: 4
Re: Error: Project raised exception class 'External:SIGSEGV'.
« Reply #35 on: February 15, 2010, 08:36:45 pm »
This SIGSEGV thing appeared every time for me too, even with a simple empty form. The problem was indeed Defense+ in Comodo Firewall as reported on other threads here. But the thing is that I have always had Defense+ turned off and only been using the firewall. Giving gdb.exe all access rights in Defense+ changed nothing, as did putting it in the My Own Safe Files category. I don't know if Comodos updater is to blame because when I removed and reinstalled the firewall, SIGSEGV was gone. So a clean install solved it in my case.

Considering how many threads there are about SIGSEGV and the amount of views on these, maybe it should be added to the FAQ or some common problems page.

theo

  • Global Moderator
  • Hero Member
  • *****
  • Posts: 1889
Re: Error: Project raised exception class 'External:SIGSEGV'.
« Reply #36 on: February 16, 2010, 01:04:23 am »
Considering how many threads there are about SIGSEGV and the amount of views on these, maybe it should be added to the FAQ or some common problems page.

SIGSEGV is just a general POSIX error message which means that something went wrong with memory referencing.
There are zillions of different causes for a SIGSEGV, so a FAQ entry would not help a lot.
http://en.wikipedia.org/wiki/SIGSEGV

hovercraft

  • Newbie
  • Posts: 1
Re: Error: Project raised exception class 'External:SIGSEGV'.
« Reply #37 on: March 12, 2010, 03:48:49 am »
 Hello everybody! I suppose these spurious External:SIGSEGV errors produced somehow by dgb itself when it makes try to catch any first-chance exception thrown in some external module (DLL) and fails to do it properly. These exceptions would be caught by the DLL itself been it ran without debugger. Under debugging session gdb takes over however (using it's "first-chance"). Exceptions itself caused in most cases by many antiviral programs and other soft which injects its dlls in every process.
 The solution in my opinion may be to disable gdb to catch first-chance exceptions of certain type. Unfortunately I don't know how to do it with Lazarus (at list in my version 0.9.23b).
 For example I have some function F1 in the DLL module f1.dll. When I call this function from a program built with VCExpress 2005 running under their debugger, I can see the following message in the debugger output window:
"First chance exception at ...: 0x000006BA: RPC server inaccessible" and execution continue normally because exception caught by DLL at "second chance".
 In contrast, when I call the same function from Lazarus IDE, execution stops at this point and famous "External:SIGSEGV" message shown.
The same behaviour will be with any Lazarus or gdb version, I believe.

Marc

  • Administrator
  • Hero Member
  • *
  • Posts: 2484
Re: Error: Project raised exception class 'External:SIGSEGV'.
« Reply #38 on: March 12, 2010, 09:42:18 am »
It's not implemented yet to control this from lazarus
//--
{$I stdsig.inc}
//-I still can't read someones mind
//-Bugs reported here will be forgotten. Use the bug tracker

Oldjoe

  • Newbie
  • Posts: 1
Re: Error: Project raised exception class 'External:SIGSEGV'.
« Reply #39 on: May 31, 2010, 06:03:07 pm »
In my case, I discovered that the GbPlugin (installed in most of the homebank pages) was causing the 'External:SIGSEGV' problem.
I did this running the GDB through the command line.

c:\path_to_gdb\gdb your_app.exe

enter "r" followed by return
when it fails enter "bt" and read the trace.

I tried to uninstall the GbPlugin, but it is a nasty thing to uninstall.

Hope this helps,
 
Luigi Scarminio

Eugene Loza

  • Hero Member
  • *****
  • Posts: 506
    • My "almost daily" development blog
Re: Error: Project raised exception class 'External:SIGSEGV'.
« Reply #40 on: August 05, 2010, 07:24:19 pm »
OK, so I solved this problem. I am COMODO Internet Security user too.

Thanks a lot!!! That worked for me too!!!

Quote
Firstly I have downloaded Mark Russinvoch's program AutoRuns http://technet.microsoft.com/ru-ru/sysinternals/bb963902.aspx
, then I openned it, followed to AppInit tab and disabled guard32.dll

I've just found guard32.dll using regedit.exe and deleted its instance when it appears under AppInit parameter - much better than downloading and installing programs for single launch...
Lazarus 1.9 + FPC 3.1.1 Debian Jessie 64 bit.

My Free and Open Source games in Lazarus/FreePascal/CastleGameEngine:
https://decoherence.itch.io/
(and some ancient games in Turbo Pascal too)
Sources are here: https://github.com/eugeneloza?tab=repositories

Marc

  • Administrator
  • Hero Member
  • *
  • Posts: 2484
Re: Error: Project raised exception class 'External:SIGSEGV'.
« Reply #41 on: August 06, 2010, 12:34:06 am »
I've just found guard32.dll using regedit.exe and deleted its instance when it appears under AppInit parameter - much better than downloading and installing programs for single launch...

You realize that you now have effectively disabled then on access virus scanning of your system ? You may want to look at a different virus scanner.
//--
{$I stdsig.inc}
//-I still can't read someones mind
//-Bugs reported here will be forgotten. Use the bug tracker

JimR

  • New member
  • *
  • Posts: 7
Error: Project raised exception class 'External:SIGSEGV'.
« Reply #42 on: August 08, 2010, 01:31:08 am »
I am running Windows 7 64 bit, 9gb ram, I7 chipset, in a Dell Studio XPS 435T .  I have Comodo Firewall running but have set all of the Lazarus directory as safe.  I have Delphi 2010 on this machine also.  Even after setting all of Lazarus as safe I still get the 'External: SIGSEGV' error when I press 'F9'.  In case it helps, after pressing the 'OK' from the SIGSEGV error the Assembler window pops up with this line highlighted:
10012653  66813e4d5a     cmpw    $0x5a4d, (%esi)
Under the Run tab, I have 'Stop   Ctrl-F2' option highlighted, but nothing is running.  So I stop it.  I can use Windows Explorer and run the .exe file created by trying to compile and run the program and the program runs fine.  So it is building and compiling the program as it should, but it will not automatically run it, I have to do it manually.  It seems there are plenty of folks with this problem, plenty of 'try this or that' suggestions offered, but nothing that works.  I did shut down Comodo, no change in what happens.  That is about all I can think of that might be of any help in finding a solution. 

Somewhat of a separate issue.  Reading some solutions given the person presumes a knowledge level that may not always exist by the person having a problem.  Sometimes I fall into that category myself.  Try and keep solutions at a level that anyone can follow.  Just a thought. 

If this is truly a problem with a file name, change the file name so it will not conflict with other programs and be done with it.  Even if it means there are two files on the system with different names.  Better than fighting a never ending battle.  Better than saying don't use this firewall or anti-virus software or any other software.

Marc

  • Administrator
  • Hero Member
  • *
  • Posts: 2484
Re: Error: Project raised exception class 'External:SIGSEGV'.
« Reply #43 on: August 08, 2010, 02:15:53 pm »
This is a know problem with the comodo firewall. This firewall hooks a dll in every program you run. Even if you tell that a directory is OK, since it is checked after the hook.
The problem is that the debugger we use (gdb) and this hook doesn't work well together, resulting in a SIGSEGV. When running without debugger, either this exception is handled, otr it doesn't happen.

What you can do is contact Comodo, explain that you get a crash when you want to debug an application using gdb. Or you can switch to a different firewall (or you can turn off your firewall completely, but I don't think you want that)


BTW, this issue seems to be known at the comodo formum too: http://forums.comodo.com/bug-reports/guard32dll-and-gdb-problems-cfp-3025378-t25287.15.html

BTW2, this may solve it: http://forums.comodo.com/empty-t47299.0.html
« Last Edit: August 08, 2010, 02:21:44 pm by Marc »
//--
{$I stdsig.inc}
//-I still can't read someones mind
//-Bugs reported here will be forgotten. Use the bug tracker

JimR

  • New member
  • *
  • Posts: 7
Re: Error: Project raised exception class 'External:SIGSEGV'.
« Reply #44 on: August 08, 2010, 05:24:37 pm »
Thanks for the reply, and I did try the mentioned entry that was given, same results.  But appreciate the try.  Maybe in the future this will get fixed, but at least it can use it, I just have to ignore the error message, stop the execution, and used Windows Explorer to kick off the .exe file to actually run my compiled program.  My hope is one day when Lazarus works as intended, I can stop paying for Delphi updates and totally switch to Lazarus.  It would be a lot cheaper to give a few hundred dollars to Lazarus as apposed to the big bucks I have to keep paying for Delphi.  In the mean time I'll keep playing with Lazarus from time to time and wait.

Might add all so, I disabled Comodo Virus Defense, Network Defense, and stopped all activities and I still get the same error message.

 

Recent

Get Lazarus at SourceForge.net. Fast, secure and Free Open Source software downloads Open Hub project report for Lazarus