Microsoft KB Archive/153154

{| = BUG: Appending to a Table on a Network Hangs the Power Mac =
 * width="100%"|

ID: Q153154

2.60a MACINTOSH

kbprg  kbbuglist The information in this article applies to:
 * Microsoft FoxPro for Macintosh, version 2.6a

SYMPTOMS
When using FoxPro for Macintosh 2.6 on a Power Macintosh computer with the operating system 7.5.3 software, the computer will hang after appending or editing records to a table located on the network server. This problem occurs on computers that have a Peripheral Component Interconnect (PCI) board as part of their hardware. Apple is shipping these PCI boards as part of their standard equipment on most Power Macintosh computers.

WORKAROUND
To solve the problem of appending and editing tables on the server, try one of the following:

 Turn the Modern Memory Manager off; -or- Use a third-party product called Speed Doubler; -or-  Load the 68K version of FoxPro to work around this problem; -or- 

4. Use Visual FoxPro Macintosh 3.0.

STATUS
Microsoft has confirmed this to be a problem in the Microsoft products listed at the beginning of this article. We are researching this problem and will post new information here in the Microsoft Knowledge Base as it becomes available.

MORE INFORMATION
This problem does not occur on Power Macintosh computers with operating systems before 7.5.3. Turning off the Modern Memory Manager(MMM) will work sometimes and the computer will not hang when appending a record from a table on the server. If a software program called Speed Doubler is installed, the problem goes away. Speed Doubler installs its own 68K emulator, replacing the one that comes with system 7.5.3. The 68K emulator that comes with 7.5.3 seems to be the controlling problem. Below is a sample program that causes a Power Macintosh with a PCI board to hang.

When running the code below in the Trace window, place the table out on a server when prompted, and note that the computer hangs after issuing the second UNLOCK command. If the LOCK and UNLOCK commands are not used, the system hangs after three or more passes through the FOR loop.

Sample Code

 * Beginning of Code.

CLOSE DATABASES SET SAFETY OFF

x = PUTFILE( "Where?", "test.dbf") IF !EMPTY( x ) SELECT 0 CREATE TABLE (x) ; ( CUST     C( 8 ), SUBNO     C( 4 ), ;        NKEY      C( 35 ), NAME    C( 25 ), ;        PHONEKEY  C( 23 ))

INDEX ON UPPER( nkey ) TAG nkey ADDITIVE INDEX ON cust+subno TAG cust ADDITIVE INDEX ON phonekey TAG phonekey ADDITIVE INDEX ON name TAG name ADDITIVE

USE (x) SHARED

FOR i = 1 TO 10 APPEND BLANK =RLOCK REPLACE Test.phonekey WITH REPLICATE( ALLTRIM( STR( i ) ), 10 ) REPLACE Test.name WITH REPLICATE( CHR( 64 + i ), 10 ) UNLOCK ENDFOR ENDIF

************* End of Code. Additional reference words: 2.60a FoxMac INSERT INTO FROM MEMVAR KBCategory: kbprg  kbbuglist KBSubcategory: FxprgGeneral Keywords         : kb3rdparty kbnetwork FxprgGeneral kbbuglist Version          : 2.60a Platform         : MACINTOSH
 * }