NetBSD Problem Report #47123
From tsutsui@ceres.dti.ne.jp Thu Oct 25 14:48:30 2012
Return-Path: <tsutsui@ceres.dti.ne.jp>
Received: from mail.netbsd.org (mail.netbsd.org [149.20.53.66])
by www.NetBSD.org (Postfix) with ESMTP id A0B1563E585
for <gnats-bugs@gnats.NetBSD.org>; Thu, 25 Oct 2012 14:48:30 +0000 (UTC)
Message-Id: <201210251448.q9PEmQr6012959@mirage.localdomain>
Date: Thu, 25 Oct 2012 23:48:26 +0900 (JST)
From: Izumi Tsutsui <tsutsui@ceres.dti.ne.jp>
Reply-To: tsutsui@ceres.dti.ne.jp
To: gnats-bugs@gnats.NetBSD.org
Cc: tsutsui@ceres.dti.ne.jp
Subject: sysinst fails with "openpty() failed" on many ports
X-Send-Pr-Version: 3.95
>Number: 47123
>Category: install
>Synopsis: sysinst fails with "openpty() failed" on many ports
>Confidential: no
>Severity: critical
>Priority: medium
>Responsible: install-manager
>State: closed
>Class: sw-bug
>Submitter-Id: net
>Arrival-Date: Thu Oct 25 14:50:00 +0000 2012
>Closed-Date: Fri Oct 26 18:28:58 +0000 2012
>Last-Modified: Sat May 11 21:40:08 +0000 2013
>Originator: Izumi Tsutsui
>Release: NetBSD 6.0
>Organization:
>Environment:
System: NetBSD 6.0
Machine: emips, hp300, hpcarm, hpcmips, hpcsh, mvme68k, pmax, vax
>Description:
On emips, hp300, hpcarm, hpcmips,hpcsh, mvme68k, pmax, and vax,
miniroot.fs in installation kernels lack /dev/pty* device nodes
in miniroot so sysinst will fail as mentioned in PR/46812 for sparc.
http://gnats.NetBSD.org/46812
>How-To-Repeat:
Code inspection, and at least one failure rerort on hpcmips
which is also confirmed on gxemul here.
>Fix:
Add "opty" to MAKEDEVTARGETS for workaround until we start
"real fix" discussed in the following thread?
http://mail-index.netbsd.org/source-changes-d/2012/09/06/msg005236.html
Index: emips/miniroot/Makefile.inc
===================================================================
RCS file: /cvsroot/src/distrib/emips/miniroot/Makefile.inc,v
retrieving revision 1.2
diff -u -p -r1.2 Makefile.inc
--- emips/miniroot/Makefile.inc 15 Jun 2011 14:47:43 -0000 1.2
+++ emips/miniroot/Makefile.inc 25 Oct 2012 14:33:54 -0000
@@ -5,7 +5,7 @@ DBG= -Os
IMAGESIZE= 32m
MAKEFS_FLAGS= -f 15
IMAGEENDIAN= be
-MAKEDEVTARGETS= all
+MAKEDEVTARGETS= all opty
LISTS+= ${DISTRIBDIR}/common/list.sysinst
MTREECONF+= ${.CURDIR}/mtree.usr.install
IMAGEDEPENDS+= ${ARCHDIR}/dot.profile \
Index: hp300/miniroot/Makefile.inc
===================================================================
RCS file: /cvsroot/src/distrib/hp300/miniroot/Makefile.inc,v
retrieving revision 1.12
diff -u -p -r1.12 Makefile.inc
--- hp300/miniroot/Makefile.inc 11 Feb 2010 09:06:48 -0000 1.12
+++ hp300/miniroot/Makefile.inc 25 Oct 2012 14:33:54 -0000
@@ -2,7 +2,7 @@
IMAGESIZE= 7m
IMAGEENDIAN= be
-MAKEDEVTARGETS= all
+MAKEDEVTARGETS= all opty
MAKEFS_FLAGS= -o density=4k
IMAGEDEPENDS+= ${ARCHDIR}/dot.profile ${ARCHDIR}/install.md \
${KERNOBJDIR}/INSTALL/netbsd
Index: hpcarm/miniroot/Makefile.inc
===================================================================
RCS file: /cvsroot/src/distrib/hpcarm/miniroot/Makefile.inc,v
retrieving revision 1.6
diff -u -p -r1.6 Makefile.inc
--- hpcarm/miniroot/Makefile.inc 11 Feb 2010 09:06:48 -0000 1.6
+++ hpcarm/miniroot/Makefile.inc 25 Oct 2012 14:33:54 -0000
@@ -5,7 +5,7 @@ DBG= -Os
IMAGESIZE= 4352k
MAKEFS_FLAGS= -o density=2k
IMAGEENDIAN= le
-MAKEDEVTARGETS= all
+MAKEDEVTARGETS= all opty
LISTS+= ${DISTRIBDIR}/common/list.sysinst
MTREECONF+= ${.CURDIR}/mtree.usr.install
IMAGEDEPENDS+= ${ARCHDIR}/dot.profile \
Index: hpcmips/miniroot/Makefile.inc
===================================================================
RCS file: /cvsroot/src/distrib/hpcmips/miniroot/Makefile.inc,v
retrieving revision 1.19
diff -u -p -r1.19 Makefile.inc
--- hpcmips/miniroot/Makefile.inc 11 Feb 2010 09:06:48 -0000 1.19
+++ hpcmips/miniroot/Makefile.inc 25 Oct 2012 14:33:54 -0000
@@ -5,7 +5,7 @@ DBG= -Os
IMAGESIZE= 4352k
MAKEFS_FLAGS= -o density=2k
IMAGEENDIAN= le
-MAKEDEVTARGETS= all
+MAKEDEVTARGETS= all opty
LISTS+= ${DISTRIBDIR}/common/list.sysinst
MTREECONF+= ${.CURDIR}/mtree.usr.install
IMAGEDEPENDS+= ${ARCHDIR}/dot.profile \
Index: hpcsh/miniroot/Makefile.inc
===================================================================
RCS file: /cvsroot/src/distrib/hpcsh/miniroot/Makefile.inc,v
retrieving revision 1.7
diff -u -p -r1.7 Makefile.inc
--- hpcsh/miniroot/Makefile.inc 15 May 2010 05:08:53 -0000 1.7
+++ hpcsh/miniroot/Makefile.inc 25 Oct 2012 14:33:54 -0000
@@ -6,7 +6,7 @@ DBG= -Os
IMAGESIZE= 4m
MAKEFS_FLAGS= -o density=2k
IMAGEENDIAN= le
-MAKEDEVTARGETS= all
+MAKEDEVTARGETS= all opty
LISTS+= ${DISTRIBDIR}/common/list.sysinst.en
MTREECONF+= ${.CURDIR}/mtree.usr.install
IMAGEDEPENDS+= ${ARCHDIR}/dot.profile
Index: mvme68k/miniroot/Makefile.inc
===================================================================
RCS file: /cvsroot/src/distrib/mvme68k/miniroot/Makefile.inc,v
retrieving revision 1.12
diff -u -p -r1.12 Makefile.inc
--- mvme68k/miniroot/Makefile.inc 11 Feb 2010 09:06:49 -0000 1.12
+++ mvme68k/miniroot/Makefile.inc 25 Oct 2012 14:33:54 -0000
@@ -3,7 +3,7 @@
IMAGESIZE= 7m
MAKEFS_FLAGS= -o density=4096
IMAGEENDIAN= be
-MAKEDEVTARGETS= all
+MAKEDEVTARGETS= all opty
IMAGEDEPENDS+= ${ARCHDIR}/dot.profile ${ARCHDIR}/install.md \
${KERNOBJDIR}/GENERIC/netbsd
LISTS+= ${DISTRIBDIR}/common/list.sysinst
Index: pmax/miniroot/Makefile.inc
===================================================================
RCS file: /cvsroot/src/distrib/pmax/miniroot/Makefile.inc,v
retrieving revision 1.23
diff -u -p -r1.23 Makefile.inc
--- pmax/miniroot/Makefile.inc 11 Feb 2010 09:06:49 -0000 1.23
+++ pmax/miniroot/Makefile.inc 25 Oct 2012 14:33:54 -0000
@@ -9,7 +9,7 @@ DBG= -Os
IMAGESIZE= 32m
MAKEFS_FLAGS= -f 15
IMAGEENDIAN= le
-MAKEDEVTARGETS= all
+MAKEDEVTARGETS= all opty
LISTS= ${.CURDIR}/list ${ARCHDIR}/list${SFX}
LISTS+= ${DISTRIBDIR}/common/list.sysinst
MTREECONF+= ${.CURDIR}/mtree.usr.install
Index: vax/miniroot/Makefile.inc
===================================================================
RCS file: /cvsroot/src/distrib/vax/miniroot/Makefile.inc,v
retrieving revision 1.22
diff -u -p -r1.22 Makefile.inc
--- vax/miniroot/Makefile.inc 3 Jul 2012 21:49:55 -0000 1.22
+++ vax/miniroot/Makefile.inc 25 Oct 2012 14:33:54 -0000
@@ -3,7 +3,7 @@
IMAGESIZE= 7m
MAKEFS_FLAGS= -o density=3k
IMAGEENDIAN= le
-MAKEDEVTARGETS= all
+MAKEDEVTARGETS= all opty
LISTS+= ${DISTRIBDIR}/common/list.sysinst
IMAGEDEPENDS+= ${ARCHDIR}/dot.profile \
${DESTDIR}/usr/mdec/boot \
>Release-Note:
>Audit-Trail:
From: "Izumi Tsutsui" <tsutsui@netbsd.org>
To: gnats-bugs@gnats.NetBSD.org
Cc:
Subject: PR/47123 CVS commit: src/distrib
Date: Fri, 26 Oct 2012 18:15:56 +0000
Module Name: src
Committed By: tsutsui
Date: Fri Oct 26 18:15:56 UTC 2012
Modified Files:
src/distrib/emips/miniroot: Makefile.inc
src/distrib/hp300/miniroot: Makefile.inc
src/distrib/hpcarm/miniroot: Makefile.inc
src/distrib/hpcmips/miniroot: Makefile.inc
src/distrib/hpcsh/miniroot: Makefile.inc
src/distrib/mvme68k/miniroot: Makefile.inc
src/distrib/pmax/miniroot: Makefile.inc
src/distrib/vax/miniroot: Makefile.inc
Log Message:
Fix PR install/47123 (sysinst fails with "openpty() failed" on many ports):
Add "ipty" to MAKEDEVTARGETS in miniroot/Makefile.inc since "MAKEDEV all"
no longer creates /dev/pty* device nodes and miniroot doesn't mount ptyfs.
To generate a diff of this commit:
cvs rdiff -u -r1.2 -r1.3 src/distrib/emips/miniroot/Makefile.inc
cvs rdiff -u -r1.12 -r1.13 src/distrib/hp300/miniroot/Makefile.inc
cvs rdiff -u -r1.6 -r1.7 src/distrib/hpcarm/miniroot/Makefile.inc
cvs rdiff -u -r1.19 -r1.20 src/distrib/hpcmips/miniroot/Makefile.inc
cvs rdiff -u -r1.7 -r1.8 src/distrib/hpcsh/miniroot/Makefile.inc
cvs rdiff -u -r1.12 -r1.13 src/distrib/mvme68k/miniroot/Makefile.inc
cvs rdiff -u -r1.23 -r1.24 src/distrib/pmax/miniroot/Makefile.inc
cvs rdiff -u -r1.22 -r1.23 src/distrib/vax/miniroot/Makefile.inc
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
State-Changed-From-To: open->closed
State-Changed-By: tsutsui@NetBSD.org
State-Changed-When: Sat, 27 Oct 2012 03:28:58 +0900
State-Changed-Why:
fixed. (using ipty instead of opty)
From: "SAITOH Masanobu" <msaitoh@netbsd.org>
To: gnats-bugs@gnats.NetBSD.org
Cc:
Subject: PR/47123 CVS commit: [netbsd-6] src/distrib
Date: Sun, 18 Nov 2012 16:58:45 +0000
Module Name: src
Committed By: msaitoh
Date: Sun Nov 18 16:58:44 UTC 2012
Modified Files:
src/distrib/emips/miniroot [netbsd-6]: Makefile.inc
src/distrib/hp300/miniroot [netbsd-6]: Makefile.inc
src/distrib/hpcarm/miniroot [netbsd-6]: Makefile.inc
src/distrib/hpcmips/miniroot [netbsd-6]: Makefile.inc
src/distrib/hpcsh/miniroot [netbsd-6]: Makefile.inc
src/distrib/mvme68k/miniroot [netbsd-6]: Makefile.inc
src/distrib/pmax/miniroot [netbsd-6]: Makefile.inc
src/distrib/vax/miniroot [netbsd-6]: Makefile.inc
Log Message:
Pull up following revision(s) (requested by tsutsui in ticket #650):
distrib/hpcmips/miniroot/Makefile.inc: revision 1.20
distrib/hpcsh/miniroot/Makefile.inc: revision 1.8
distrib/hp300/miniroot/Makefile.inc: revision 1.13
distrib/hpcarm/miniroot/Makefile.inc: revision 1.7
distrib/vax/miniroot/Makefile.inc: revision 1.23
distrib/mvme68k/miniroot/Makefile.inc: revision 1.13
distrib/emips/miniroot/Makefile.inc: revision 1.3
distrib/pmax/miniroot/Makefile.inc: revision 1.24
Fix PR install/47123 (sysinst fails with "openpty() failed" on many ports):
Add "ipty" to MAKEDEVTARGETS in miniroot/Makefile.inc since "MAKEDEV all"
no longer creates /dev/pty* device nodes and miniroot doesn't mount ptyfs.
To generate a diff of this commit:
cvs rdiff -u -r1.2 -r1.2.4.1 src/distrib/emips/miniroot/Makefile.inc
cvs rdiff -u -r1.12 -r1.12.8.1 src/distrib/hp300/miniroot/Makefile.inc
cvs rdiff -u -r1.6 -r1.6.8.1 src/distrib/hpcarm/miniroot/Makefile.inc
cvs rdiff -u -r1.19 -r1.19.8.1 src/distrib/hpcmips/miniroot/Makefile.inc
cvs rdiff -u -r1.7 -r1.7.8.1 src/distrib/hpcsh/miniroot/Makefile.inc
cvs rdiff -u -r1.12 -r1.12.8.1 src/distrib/mvme68k/miniroot/Makefile.inc
cvs rdiff -u -r1.23 -r1.23.8.1 src/distrib/pmax/miniroot/Makefile.inc
cvs rdiff -u -r1.20.8.2 -r1.20.8.3 src/distrib/vax/miniroot/Makefile.inc
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
From: "Julian Coleman" <jdc@netbsd.org>
To: gnats-bugs@gnats.NetBSD.org
Cc:
Subject: PR/47123 CVS commit: [netbsd-6-0] src/distrib
Date: Sun, 25 Nov 2012 10:10:04 +0000
Module Name: src
Committed By: jdc
Date: Sun Nov 25 10:10:04 UTC 2012
Modified Files:
src/distrib/emips/miniroot [netbsd-6-0]: Makefile.inc
src/distrib/hp300/miniroot [netbsd-6-0]: Makefile.inc
src/distrib/hpcarm/miniroot [netbsd-6-0]: Makefile.inc
src/distrib/hpcmips/miniroot [netbsd-6-0]: Makefile.inc
src/distrib/hpcsh/miniroot [netbsd-6-0]: Makefile.inc
src/distrib/mvme68k/miniroot [netbsd-6-0]: Makefile.inc
src/distrib/pmax/miniroot [netbsd-6-0]: Makefile.inc
src/distrib/vax/miniroot [netbsd-6-0]: Makefile.inc
Log Message:
Pull up revisions:
src/distrib/emips/miniroot/Makefile.inc revision 1.3
src/distrib/hp300/miniroot/Makefile.inc revision 1.13
src/distrib/hpcarm/miniroot/Makefile.inc revision 1.7
src/distrib/hpcmips/miniroot/Makefile.inc revision 1.20
src/distrib/hpcsh/miniroot/Makefile.inc revision 1.8
src/distrib/mvme68k/miniroot/Makefile.inc revision 1.13
src/distrib/pmax/miniroot/Makefile.inc revision 1.24
src/distrib/vax/miniroot/Makefile.inc revision 1.23
(requested by tsutsui in ticket #650).
Fix PR install/47123 (sysinst fails with "openpty() failed" on many ports):
Add "ipty" to MAKEDEVTARGETS in miniroot/Makefile.inc since "MAKEDEV all"
no longer creates /dev/pty* device nodes and miniroot doesn't mount ptyfs.
To generate a diff of this commit:
cvs rdiff -u -r1.2 -r1.2.10.1 src/distrib/emips/miniroot/Makefile.inc
cvs rdiff -u -r1.12 -r1.12.14.1 src/distrib/hp300/miniroot/Makefile.inc
cvs rdiff -u -r1.6 -r1.6.14.1 src/distrib/hpcarm/miniroot/Makefile.inc
cvs rdiff -u -r1.19 -r1.19.14.1 src/distrib/hpcmips/miniroot/Makefile.inc
cvs rdiff -u -r1.7 -r1.7.14.1 src/distrib/hpcsh/miniroot/Makefile.inc
cvs rdiff -u -r1.12 -r1.12.14.1 src/distrib/mvme68k/miniroot/Makefile.inc
cvs rdiff -u -r1.23 -r1.23.14.1 src/distrib/pmax/miniroot/Makefile.inc
cvs rdiff -u -r1.20.8.2 -r1.20.8.2.4.1 src/distrib/vax/miniroot/Makefile.inc
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
From: "Izumi Tsutsui" <tsutsui@netbsd.org>
To: gnats-bugs@gnats.NetBSD.org
Cc:
Subject: PR/47123 CVS commit: src
Date: Sun, 28 Apr 2013 08:08:04 +0000
Module Name: src
Committed By: tsutsui
Date: Sun Apr 28 08:08:04 UTC 2013
Modified Files:
src/distrib/hp300/ramdisk: Makefile
src/etc/etc.hp300: MAKEDEV.conf
Log Message:
Fix yet another "openpty() failed" error during sysinst.
Prepare a new entry for ramdisk that includes ipty target in
etc.hp300/MAKEDEV.conf and use it in distrib/hp300/ramdisk/Makefile.
See also PR/46812, PR/47123, and PR/47774.
We could simply add "ipty" to MAKEDEVTARGETS as miniroot/Makefile does,
but it's better to shrink ramdisk size as much as possible.
Should be pulled up to both netbsd-6 and netbsd-6-0.
To generate a diff of this commit:
cvs rdiff -u -r1.31 -r1.32 src/distrib/hp300/ramdisk/Makefile
cvs rdiff -u -r1.13 -r1.14 src/etc/etc.hp300/MAKEDEV.conf
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
From: "Jeff Rizzo" <riz@netbsd.org>
To: gnats-bugs@gnats.NetBSD.org
Cc:
Subject: PR/47123 CVS commit: [netbsd-6-0] src
Date: Mon, 29 Apr 2013 03:26:35 +0000
Module Name: src
Committed By: riz
Date: Mon Apr 29 03:26:35 UTC 2013
Modified Files:
src/distrib/hp300/ramdisk [netbsd-6-0]: Makefile
src/etc/etc.hp300 [netbsd-6-0]: MAKEDEV.conf
Log Message:
Pull up following revision(s) (requested by tsutsui in ticket #880):
etc/etc.hp300/MAKEDEV.conf: revision 1.14
distrib/hp300/ramdisk/Makefile: revision 1.32
Fix yet another "openpty() failed" error during sysinst.
Prepare a new entry for ramdisk that includes ipty target in
etc.hp300/MAKEDEV.conf and use it in distrib/hp300/ramdisk/Makefile.
See also PR/46812, PR/47123, and PR/47774.
We could simply add "ipty" to MAKEDEVTARGETS as miniroot/Makefile does,
but it's better to shrink ramdisk size as much as possible.
Should be pulled up to both netbsd-6 and netbsd-6-0.
To generate a diff of this commit:
cvs rdiff -u -r1.30 -r1.30.14.1 src/distrib/hp300/ramdisk/Makefile
cvs rdiff -u -r1.13 -r1.13.10.1 src/etc/etc.hp300/MAKEDEV.conf
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
From: "Jeff Rizzo" <riz@netbsd.org>
To: gnats-bugs@gnats.NetBSD.org
Cc:
Subject: PR/47123 CVS commit: [netbsd-6] src
Date: Mon, 29 Apr 2013 03:26:52 +0000
Module Name: src
Committed By: riz
Date: Mon Apr 29 03:26:52 UTC 2013
Modified Files:
src/distrib/hp300/ramdisk [netbsd-6]: Makefile
src/etc/etc.hp300 [netbsd-6]: MAKEDEV.conf
Log Message:
Pull up following revision(s) (requested by tsutsui in ticket #880):
etc/etc.hp300/MAKEDEV.conf: revision 1.14
distrib/hp300/ramdisk/Makefile: revision 1.32
Fix yet another "openpty() failed" error during sysinst.
Prepare a new entry for ramdisk that includes ipty target in
etc.hp300/MAKEDEV.conf and use it in distrib/hp300/ramdisk/Makefile.
See also PR/46812, PR/47123, and PR/47774.
We could simply add "ipty" to MAKEDEVTARGETS as miniroot/Makefile does,
but it's better to shrink ramdisk size as much as possible.
Should be pulled up to both netbsd-6 and netbsd-6-0.
To generate a diff of this commit:
cvs rdiff -u -r1.30 -r1.30.8.1 src/distrib/hp300/ramdisk/Makefile
cvs rdiff -u -r1.13 -r1.13.4.1 src/etc/etc.hp300/MAKEDEV.conf
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
From: "Nick Hudson" <skrll@netbsd.org>
To: gnats-bugs@gnats.NetBSD.org
Cc:
Subject: PR/47123 CVS commit: src/distrib/hp700/ramdisk
Date: Mon, 29 Apr 2013 14:42:12 +0000
Module Name: src
Committed By: skrll
Date: Mon Apr 29 14:42:11 UTC 2013
Modified Files:
src/distrib/hp700/ramdisk: Makefile
Log Message:
Fix PR/47123 for hp700 as well
To generate a diff of this commit:
cvs rdiff -u -r1.11 -r1.12 src/distrib/hp700/ramdisk/Makefile
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
From: "Jeff Rizzo" <riz@netbsd.org>
To: gnats-bugs@gnats.NetBSD.org
Cc:
Subject: PR/47123 CVS commit: [netbsd-6-0] src/distrib/hp700/ramdisk
Date: Sat, 11 May 2013 21:38:47 +0000
Module Name: src
Committed By: riz
Date: Sat May 11 21:38:47 UTC 2013
Modified Files:
src/distrib/hp700/ramdisk [netbsd-6-0]: Makefile
Log Message:
Pull up following revision(s) (requested by skrll in ticket #882):
distrib/hp700/ramdisk/Makefile: revision 1.12
Fix PR/47123 for hp700 as well
To generate a diff of this commit:
cvs rdiff -u -r1.11 -r1.11.14.1 src/distrib/hp700/ramdisk/Makefile
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
From: "Jeff Rizzo" <riz@netbsd.org>
To: gnats-bugs@gnats.NetBSD.org
Cc:
Subject: PR/47123 CVS commit: [netbsd-6] src/distrib/hp700/ramdisk
Date: Sat, 11 May 2013 21:39:16 +0000
Module Name: src
Committed By: riz
Date: Sat May 11 21:39:16 UTC 2013
Modified Files:
src/distrib/hp700/ramdisk [netbsd-6]: Makefile
Log Message:
Pull up following revision(s) (requested by skrll in ticket #882):
distrib/hp700/ramdisk/Makefile: revision 1.12
Fix PR/47123 for hp700 as well
To generate a diff of this commit:
cvs rdiff -u -r1.11 -r1.11.8.1 src/distrib/hp700/ramdisk/Makefile
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
>Unformatted:
(Contact us)
$NetBSD: query-full-pr,v 1.39 2013/11/01 18:47:49 spz Exp $
$NetBSD: gnats_config.sh,v 1.8 2006/05/07 09:23:38 tsutsui Exp $
Copyright © 1994-2007
The NetBSD Foundation, Inc. ALL RIGHTS RESERVED.