Welcome, Guest. Please login or register.

Author Topic: ramlib_PPC data access exception  (Read 5612 times)

Description:

0 Members and 1 Guest are viewing this topic.

Offline Piru

  • \' union select name,pwd--
  • Hero Member
  • *****
  • Join Date: Aug 2002
  • Posts: 6946
    • Show all replies
    • http://www.iki.fi/sintonen/
Re: ramlib_PPC data access exception
« on: December 18, 2004, 11:51:03 PM »
Usually this is caused by some library/device crashing in initcode. The crash is blamed on "ramlib" even though the crash actually happens inside the library/device code.

In most cases this crash is due to lack of ramlib stack. There are various ways to patch this, for example MCPRamLibPatch in MCP package, or RamLibFix in MMULib.lha.

This is very commonly happening with Warp3D libraries which are totally bogus, calling recursive OpenLibrary inside library init code... This will explode with standard ramlib stack. Warp3D doesn't work reliably without some sort of ramlib stack patching.
 

Offline Piru

  • \' union select name,pwd--
  • Hero Member
  • *****
  • Join Date: Aug 2002
  • Posts: 6946
    • Show all replies
    • http://www.iki.fi/sintonen/
Re: ramlib_PPC data access exception
« Reply #1 on: December 19, 2004, 02:59:30 AM »
Quote
Are you sure about that? I've never seen it do this.

Yes I am sure.

In general, if the ramlib stack is not patched to be larger, it is not safe to call OpenLibrary for disk based libs (that is, for libs that are not already in memory. that is non-KS-ROM libs) in LIB_Init. These calls must be made in LIB_Open.

Anyway, the crash can be worked around by loading the sublibs manually before opening the library in question.

Also the open might actually work, depending on pure luck (due data allocated before the stack being not critical for trashing) or OpenLibrary patches not being installed (each patch usually adds to stack usage).