Sign in Join

Live chat for Free Pascal, Lazarus, Delphi and every Pascal programmer.

Mailing lists / lazarus / 2010-01

gtk2 application segfaulting at startup

3 messages · 3 people · –

Reply by email Subscribe to this list Your subscription

Read-only archive. Use j and k to move between messages.

Brad Campbell

G'day all,

I've been chasing an odd fault since I upgraded to the latest lazarus in combination with fpc 2.4.1 (both compiled from svn source).

My host/target is i386 linux with the gtk2 widgetset.

Lazarus 0.9.29 r23360 FPC 2.4.1 i386-linux-gtk 2 (beta)

The crux is if I enable generation of gprof data (-pg) in the Compiler Options -> Linking dialog box, any gtk2 app will segfault while initialising. Took me a while to track down as for some reason my project had this set, but I don't use it when I compile using my own makefile.

To reproduce it here, I simply create a new application, check that box and hit run. It will segfault immediately. Without -pg set everything performs perfectly.

Now, I don't (have never) use gprof, so I'm not even sure why I set it in the first place, but I thought I might post about it in case it catches someone else out. It of course used to work perfectly with the 2.2.5 compiler.

Regards,
Brad

Dolphins are so intelligent that within a few weeks they can train Americans to stand at the edge of the pool and throw them fish.

Reply by email

Mattias Gaertner
to Brad Campbell
Show quoted text 19 lines
G'day all, I've been chasing an odd fault since I upgraded to the latest lazarus in combination with fpc 2.4.1 (both compiled from svn source). My host/target is i386 linux with the gtk2 widgetset. Lazarus 0.9.29 r23360 FPC 2.4.1 i386-linux-gtk 2 (beta) The crux is if I enable generation of gprof data (-pg) in the Compiler Options -> Linking dialog box, any gtk2 app will segfault while initialising. Took me a while to track down as for some reason my project had this set, but I don't use it when I compile using my own makefile. To reproduce it here, I simply create a new application, check that box and hit run. It will segfault immediately. Without -pg set everything performs perfectly. Now, I don't (have never) use gprof, so I'm not even sure why I set it in the first place, but I thought I might post about it in case it catches someone else out. It of course used to work perfectly with the 2.2.5 compiler.

It works with 2.5.1. I didn't try 2.4 with gprof yet.

Mattias

Reply by email

Johannes Müller
to Mattias Gaertner
Show quoted text 24 lines
On Mon, 04 Jan 2010 10:55:29 +0800 Brad Campbell wrote: > G'day all, > > I've been chasing an odd fault since I upgraded to the latest lazarus in combination with fpc 2.4.1 > (both compiled from svn source). > > My host/target is i386 linux with the gtk2 widgetset. > > Lazarus 0.9.29 r23360 FPC 2.4.1 i386-linux-gtk 2 (beta) > > The crux is if I enable generation of gprof data (-pg) in the Compiler Options -> Linking dialog > box, any gtk2 app will segfault while initialising. Took me a while to track down as for some reason > my project had this set, but I don't use it when I compile using my own makefile. > > To reproduce it here, I simply create a new application, check that box and hit run. It will > segfault immediately. Without -pg set everything performs perfectly. > > Now, I don't (have never) use gprof, so I'm not even sure why I set it in the first place, but I > thought I might post about it in case it catches someone else out. It of course used to work > perfectly with the 2.2.5 compiler. It works with 2.5.1. I didn't try 2.4 with gprof yet.

I can confirm that.

For about one or two weeks I tried that with FPC 2.4.0 RC and got the same Error only when -pg ist activated.

Here the GDB-Output:

#:~/Desktop/test$ ./project1
Speicherzugriffsfehler
#:~/Desktop/test$ gdb project1
GNU gdb 6.8-debian
Copyright (C) 2008 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html> This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. Type "show copying" and "show warranty" for details.
This GDB was configured as "i486-linux-gnu"...
(gdb) run
Starting program: /home/wolf/Desktop/test/project1 [Thread debugging using libthread_db enabled]
[New Thread 0xb73fe6b0 (LWP 2669)]

Program received signal SIGSEGV, Segmentation fault. [Switching to Thread 0xb73fe6b0 (LWP 2669)]
0xb77876fa in ?? () from /lib/i686/cmov/libc.so.6
(gdb)

Johannes M?ller

Reply by email