[Bug 20380] Heroes of Might and Magic III hangs
wine-bugs at winehq.org
wine-bugs at winehq.org
Sat Feb 13 20:03:48 CST 2010
http://bugs.winehq.org/show_bug.cgi?id=20380
--- Comment #76 from Michael Builov <mbuilov at gmail.com> 2010-02-13 20:03:47 ---
(In reply to comment #74)
sorry, i made errors in my test program (sig_test.c)
Instead of getpid() and kill() i had to use gettid() and tkill(). Here they
are:
#include <sys/syscall.h>
typedef int tid_t;
static tid_t gettid(void)
{
tid_t tid = (tid_t)syscall(SYS_gettid);
return tid;
}
static int tkill(tid_t tid, int sig)
{
int err = syscall(SYS_tkill, tid, sig);
return err;
}
With gettid() and tkill() the test completed successfully.
So send_thread_signal() in wine-1.1.38/server/ptrace.c should work properly.
And so may be i was wrong about "segv_handler was interrupted by usr1_handler".
But backtrace of faulted usr1_handler looks very strange:
#0 0x7efb5800 in ?? ()
#1 <signal handler called>
#2 0x7efb47e0 in ?? ()
#3 0xdeadbabe in ?? ()
#4 0x00329c3c in ?? ()
#5 0x00329970 in ?? ()
#6 0x0001003f in ?? ()
#7 0x00000000 in ?? ()
i found that "0xdeadbabe" number used in
wine-1.1.38/dlls/ntdll/signal_i386.c:setup_exception_record() so very likely
that wine has corrupted the stack, not Homm3.
--
Configure bugmail: http://bugs.winehq.org/userprefs.cgi?tab=email
Do not reply to this email, post in Bugzilla using the
above URL to reply.
------- You are receiving this mail because: -------
You are watching all bug changes.
More information about the wine-bugs
mailing list