Re: [xml] 2.4.27 thread problems



On Tue, Nov 19, 2002 at 09:31:07AM -0500, Daniel Veillard wrote:
On Tue, Nov 19, 2002 at 12:20:46PM +0000, Gary Pennington sun com wrote:
Hi,

There are problems in the threading support when I build 2.4.27 on
Solaris with the Sun compilers (I haven't tried with gcc, but I think
the same problem would appear).

  Hum, I haven't compiled with thread in a long time... But I remember
Igor made some patches to unify Windows/Unix threading recently, that may
be the cause of the problem.


There has been a huge amount of change to the threading support code since
2.4.26. It looks like there is a problem with the Unix builds. I can't
comment on the Windows build.

It looks like there has been a lot of change in the threading code since
2.4.26. I've just spent an hour or so trying to work out what is broken,
but I'm not making much progress at the moment.

   Igor ???

Does the library build properly on other platforms, e.g. Windows, Linux?

   Just rebuilt with --with-threads on linux Red Hat 8.0, it compiles fine
the general tests pass normally but not the thread one:


It compiles fine for me too, but the code it generates is not so fine :-(

paphio:~/XML -> ./testThreads
Segmentation fault

Running under gdb , I see a bunch of threads being created ...
[New Thread 2064637 (LWP 1319)]
[New Thread 2072830 (LWP 1320)]
[New Thread 2081023 (LWP 1321)]
pthread_create: Interrupted system call

Program exited with code 01.
(gdb)

   hum, that doesn't help :-(

strace ends up the following way:

--- SIGRTMIN (Real-time signal 0) ---
<... rt_sigsuspend resumed> )           = -1 EINTR (Interrupted system call)
sigreturn()                             = ? (mask now [RTMIN])
write(4, "\2000\3 \1\0\0\0\2\0X\1\2000\3@\2000\3 \0\0\0\0\0\0\0\0"..., 148) = 148
rt_sigprocmask(SIG_SETMASK, NULL, [RTMIN], 8) = 0
rt_sigsuspend([] <unfinished ...>
--- SIGRTMIN (Real-time signal 0) ---
<... rt_sigsuspend resumed> )           = -1 EINTR (Interrupted system call)
sigreturn()                             = ? (mask now [RTMIN])
write(4, "\2000\3 \1\0\0\0\3 X\1\2000\3 \2000\3@\0\0\0\0\0\0\0\0"..., 148) = 148rt_sigprocmask(SIG_SETMASK, 
NULL, [RTMIN], 8) = 0
rt_sigsuspend([] <unfinished ...>
--- SIGRTMIN (Real-time signal 0) ---
<... rt_sigsuspend resumed> )           = -1 EINTR (Interrupted system call)
--- SIGSEGV (Segmentation fault) ---
+++ killed by SIGSEGV +++
paphio:~/XML ->

   not much better :-\

Daniel

-- 
Daniel Veillard      | Red Hat Network https://rhn.redhat.com/
veillard redhat com  | libxml GNOME XML XSLT toolkit  http://xmlsoft.org/
http://veillard.com/ | Rpmfind RPM search engine http://rpmfind.net/

I'll try to make some time to look at this later in the week, but I'm out
of time today.

Gary
-- 
Gary Pennington
Solaris Kernel Development,
Sun Microsystems
Gary Pennington sun com



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]