Re: linuxthreads, gimp 1.1+, dies

1999-01-19 Thread brian
Brian Feldman suggested:
 Try compiling with debugging info, get a coredump, and debug with the binary
 that has the full debugging symbols.

Gimp (CVS) compiled with 
CFLAGS=-g -D_THREAD_SAFE -I/usr/local/include -L/usr/local/lib -O2 -m486 -pipe 
-lpthread

Brian Litzinger wrote:
Everything compiles and it runs.  However, various operations crash...

Every crash I've generated since adding -g as been in the app/tile_cache.c
code.  Seems to be some problem in the list management.

I recompiled that particular file using the non-thread version and have
not been able to cause a crash, so I'll look more closely at that file.

Thanks for the help,

-- 
Brian Litzinger br...@litzinger.com

To Unsubscribe: send mail to majord...@freebsd.org
with unsubscribe freebsd-current in the body of the message


Re: linuxthreads, gimp 1.1+, dies

1999-01-19 Thread Jeremy Lea
Hi,

On Tue, Jan 19, 1999 at 02:45:39AM -0800, br...@worldcontrol.com wrote:
 Gimp (CVS) compiled with
 CFLAGS=-g -D_THREAD_SAFE -I/usr/local/include -L/usr/local/lib -O2 -m486
 -pipe -lpthread

Hmm, if you're using the libpthread from lt.tar.com, and you installed it
according to the instructions, then that should read:

 CFLAGS=-g -D_THREAD_SAFE -DLINUXTHREADS -I/usr/local/include
 --L/usr/local/lib -O2 -m486 pipe -lpthread

So it picks up the correct header.  But I doubt you would have got it
compiled without that?  Also, are you using glib11-devel/gtk11-devel ports
linked against libpthread?  By default the ports link against libc_r.

Also, the linuxthreads stuff needs libc to be reentrant, from what I
understand, and Richard hasn't released (or finished) those patches yet.

Regards,
 -Jeremy

PS Your mailer is setting a bogus followup's line... or mine is misreading
it...

-- 
  |If I was not so weak, if I was not so cold,
--+--  If I was not so scared of being broken, growing old,
  |I would be. I would be... frail.
  | - jars of clay / much afraid / frail

To Unsubscribe: send mail to majord...@freebsd.org
with unsubscribe freebsd-current in the body of the message


Re: linuxthreads, gimp 1.1+, dies

1999-01-19 Thread Richard Seaman, Jr.
On Mon, Jan 18, 1999 at 06:27:18PM -0800, br...@worldcontrol.com wrote:

 I running gimp -unstable (CVS 1/17/1998) and FreeBSD -current
 (1/17/1998) with
 
 CFLAGS= -O2 -m486 -pipe -DCOMPAT_LINUX_THREADS -DVM_STACK
 COPTFLAGS= -O -pipe -DCOMPAT_LINUX_THREADS -DVM_STACK
 
 and linuxthreads port from http://lt.tar.com.
 
 recompiled glib, gtk+ and gimp which works fine reasonably
 well without threads.
 
 with threads
 CFLAGS=-D_THREAD_SAFE -I/usr/local/include -L/usr/local/lib -O2 -m486 -pipe 
 -lpthread
 
 Everything compiles and it runs.  However, various operations crash 
 for example:

Thanks for the report.  I'll look into it, though it may be a day or two
before I can get to it.  

One question, I assume you compiled glib and gtk+ with linuxthreads also?
If so, can you send me the makefile (and any other) mods you made to do
the compile?  Thanks.

-- 
Richard Seamman, Jr.  email: d...@tar.com
5182 N. Maple Lanephone: 414-367-5450
Chenequa WI 53058 fax:   414-367-5852

To Unsubscribe: send mail to majord...@freebsd.org
with unsubscribe freebsd-current in the body of the message


Re: linuxthreads, gimp 1.1+, dies

1999-01-19 Thread Richard Seaman, Jr.
On Tue, Jan 19, 1999 at 02:06:13PM +0200, Jeremy Lea wrote:

 On Tue, Jan 19, 1999 at 02:45:39AM -0800, br...@worldcontrol.com wrote:
  Gimp (CVS) compiled with
  CFLAGS=-g -D_THREAD_SAFE -I/usr/local/include -L/usr/local/lib -O2 -m486
  -pipe -lpthread
 
 Hmm, if you're using the libpthread from lt.tar.com, and you installed it
 according to the instructions, then that should read:
 
  CFLAGS=-g -D_THREAD_SAFE -DLINUXTHREADS -I/usr/local/include
  --L/usr/local/lib -O2 -m486 pipe -lpthread
 
 So it picks up the correct header.  But I doubt you would have got it
 compiled without that? 

Actually, the new version, in FreeBSD ports form, doesn't require 
-DLINUXTHREADS anymore, but it does require -I/usr/local/include to
pick up the right header, since it installs a pthread.h into 
/usr/local/include.  This conflicts with the pthread.h in /usr/include.

 Also, are you using glib11-devel/gtk11-devel ports
 linked against libpthread?  By default the ports link against libc_r.

Right.

 Also, the linuxthreads stuff needs libc to be reentrant, from what I
 understand, and Richard hasn't released (or finished) those patches yet.

libc is partly re-entrant, partly not.  It depends on what calls you're 
making.  As a rule of thumb, wherever the pthread spec calls for a _r
function (eg. readdir_r), the underlying function is not thread safe,
and either the _r function is missing or is not threadsafe itself
(eg. localtime_r exists in libc -- recent versions -- but is not thread
safe).  strrok_r is an exception, I think.


-- 
Richard Seamman, Jr.  email: d...@tar.com
5182 N. Maple Lanephone: 414-367-5450
Chenequa WI 53058 fax:   414-367-5852

To Unsubscribe: send mail to majord...@freebsd.org
with unsubscribe freebsd-current in the body of the message


Re: linuxthreads, gimp 1.1+, dies

1999-01-18 Thread Brian Feldman
On Mon, 18 Jan 1999 br...@worldcontrol.com wrote:

 I running gimp -unstable (CVS 1/17/1998) and FreeBSD -current
 (1/17/1998) with
 
 CFLAGS= -O2 -m486 -pipe -DCOMPAT_LINUX_THREADS -DVM_STACK
 COPTFLAGS= -O -pipe -DCOMPAT_LINUX_THREADS -DVM_STACK
 
 and linuxthreads port from http://lt.tar.com.
 
 recompiled glib, gtk+ and gimp which works fine reasonably
 well without threads.
 
 with threads
 CFLAGS=-D_THREAD_SAFE -I/usr/local/include -L/usr/local/lib -O2 -m486 -pipe 
 -lpthread

Where's -g?

 
 Everything compiles and it runs.  However, various operations crash 
 for example:
 
 starting tile preswapper
 /usr/local/bin/gimp fatal error: sigsegv caught
 /usr/local/bin/gimp (pid:15557): [E]xit, [H]alt, show [S]tack trace or 
 [P]roceed: 
 S
 #0  0x282a0326 in g_on_error_stack_trace (
 #1  0x282a0254 in g_on_error_query (prg_name=0xefbfdb40 /usr/local/bin/gimp)
 #2  0x808b867 in fatal_error ()
 #3  0x80cef0a in on_signal ()
 #4  signal handler called
 #5  0x8100a33 in tile_idle_thread ()
 #6  0x28155ea1 in pthread_start_thread (arg=0xeb7ffd08)
 #7  0x2815650d in _clone () at clone.S:1
 #8  0x7202c in ?? ()
 #9  0x1 in ?? ()
 

Try compiling with debugging info, get a coredump, and debug with the binary
that has the full debugging symbols.

 
 -- 
 Brian Litzinger br...@litzinger.com
 
 To Unsubscribe: send mail to majord...@freebsd.org
 with unsubscribe freebsd-current in the body of the message
 

 Brian Feldman_ __  ___ ___ ___  
 gr...@unixhelp.org   _ __ ___ | _ ) __|   \ 
 http://www.freebsd.org/ _ __ ___  | _ \__ \ |) |
 FreeBSD: The Power to Serve!  _ __ ___  _ |___/___/___/ 


To Unsubscribe: send mail to majord...@freebsd.org
with unsubscribe freebsd-current in the body of the message