Skip Menu |

This queue is for tickets about the Tk CPAN distribution.

Report information
The Basics
Id: 100399
Status: resolved
Priority: 0/
Queue: Tk

People
Owner: Nobody in particular
Requestors: lamprecht [...] cpan.org
Cc:
AdminCc:

Bug Information
Severity: (no value)
Broken in: (no value)
Fixed in: 804.032_501



Subject: t/async.t crashes

Message body is not shown because it is too large.

On 2014-11-17 04:16:37, LAMPRECHT wrote: Show quoted text
> On a Ubuntu 14.04 with Compiz Wm the testsuite (t/async.t) sometimes > causes a crash. The test async.t passes nevertheless. > This is a copy of the systems crash report. I removed the coredump > data for readability. Let me know if you want me to attach the whole > file.
I can reproduce the crash also on FreeBSD (if coredumps are enabled, otherwise the crash happens unnoticed).
On 2014-11-17 16:09:04, SREZIC wrote: Show quoted text
> On 2014-11-17 04:16:37, LAMPRECHT wrote:
> > On a Ubuntu 14.04 with Compiz Wm the testsuite (t/async.t) sometimes > > causes a crash. The test async.t passes nevertheless. > > This is a copy of the systems crash report. I removed the coredump > > data for readability. Let me know if you want me to attach the whole > > file.
> > I can reproduce the crash also on FreeBSD (if coredumps are enabled, > otherwise the crash happens unnoticed).
This is probably caused by the following change (from perl5160delta.pod): Now there is an extra pass during global destruction to fire destructors on any objects that might be left after the usual passes that check for objects referenced by scalars [perl #36347]. A possible workaround is to replace CORE::exit() by POSIX::_exit(0). But this feels rather unclean, maybe I can find another solution.
On 2014-11-17 16:22:55, SREZIC wrote: Show quoted text
> On 2014-11-17 16:09:04, SREZIC wrote:
> > On 2014-11-17 04:16:37, LAMPRECHT wrote:
> > > On a Ubuntu 14.04 with Compiz Wm the testsuite (t/async.t) > > > sometimes > > > causes a crash. The test async.t passes nevertheless. > > > This is a copy of the systems crash report. I removed the coredump > > > data for readability. Let me know if you want me to attach the > > > whole > > > file.
> > > > I can reproduce the crash also on FreeBSD (if coredumps are enabled, > > otherwise the crash happens unnoticed).
> > This is probably caused by the following change (from > perl5160delta.pod): > > Now there is an extra pass during global destruction to fire > destructors on any objects that might be left after the usual passes > that check for objects referenced by scalars [perl #36347]. > > A possible workaround is to replace CORE::exit() by POSIX::_exit(0). > But this feels rather unclean, maybe I can find another solution.
→ See experimental branch XXX-workaround-eager-global-destruction
Subject: Re: [rt.cpan.org #100399] t/async.t crashes
Date: Mon, 17 Nov 2014 22:58:58 +0100
To: bug-Tk [...] rt.cpan.org
From: Ch Lamprecht <ch.l.ngre [...] online.de>
Am 17.11.2014 um 22:45 schrieb Slaven_Rezic via RT: Show quoted text
> <URL: https://rt.cpan.org/Ticket/Display.html?id=100399 > > > On 2014-11-17 16:22:55, SREZIC wrote:
>> >> Now there is an extra pass during global destruction to fire >> destructors on any objects that might be left after the usual passes >> that check for objects referenced by scalars [perl #36347]. >> >> A possible workaround is to replace CORE::exit() by POSIX::_exit(0). >> But this feels rather unclean, maybe I can find another solution.
> > → See experimental branch XXX-workaround-eager-global-destruction >
Works here - no more coredumps.
On 2014-11-17 16:59:10, ch.l.ngre@online.de wrote: Show quoted text
> Am 17.11.2014 um 22:45 schrieb Slaven_Rezic via RT:
> > <URL: https://rt.cpan.org/Ticket/Display.html?id=100399 > > > > > On 2014-11-17 16:22:55, SREZIC wrote:
> >> > >> Now there is an extra pass during global destruction to fire > >> destructors on any objects that might be left after the usual passes > >> that check for objects referenced by scalars [perl #36347]. > >> > >> A possible workaround is to replace CORE::exit() by POSIX::_exit(0). > >> But this feels rather unclean, maybe I can find another solution.
> > > > → See experimental branch XXX-workaround-eager-global-destruction > >
> > Works here - no more coredumps. >
The workaround is now in master. Unfortunately I have no idea for a real fix --- effectively it means that one has to avoid forking after a Tk window is created, or to quit child processes always with POSIX::_exit. I added an entry in the ToDo file. Regards, Slaven
On 2014-12-14 15:19:53, SREZIC wrote: Show quoted text
> On 2014-11-17 16:59:10, ch.l.ngre@online.de wrote:
> > Am 17.11.2014 um 22:45 schrieb Slaven_Rezic via RT:
> > > <URL: https://rt.cpan.org/Ticket/Display.html?id=100399 > > > > > > > On 2014-11-17 16:22:55, SREZIC wrote:
> > >> > > >> Now there is an extra pass during global destruction to fire > > >> destructors on any objects that might be left after the usual > > >> passes > > >> that check for objects referenced by scalars [perl #36347]. > > >> > > >> A possible workaround is to replace CORE::exit() by > > >> POSIX::_exit(0). > > >> But this feels rather unclean, maybe I can find another solution.
> > > > > > → See experimental branch XXX-workaround-eager-global-destruction > > >
> > > > Works here - no more coredumps. > >
> > The workaround is now in master. Unfortunately I have no idea for a > real fix --- effectively it means that one has to avoid forking after > a Tk window is created, or to quit child processes always with > POSIX::_exit. > > I added an entry in the ToDo file. >
Tk 804.032_501 is released.