-->
These old forums are deprecated now and set to read-only. We are waiting for you on our new forums!
More modern, Discourse-based and with GitHub/Google/Twitter authentication built-in.

All times are UTC - 5 hours [ DST ]



Forum locked This topic is locked, you cannot edit posts or make further replies.  [ 5 posts ] 
Author Message
 Post subject: [Again] The new 2.1 : two (possible) bugs?
PostPosted: Mon Nov 03, 2003 12:24 pm 
Pro
Pro

Joined: Mon Sep 08, 2003 4:30 pm
Posts: 203
I have to make the post shorter. Again:

Hi all,

Problem #1:
I have some code which works fine on 2.0 .

List newList = null;
try {
q =sess.getPersistentSession().createQuery(
"from nemgmtinfo in class com.db.device.NEMgmtInfo");
newList = q.list();
} catch (HibernateException e) {
throw new DAOException(e);
}catch (Throwable e) {
e.printStackTrace();
}

I am replacing the 2.0 version with 2.1 beta 5 and, for the same code I (surprisingly) get :

10:59:13,765 INFO TransactionManagerLookupFactory:33 - No TransactionManagerLookup configured (use of process level read-write cache is not recommended)
10:59:14,046 INFO SettingsFactory:89 - Use scrollable result sets: true
10:59:14,046 INFO SettingsFactory:99 - Query language substitutions: {no='N', true=1, yes='Y', false=0}
10:59:14,046 INFO SettingsFactory:110 - cache provider: net.sf.hibernate.cache.JCSCacheProvider
10:59:14,046 INFO Configuration:990 - instantiating and configuring caches
10:59:14,093 INFO SessionFactoryImpl:115 - building session factory
10:59:17,312 INFO SessionFactoryObjectFactory:82 - no JNDI name configured
10:59:17,375 INFO HibernateSession:48 - Session opened
10:59:17,593 INFO HibernateSession:69 - Session closed
10:59:17,609 INFO HibernateSession:48 - Session opened
10:59:17,625 INFO HibernateSession:85 - beginTransaction
10:59:17,687 INFO HibernateSession:98 - commit
10:59:17,687 INFO HibernateSession:69 - Session closed
Starting Application Manager.
Starting Device Mgmt..
[AWT-EventQueue-0] [2003-11-03 10:59:28,734] INFO - Session opened
An unrecoverable stack overflow has occurred.

An unexpected exception has been detected in native code outside the VM.
Unexpected Signal : EXCEPTION_STACK_OVERFLOW occurred at PC=0x6D8739FE
Function=sqlcctcpinit+0x28EE
Library=D:\PROGRA~1\SQLLIB\bin\db2tcp.DLL

Current Java thread:
at COM.ibm.db2.jdbc.app.DB2PreparedStatement.SQLExecute(Native Method)
at COM.ibm.db2.jdbc.app.DB2PreparedStatement.execute2(DB2PreparedStatement.java:2065)
at COM.ibm.db2.jdbc.app.DB2PreparedStatement.executeQuery(DB2PreparedStatement.java:1596)
at org.apache.commons.dbcp.DelegatingPreparedStatement.executeQuery(DelegatingPreparedStatement.java:205)
at org.apache.commons.dbcp.DelegatingPreparedStatement.executeQuery(DelegatingPreparedStatement.java:205)
at net.sf.hibernate.impl.BatcherImpl.getResultSet(BatcherImpl.java:81)
at net.sf.hibernate.loader.Loader.getResultSet(Loader.java:631)
at net.sf.hibernate.loader.Loader.doResultSet(Loader.java:166)
at net.sf.hibernate.loader.Loader.doFind(Loader.java:111)
at net.sf.hibernate.loader.Loader.loadCollection(Loader.java:722)
at net.sf.hibernate.loader.Loader.loadCollection(Loader.java:705)
at net.sf.hibernate.loader.CollectionLoader.initialize(CollectionLoader.java:69)
at net.sf.hibernate.collection.AbstractCollectionPersister.initialize(AbstractCollectionPersister.java:306)
at net.sf.hibernate.impl.SessionImpl.initialize(SessionImpl.java:3229)
at net.sf.hibernate.collection.PersistentCollection.forceLoad(PersistentCollection.java:236)
at net.sf.hibernate.impl.SessionImpl.initializeNonLazyCollections(SessionImpl.java:3144)
at net.sf.hibernate.loader.Loader.doFind(Loader.java:116)
at net.sf.hibernate.loader.Loader.loadCollection(Loader.java:722)
at net.sf.hibernate.loader.Loader.loadCollection(Loader.java:705)
at net.sf.hibernate.loader.CollectionLoader.initialize(CollectionLoader.java:69)
at net.sf.hibernate.collection.AbstractCollectionPersister.initialize(AbstractCollectionPersister.java:306)
at net.sf.hibernate.impl.SessionImpl.initialize(SessionImpl.java:3229)
at net.sf.hibernate.collection.PersistentCollection.forceLoad(PersistentCollection.java:236)
at net.sf.hibernate.impl.SessionImpl.initializeNonLazyCollections(SessionImpl.java:3144)
at net.sf.hibernate.loader.Loader.doFind(Loader.java:116)
at net.sf.hibernate.loader.Loader.loadCollection(Loader.java:722)
at net.sf.hibernate.loader.Loader.loadCollection(Loader.java:705)
at net.sf.hibernate.loader.CollectionLoader.initialize(CollectionLoader.java:69)
at net.sf.hibernate.collection.AbstractCollectionPersister.initialize(AbstractCollectionPersister.java:306)
at net.sf.hibernate.impl.SessionImpl.initialize(SessionImpl.java:3229)
at net.sf.hibernate.collection.PersistentCollection.forceLoad(PersistentCollection.java:236)
at net.sf.hibernate.impl.SessionImpl.initializeNonLazyCollections(SessionImpl.java:3144)
at net.sf.hibernate.loader.Loader.doFind(Loader.java:116)
at net.sf.hibernate.loader.Loader.loadCollection(Loader.java:722)
at net.sf.hibernate.loader.Loader.loadCollection(Loader.java:705)
at net.sf.hibernate.loader.CollectionLoader.initialize(CollectionLoader.java:69)
at net.sf.hibernate.collection.AbstractCollectionPersister.initialize(AbstractCollectionPersister.java:306)
at net.sf.hibernate.impl.SessionImpl.initialize(SessionImpl.java:3229)
at net.sf.hibernate.collection.PersistentCollection.forceLoad(PersistentCollection.java:236)
at net.sf.hibernate.impl.SessionImpl.initializeNonLazyCollections(SessionImpl.java:3144)
at net.sf.hibernate.loader.Loader.doFind(Loader.java:116)
at net.sf.hibernate.loader.Loader.loadCollection(Loader.java:722)
at net.sf.hibernate.loader.Loader.loadCollection(Loader.java:705)
at net.sf.hibernate.loader.CollectionLoader.initialize(CollectionLoader.java:69)
at net.sf.hibernate.collection.AbstractCollectionPersister.initialize(AbstractCollectionPersister.java:306)
at net.sf.hibernate.impl.SessionImpl.initialize(SessionImpl.java:3229)
at net.sf.hibernate.collection.PersistentCollection.forceLoad(PersistentCollection.java:236)
at net.sf.hibernate.impl.SessionImpl.initializeNonLazyCollections(SessionImpl.java:3144)
at net.sf.hibernate.loader.Loader.doFind(Loader.java:116)
at net.sf.hibernate.loader.Loader.loadCollection(Loader.java:722)
at net.sf.hibernate.loader.Loader.loadCollection(Loader.java:705)
at net.sf.hibernate.loader.CollectionLoader.initialize(CollectionLoader.java:69)
at net.sf.hibernate.collection.AbstractCollectionPersister.initialize(AbstractCollectionPersister.java:306)
at net.sf.hibernate.impl.SessionImpl.initialize(SessionImpl.java:3229)
at net.sf.hibernate.collection.PersistentCollection.forceLoad(PersistentCollection.java:236)
at net.sf.hibernate.impl.SessionImpl.initializeNonLazyCollections(SessionImpl.java:3144)
at net.sf.hibernate.loader.Loader.doFind(Loader.java:116)
at net.sf.hibernate.loader.Loader.loadCollection(Loader.java:722)
at net.sf.hibernate.loader.Loader.loadCollection(Loader.java:705)
at net.sf.hibernate.loader.CollectionLoader.initialize(CollectionLoader.java:69)
at net.sf.hibernate.collection.AbstractCollectionPersister.initialize(AbstractCollectionPersister.java:306)
at net.sf.hibernate.impl.SessionImpl.initialize(SessionImpl.java:3229)
at net.sf.hibernate.collection.PersistentCollection.forceLoad(PersistentCollection.java:236)
at net.sf.hibernate.impl.SessionImpl.initializeNonLazyCollections(SessionImpl.java:3144)
at net.sf.hibernate.loader.Loader.doFind(Loader.java:116)
at net.sf.hibernate.loader.Loader.loadCollection(Loader.java:722)
at net.sf.hibernate.loader.Loader.loadCollection(Loader.java:705)
at net.sf.hibernate.loader.CollectionLoader.initialize(CollectionLoader.java:69)
at net.sf.hibernate.collection.AbstractCollectionPersister.initialize(AbstractCollectionPersister.java:306)
at net.sf.hibernate.impl.SessionImpl.initialize(SessionImpl.java:3229)
at net.sf.hibernate.collection.PersistentCollection.forceLoad(PersistentCollection.java:236)
at net.sf.hibernate.impl.SessionImpl.initializeNonLazyCollections(SessionImpl.java:3144)
at net.sf.hibernate.loader.Loader.doFind(Loader.java:116)
at net.sf.hibernate.loader.Loader.loadCollection(Loader.java:722)
at net.sf.hibernate.loader.Loader.loadCollection(Loader.java:705)
at net.sf.hibernate.loader.CollectionLoader.initializeat net.sf.hibernate.impl.SessionImpl.initialize(SessionImpl.java:3229)
at net.sf.hibernate.collection.PersistentCollection.forceLoad(PersistentCollection.java:236)
at net.sf.hibernate.impl.SessionImpl.initializeNonLazyCollections(SessionImpl.java:3144)
...............................................................................

at net.sf.hibernate.loader.Loader.doFind(Loader.java:116)
at net.sf.hibernate.loader.Loader.loadCollection(Loader.java:722)
at net.sf.hibernate.loader.Loader.loadCollection(Loader.java:705)
at net.sf.hibernate.loader.CollectionLoader.initialize(CollectionLoader.java:69)
at net.sf.hibernate.collection.AbstractCollectionPersister.initialize(AbstractCollectionPersister.java:306)
at net.sf.hibernate.impl.SessionImpl.initialize(SessionImpl.java:3229)
at net.sf.hibernate.collection.PersistentCollection.forceLoad(PersistentCollection.java:236)
at net.sf.hibernate.impl.SessionImpl.initializeNonLazyCollections(SessionImpl.java:3144)
at net.sf.hibernate.loader.Loader.doFind(Loader.java:116)
at net.sf.hibernate.loader.Loader.loadCollection(Loader.java:722)
at net.sf.hibernate.loader.Loader.loadCollection(Loader.java:705)
at net.sf.hibernate.loader.CollectionLoader.initialize(CollectionLoader.java:69)
at net.sf.hibernate.collection.AbstractCollectionPersister.initialize(AbstractCollectionPersister.java:306)
at net.sf.hibernate.impl.SessionImpl.initialize(SessionImpl.java:3229)
at net.sf.hibernate.collection.PersistentCollection.forceLoad(PersistentCollection.java:236)
at net.sf.hibernate.impl.SessionImpl.initializeNonLazyCollections(SessionImpl.java:3144)
at net.sf.hibernate.loader.Loader.doFind(Loader.java:116)
at net.sf.hibernate.loader.Loader.loadCollection(Loader.java:722)
at net.sf.hibernate.loader.Loader.loadCollection(Loader.java:705)
at net.sf.hibernate.loader.CollectionLoader.initialize(CollectionLoader.java:69)
at net.sf.hibernate.collection.AbstractCollectionPersister.initialize(AbstractCollectionPersister.java:306)
at net.sf.hibernate.impl.SessionImpl.initialize(SessionImpl.java:3229)
at net.sf.hibernate.collection.PersistentCollection.forceLoad(PersistentCollection.java:236)
at net.sf.hibernate.impl.SessionImpl.initializeNonLazyCollections(SessionImpl.java:3144)
at net.sf.hibernate.loader.Loader.doFind(Loader.java:116)
at net.sf.hibernate.loader.Loader.loadCollection(Loader.java:722)
at net.sf.hibernate.loader.Loader.loadCollection(Loader.java:705)
at net.sf.hibernate.loader.CollectionLoader.initialize(CollectionLoader.java:69)
at net.sf.hibernate.collection.AbstractCollectionPersister.initialize(AbstractCollectionPersister.java:306)
at net.sf.hibernate.impl.SessionImpl.initialize(SessionImpl.java:3229)
at net.sf.hibernate.collection.PersistentCollection.forceLoad(PersistentCollection.java:236)
at net.sf.hibernate.impl.SessionImpl.initializeNonLazyCollections(SessionImpl.java:3144)
at net.sf.hibernate.loader.Loader.doFind(Loader.java:116)
at net.sf.hibernate.loader.Loader.loadCollection(Loader.java:722)
at net.sf.hibernate.loader.Loader.loadCollection(Loader.java:705)
at net.sf.hibernate.loader.CollectionLoader.initialize(CollectionLoader.java:69)
at net.sf.hibernate.collection.AbstractCollectionPersister.initialize(AbstractCollectionPersister.java:306)
at net.sf.hibernate.impl.SessionImpl.initialize(SessionImpl.java:3229)
at net.sf.hibernate.collection.PersistentCollection.forceLoad(PersistentCollection.java:236)
at net.sf.hibernate.impl.SessionImpl.initializeNonLazyCollections(SessionImpl.java:3144)

Dynamic libraries:
0x00400000 - 0x00407000 D:\j2sdk1.4.1_03\bin\javaw.exe
0x77F80000 - 0x77FFA000 C:\WINNT\system32\ntdll.dll
0x77DB0000 - 0x77E0B000 C:\WINNT\system32\ADVAPI32.dll
0x77E80000 - 0x77F31000 C:\WINNT\system32\KERNEL32.dll
0x77D30000 - 0x77D9E000 C:\WINNT\system32\RPCRT4.dll
0x77E10000 - 0x77E6F000 C:\WINNT\system32\USER32.dll
0x77F40000 - 0x77F79000 C:\WINNT\system32\GDI32.dll
0x78000000 - 0x78046000 C:\WINNT\system32\MSVCRT.dll
0x6D340000 - 0x6D46B000 D:\j2sdk1.4.1_03\jre\bin\client\jvm.dll
0x77570000 - 0x775A0000 C:\WINNT\System32\WINMM.dll
0x6D1E0000 - 0x6D1E7000 D:\j2sdk1.4.1_03\jre\bin\hpi.dll
0x6D310000 - 0x6D31E000 D:\j2sdk1.4.1_03\jre\bin\verify.dll
0x6D220000 - 0x6D239000 D:\j2sdk1.4.1_03\jre\bin\java.dll
0x6D330000 - 0x6D33D000 D:\j2sdk1.4.1_03\jre\bin\zip.dll
0x6D000000 - 0x6D105000 D:\j2sdk1.4.1_03\jre\bin\awt.dll
0x77800000 - 0x7781E000 C:\WINNT\System32\WINSPOOL.DRV
0x76620000 - 0x76630000 C:\WINNT\system32\MPR.dll
0x75E60000 - 0x75E7A000 C:\WINNT\System32\IMM32.dll
0x77A50000 - 0x77B3C000 C:\WINNT\system32\ole32.dll
0x6D2E0000 - 0x6D2EE000 D:\j2sdk1.4.1_03\jre\bin\net.dll
0x75050000 - 0x75058000 C:\WINNT\System32\WSOCK32.dll
0x75030000 - 0x75043000 C:\WINNT\System32\WS2_32.DLL
0x75020000 - 0x75028000 C:\WINNT\System32\WS2HELP.DLL
0x782C0000 - 0x782CC000 C:\WINNT\System32\rnr20.dll
0x77980000 - 0x779A4000 C:\WINNT\System32\DNSAPI.DLL
0x77340000 - 0x77353000 C:\WINNT\System32\iphlpapi.dll
0x77520000 - 0x77525000 C:\WINNT\System32\ICMP.DLL
0x77320000 - 0x77337000 C:\WINNT\System32\MPRAPI.DLL
0x75150000 - 0x75160000 C:\WINNT\System32\SAMLIB.DLL
0x75170000 - 0x751BF000 C:\WINNT\System32\NETAPI32.DLL
0x77BE0000 - 0x77BEF000 C:\WINNT\System32\Secur32.dll
0x751C0000 - 0x751C6000 C:\WINNT\System32\NETRAP.dll
0x77950000 - 0x77978000 C:\WINNT\system32\WLDAP32.dll
0x779B0000 - 0x77A4B000 C:\WINNT\system32\OLEAUT32.DLL
0x773B0000 - 0x773DE000 C:\WINNT\System32\ACTIVEDS.DLL
0x77380000 - 0x773A2000 C:\WINNT\System32\ADSLDPC.DLL
0x77830000 - 0x7783E000 C:\WINNT\System32\RTUTILS.DLL
0x77880000 - 0x7790D000 C:\WINNT\System32\SETUPAPI.DLL
0x77C10000 - 0x77C6D000 C:\WINNT\System32\USERENV.DLL
0x774E0000 - 0x77512000 C:\WINNT\System32\RASAPI32.DLL
0x774C0000 - 0x774D1000 C:\WINNT\System32\RASMAN.DLL
0x77530000 - 0x77552000 C:\WINNT\System32\TAPI32.DLL
0x71710000 - 0x71794000 C:\WINNT\system32\COMCTL32.DLL
0x70BD0000 - 0x70C35000 C:\WINNT\system32\SHLWAPI.DLL
0x77360000 - 0x77379000 C:\WINNT\System32\DHCPCSVC.DLL
0x777E0000 - 0x777E8000 C:\WINNT\System32\winrnr.dll
0x0B6B0000 - 0x0B6E6000 C:\Program Files\NewDotNet\newdotnet5_20.dll
0x70200000 - 0x70295000 C:\WINNT\system32\WININET.dll
0x77440000 - 0x774B6000 C:\WINNT\system32\CRYPT32.dll
0x77430000 - 0x77440000 C:\WINNT\system32\MSASN1.dll
0x76930000 - 0x7695B000 C:\WINNT\System32\WINTRUST.dll
0x77920000 - 0x77943000 C:\WINNT\system32\IMAGEHLP.dll
0x777F0000 - 0x777F5000 C:\WINNT\System32\rasadhlp.dll
0x74FD0000 - 0x74FED000 C:\WINNT\system32\msafd.dll
0x75010000 - 0x75017000 C:\WINNT\System32\wshtcpip.dll
0x6D190000 - 0x6D1E0000 D:\j2sdk1.4.1_03\jre\bin\fontmanager.dll
0x51000000 - 0x51044000 C:\WINNT\System32\ddraw.dll
0x728A0000 - 0x728A6000 C:\WINNT\System32\DCIMAN32.dll
0x5C000000 - 0x5C0C7000 C:\WINNT\System32\D3DIM700.DLL
0x6D290000 - 0x6D2AE000 D:\j2sdk1.4.1_03\jre\bin\jpeg.dll
0x61220000 - 0x6122B000 C:\Program Files\Microsoft Hardware\Mouse\MSH_ZWF.dll
0x6D6A0000 - 0x6D6B2000 D:\Program Files\SQLLIB\bin\db2jdbc.dll
0x6C000000 - 0x6C281000 D:\Program Files\SQLLIB\BIN\DB2CLI.dll
0x6C5A0000 - 0x6C770000 D:\Program Files\SQLLIB\BIN\DB2SYS.dll
0x6D660000 - 0x6D66B000 D:\Program Files\SQLLIB\BIN\DB2WINT.dll
0x11CB0000 - 0x11CC1000 D:\Program Files\SQLLIB\BIN\DB2SYSP.dll
0x6C290000 - 0x6C3E6000 D:\Program Files\SQLLIB\BIN\DB2APP.dll
0x77820000 - 0x77827000 C:\WINNT\system32\VERSION.dll
0x759B0000 - 0x759B6000 C:\WINNT\system32\LZ32.DLL
0x6C4D0000 - 0x6C571000 D:\Program Files\SQLLIB\BIN\DB2UTIL.dll
0x6C3F0000 - 0x6C40D000 D:\Program Files\SQLLIB\BIN\DB2ABIND.dll
0x78280000 - 0x782B3000 C:\WINNT\system32\kerberos.dll
0x76670000 - 0x7667E000 C:\WINNT\System32\cryptdll.dll
0x6D870000 - 0x6D87D000 D:\PROGRA~1\SQLLIB\bin\db2tcp.DLL
0x6D140000 - 0x6D162000 D:\j2sdk1.4.1_03\jre\bin\dcpr.dll
0x72A00000 - 0x72A2D000 C:\WINNT\system32\DBGHELP.dll
0x690A0000 - 0x690AB000 C:\WINNT\System32\PSAPI.DLL

Local Time = Mon Nov 03 11:18:50 2003
Elapsed Time = 43
#
# The exception above was detected in native code outside the VM
#
# Java VM: Java HotSpot(TM) Client VM (1.4.1_03-b02 mixed mode)
#
# An error report file has been saved as hs_err_pid1936.log.
# Please refer to the file for further information.
#

Looks like we have a looooop when dealing with collections....

Problem #2:

SchemaUpdate gives:
create index IDXCADC435DBA89991B on subnet (net_subnet_id)
11:22:33,390 ERROR SchemaUpdate:123 - Unsuccessful: create index IDXCADC435DBA89991B on subnet (net_subnet_id)
COM.ibm.db2.jdbc.DB2Exception: [IBM][CLI Driver][DB2/SUN] SQL0107N The name "IDXCADC435DBA89991B" is too long. The maximum length is "18". SQLSTATE=42622

at COM.ibm.db2.jdbc.app.SQLExceptionGenerator.throw_SQLException(SQLExceptionGenerator.java:270)
at COM.ibm.db2.jdbc.app.SQLExceptionGenerator.throw_SQLException(SQLExceptionGenerator.java:207)
at COM.ibm.db2.jdbc.app.SQLExceptionGenerator.check_return_code(SQLExceptionGenerator.java:458)
at COM.ibm.db2.jdbc.app.DB2Statement.execute2(DB2Statement.java:838)
at COM.ibm.db2.jdbc.app.DB2Statement.executeUpdate(DB2Statement.java:728)
at net.sf.hibernate.tool.hbm2ddl.SchemaUpdate.execute(SchemaUpdate.java:120)
at com.db.device.MainDevice.initHibernate(MainDevice.java:52)
at com.db.device.MainDevice.go(MainDevice.java:56)
at com.db.device.MainDevice.main(MainDevice.java:43)

do I have to re-write the old mappings ???

\TIA,
--steve p.


Top
 Profile  
 
 Post subject:
PostPosted: Mon Nov 03, 2003 1:08 pm 
Hibernate Team
Hibernate Team

Joined: Tue Aug 26, 2003 12:50 pm
Posts: 5130
Location: Melbourne, Australia
Both should now be fixed in CVS v21branch. Please test the fixes out for me. Thanks.

I'll try to release beta6 in the morning.


Top
 Profile  
 
 Post subject:
PostPosted: Mon Nov 03, 2003 1:12 pm 
Pro
Pro

Joined: Mon Sep 08, 2003 4:30 pm
Posts: 203
gavin wrote:
Both should now be fixed in CVS v21branch. Please test the fixes out for me. Thanks.

I'll try to release beta6 in the morning.


I will test this asap. Thanks, Gavin.


Top
 Profile  
 
 Post subject:
PostPosted: Mon Nov 03, 2003 1:57 pm 
Pro
Pro

Joined: Mon Sep 08, 2003 4:30 pm
Posts: 203
we still have the problem with stack overflow.

thx,

--steve p.


Top
 Profile  
 
 Post subject:
PostPosted: Mon Nov 03, 2003 2:11 pm 
Hibernate Team
Hibernate Team

Joined: Tue Aug 26, 2003 12:50 pm
Posts: 5130
Location: Melbourne, Australia
Yeah, its not in read-only CVS yet. Try just copy/pasting the code I showed you in the other thread into your source. It should fix it.


Top
 Profile  
 
Display posts from previous:  Sort by  
Forum locked This topic is locked, you cannot edit posts or make further replies.  [ 5 posts ] 

All times are UTC - 5 hours [ DST ]


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum

Search for:
© Copyright 2014, Red Hat Inc. All rights reserved. JBoss and Hibernate are registered trademarks and servicemarks of Red Hat, Inc.