BUG: Appending to a Table on a Network Hangs the Power Mac

ID: Q153154

2.60a MACINTOSH

kbprg   kbbuglist

The information in this article applies to:

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:

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

Last Reviewed: May 14, 1998