Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 12 Sep 2004 10:40:15 -0700
From:      Julian Elischer <julian@elischer.org>
To:        Joost Bekkers <joost@jodocus.org>
Cc:        freebsd-threads@freebsd.org
Subject:   Re: SIGILL @ pthread_create() after execv
Message-ID:  <414489FF.3090705@elischer.org>
In-Reply-To: <20040912141838.GA89862@bps.jodocus.org>
References:  <20040912141838.GA89862@bps.jodocus.org>

next in thread | previous in thread | raw e-mail | index | archive | help
Joost Bekkers wrote:
> Hello
> 
> After upgrading to 5.3-BETA3 (from 5.2.1-p9) one of my programs started to crash with
> Illigal Instruction (SIGILL) after it restarted itself with a execv
> 
> gdb is telling me:
> 
> Program terminated with signal 4, Illegal instruction.
> #0  0x28274d3f in pthread_testcancel () from /usr/lib/libpthread.so.1
> (gdb) where
> #0  0x28274d3f in pthread_testcancel () from /usr/lib/libpthread.so.1
> #1  0x2826126d in pthread_create () from /usr/lib/libpthread.so.1
> #2  0x08151364 in rdns_cache_init () at rdns_cache.c:317
> #3  0x081513d6 in gethostname_cached (addr=0x9cb757e "?d?", len=4, ttl_refresh=0) at rdns_cache.c:336
> #4  0x0811b17a in dns_gethostname (desc=0x9cb756c) at fd_network.c:130
> #5  0x080cb25e in fread_char (ch=0x9cb8418, fp=0x8244180) at save.c:1215
> #6  0x080ca539 in load_char_obj (d=0x9cb756c, name=0xbfbfd960 "Jodocus") at save.c:930
> #7  0x0811afa9 in copyover_recover_players () at fd_copyover.c:337
> #8  0x0807a1d7 in main (argc=5, argv=0xbfbfec70) at comm.c:256
> 
> I'm at a loss on how to get to the bottom of this problem.

I suspect we've screwed execve for threaded progrms :-)
Guys I probably have to free the 'upcall' structure or the first ptrhead call 
after execvs will find th e old one and try upcall to the wrong place..


I'll look at this tonight I hope..
thanks for the report..

> 
> Can anybody shed some light on this?
> 
> thanks
> 




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?414489FF.3090705>