Jump to content

FM Runtime Crash Due to ScriptMaster


This topic is 4365 days old. Please don't post here. Open a new topic instead.

Recommended Posts


I have created a runtime application using Filemaker Pro Advanced 11. This application uses many scriptmaster functions and performs well on my Macbook Pro with 4 GB of ram. However, when I use it on my Mac Mini with 2GB of ram it crashes frequently. The application "Unexpectedly Quits". I don't know if it is a memory issue or not but that is the biggest difference I can think between the 2 systems. Both computers are running MacOS 10.6.5.

On the mac mini I plugged in an external hard drive and installed a fresh copy of MacOS 10.6.3 and it even had the same problem on the freshly installed system. If I remove the scriptmaster plugin everything works great, no crashes at all. So I have definitely narrowed it down to the plugin.

Please see the top half of a crash report below (let me know if you need the whole thing):

Process: Runtime [24244]

Path: /Volumes/Storage/Mother Brain GL.app/Contents/Resources/Mother Brain/Mother Brain.app/Contents/MacOS/Runtime

Identifier: com.filemaker.client.runtime.MotherBrain

Version: 11.0.3 (11.0.3)

Code Type: X86 (Native)

Parent Process: launchd [101]

Date/Time: 2011-02-12 23:24:23.194 -0800

OS Version: Mac OS X 10.6.5 (10H574)

Report Version: 6


Exception Codes: KERN_PROTECTION_FAILURE at 0x00000000177ffff0

Crashed Thread: 0 Dispatch queue: com.apple.main-thread

Thread 0 Crashed: Dispatch queue: com.apple.main-thread

0 libSystem.B.dylib 0xffff0f32 __memcpy + 1938

1 libstdc++.6.dylib 0x97f064ad std::basic_streambuf<char, std::char_traits<char> >::xsgetn(char*, int) + 81

2 libstdc++.6.dylib 0x97eeea9d std::istream::read(char*, int) + 75

3 ...filemaker.support.framework 0x01190bf1 Draco::ByteBuffer::LoadFromStream() + 289

4 ...ilemaker.dbengine.framework 0x014e9f0b Draco::DBLibraryMember::GetData(Draco::QuadChar, Draco::ByteBuffer&, bool) const + 331

5 ...ilemaker.dbengine.framework 0x0140a937 Draco::DBBinaryData::Read(Draco::DBBinaryData::DataStream*, Draco::ByteBuffer*&) const + 407

6 ...ilemaker.dbengine.framework 0x0140b063 Draco::DBBinaryData::GetData(int, Draco::ByteBuffer*&) const + 163

7 ....client.runtime.MotherBrain 0x000b0c13 ContainerData::DrawBinaryData(Draco::DBBinaryData const&, Draco::CoordRect const&, DrawContext const&, TImageFormat const&, Draco::TLayoutObjectAttrs const*) const + 227

8 ....client.runtime.MotherBrain 0x000b83fd ContainerData::DrawAsImage(DrawContext const&, TImageFormat const&, Draco::TLayoutObjectAttrs const*) const + 845

9 ....client.runtime.MotherBrain 0x000b9114 ContainerData::Draw(DrawContext const&, TImageFormat&, Draco::TLayoutObjectAttrs const*) const + 1300

10 ....client.runtime.MotherBrain 0x0008aecf DrawContext::FieldObjRenderer::DrawFieldContainer() + 175

11 ....client.runtime.MotherBrain 0x0009d225 DrawContext::FieldObjRenderer::DrawFieldOccurrence() + 677

12 ....client.runtime.MotherBrain 0x0009d5f5 DrawContext::FieldObjRenderer::Draw() + 789

13 ....client.runtime.MotherBrain 0x0009d800 DrawContext::DrawFieldObj(Draco::LayoutObject&, Draco::TLayoutObjectAttrs&, Draco::DBField const&) + 240

14 ....client.runtime.MotherBrain 0x000a0299 DrawContext::DrawObject_PRIVATE() + 2153

15 ....client.runtime.MotherBrain 0x000a092e DocWindowDrawContext::DrawCurrentObject(Draco::CoordRect const&, IXOverlay*) + 254

16 ....client.runtime.MotherBrain 0x0008fecc DrawContext::DrawPortalObjects(Draco::LayoutObject const&, Draco::DBRelatedSetPtr const&, Draco::CoordRect const&, Draco::CoordRect const&, Draco::Coord, Draco::Coord, long long, IXOverlay*) + 876

17 ....client.runtime.MotherBrain 0x000956ad DrawContext::DrawPortalObj(IXOverlay*, bool) + 989

18 ....client.runtime.MotherBrain 0x000a04bf DrawContext::DrawObject_PRIVATE() + 2703

19 ....client.runtime.MotherBrain 0x000a092e DocWindowDrawContext::DrawCurrentObject(Draco::CoordRect const&, IXOverlay*) + 254

20 ....client.runtime.MotherBrain 0x00090fd6 DrawContext::DrawPart_Clipped(Draco::DBCursor const&, short, Draco::Coord, Draco::Coord, Draco::Coord, Draco::CoordRect*, IXOverlay*, short) + 598

21 ....client.runtime.MotherBrain 0x00091683 DrawContext::DrawPart(Draco::DBCursor const&, short, Draco::Coord, Draco::Coord, IXOverlay*, short) + 83

22 ....client.runtime.MotherBrain 0x00025e3a DrawRecordView(FMDocWindow&, long, bool, IXOverlay*, ActiveFieldOpType, ActiveFieldClassType) + 490

23 ....client.runtime.MotherBrain 0x0002b335 BRWS_DrawView(FMDocWindow&) + 165

24 ....client.runtime.MotherBrain 0x0026c820 PAGE_Update(FMDocWindow&) + 496

25 ....client.runtime.MotherBrain 0x004c578d FMContentViewController::OnUpdate(Draco::CoordRect const&) + 77

26 ....client.runtime.MotherBrain 0x0045c5be -[FMContentViewCocoa drawRect:] + 254

27 com.apple.AppKit 0x964978fd -[NSView _drawRect:clip:] + 3721

28 com.apple.AppKit 0x96494fc9 -[NSView _recursiveDisplayRectIfNeededIgnoringOpacity:isVisibleRect:rectIsVisibleRectForView:topView:] + 2217

29 com.apple.AppKit 0x9649595c -[NSView _recursiveDisplayRectIfNeededIgnoringOpacity:isVisibleRect:rectIsVisibleRectForView:topView:] + 4668

30 com.apple.AppKit 0x9649595c -[NSView _recursiveDisplayRectIfNeededIgnoringOpacity:isVisibleRect:rectIsVisibleRectForView:topView:] + 4668

31 com.apple.AppKit 0x9649595c -[NSView _recursiveDisplayRectIfNeededIgnoringOpacity:isVisibleRect:rectIsVisibleRectForView:topView:] + 4668

32 com.apple.AppKit 0x9649595c -[NSView _recursiveDisplayRectIfNeededIgnoringOpacity:isVisibleRect:rectIsVisibleRectForView:topView:] + 4668

33 com.apple.AppKit 0x9649455b -[NSThemeFrame _recursiveDisplayRectIfNeededIgnoringOpacity:isVisibleRect:rectIsVisibleRectForView:topView:] + 265

34 com.apple.AppKit 0x96490ea2 -[NSView _displayRectIgnoringOpacity:isVisibleRect:rectIsVisibleRectForView:] + 3309

35 com.apple.AppKit 0x963f1a57 -[NSView displayIfNeeded] + 818

36 com.apple.AppKit 0x963bad40 -[NSWindow displayIfNeeded] + 204

37 ....client.runtime.MotherBrain 0x003e0b01 -[FMDocWindowCocoa displayIfNeeded] + 81

38 com.apple.AppKit 0x963ec28a _handleWindowNeedsDisplay + 696

39 com.apple.CoreFoundation 0x946d4e02 __CFRunLoopDoObservers + 1186

40 com.apple.CoreFoundation 0x94690d8d __CFRunLoopRun + 557

41 com.apple.CoreFoundation 0x94690464 CFRunLoopRunSpecific + 452

42 com.apple.CoreFoundation 0x94690291 CFRunLoopRunInMode + 97

43 com.apple.HIToolbox 0x978fbf9c RunCurrentEventLoopInMode + 392

44 com.apple.HIToolbox 0x978fbd51 ReceiveNextEventCommon + 354

45 com.apple.HIToolbox 0x978fbbd6 BlockUntilNextEventMatchingListInMode + 81

46 com.apple.AppKit 0x963c278d _DPSNextEvent + 847

47 com.apple.AppKit 0x963c1fce -[NSApplication nextEventMatchingMask:untilDate:inMode:dequeue:] + 156

48 com.apple.AppKit 0x96384247 -[NSApplication run] + 821

49 ....client.runtime.MotherBrain 0x0033abfd CMacApp_Main + 413

50 ....client.runtime.MotherBrain 0x000cfcf3 main + 51

51 ....client.runtime.MotherBrain 0x00003356 start + 54

Link to comment
Share on other sites

When does the crash occur? Are you using any other plugins with your runtime? What modules are you using?

Also, make sure that you are using the latest version of the plugin.

It generally occurs when a script is trying to run, although the scripts are not using any scriptmaster functions so it is weird. They are scripts that are invoked via the onLayoutKeystroke trigger but if I remove the plugin it never crashes.

I did just check the site and there is an update to the plugin. I was using 4.11 and there is now 4.12 apparently. I will try the updated plugin although I am skeptical that the problem will be fixed because according to the changelog it doesn't look like much was fixed.

I am only using the Scriptmaster Plugin with my runtime. On my development machine (Macbook Pro) I am using many plugins and it never crashes.

Here are the functions that I register at startup:

ReadFileContents ( pathToFile )

GetFileAsContainer ( pathToFile )

CheckWhetherFileExists ( pathToFile )

ListAllFilesInDirectory (path)

TextSimilarity ( text1 ; text2 )

GetURLAsContainer ( url )

GetUrlAsText ( url )

XPathParse ( someXML ; xpathQuery )

Even if I don't load those at startup thought it still was having issues with crashes, it seems just by having the plugin load.

I do have other crash log files if those are helpful at all. Most of them seem to be the same but there are a few differences in some of them.

Link to comment
Share on other sites

I just had another crash after I added the newest version of scriptmaster. I have never had one crash when I remove the scriptmaster plugin. As soon as I add it back I get a crash within usually a couple hours.

This is driving me crazy. The crash isn't even occurring when a scriptmaster function is being used. Attached is the crash log from the crash that just happened.


Link to comment
Share on other sites

2 hours is the time limit for ScriptMaster in trial mode. Is the registration process correct?

Trial Mode? I have always used Scriptmaster and have never registered before? I thought Scriptmaster was a free product. I am not making a custom plugin from it.

Link to comment
Share on other sites

OK, the problem has changed a little bit. I have a scriptmaster function that grabs an image from the web and puts it into a container field that is no longer working on my mac mini. It works on other computers though. Eventually the file on the mac mini will get corrupted. When I look at the Scriptmaster Log file it reports an error. Please check out the log file.

Particularly this section seems to report the error:

Feb 16, 2011 2:04:25 PM com.prosc.fmkit.Plugin setLastError

SEVERE: PluginFunction PluginFunction{name='GetURLAsContainer'} got an error with converted args [http://image.com.com/gamespot/images/bigboxshots/8/578318_35454_front.jpg]

java.lang.NoClassDefFoundError: Could not initialize class sun.java2d.Disposer

at javax.imageio.stream.FileCacheImageInputStream.<init>(FileCacheImageInputStream.java:94)

at com.sun.imageio.spi.InputStreamImageInputStreamSpi.createInputStreamInstance(InputStreamImageInputStreamSpi.java:51)

at javax.imageio.ImageIO.createImageInputStream(ImageIO.java:331)

at com.prosc.fmkit.types.FMBinary.getImageDimensions(FMBinary.java:195)

at com.prosc.fmkit.types.FMBinary.fmBinaryForData(FMBinary.java:167)

at com.prosc.fmkit.types.FMBinary.fmBinaryForData(FMBinary.java:156)

at com.prosc.fmkit.types.FMBinary.fmBinaryForUrl(FMBinary.java:123)

at com.prosc.fmkit.types.FMType.bestTypeForJavaObject(FMType.java:152)

at com.prosc.beanshell.BeanShellPlugin.convertedResult(BeanShellPlugin.java:575)

at com.prosc.beanshell.GroovyFunction.invoke(GroovyFunction.java:111)

at com.prosc.fmkit.Plugin.invokeFunction(Plugin.java:337)

at com.prosc.fmkit.RegisterablePlugin.invokeFunction(RegisterablePlugin.java:74)

at com.prosc.fmkit.Plugin.invokeFunctionNoErrors(Plugin.java:318)

at com.prosc.fmkit.PluginBridge$3.run(PluginBridge.java:1028)

at com.prosc.fmkit.PluginBridge.runTask(PluginBridge.java:1237)

at com.prosc.fmkit.PluginBridge.doFunction(PluginBridge.java:1042)

Feb 16, 2011 2:04:25 PM com.prosc.beanshell.BeanShellPlugin setLastError

SEVERE: ScriptMaster bound variables: Parameters:

Why isn't the function working?


Link to comment
Share on other sites

I have created a brand new file that only registers the URLAsContainer function on startup. When I use this function it fails and returns an error.

I have attached the script master log file. The line I am noticing that may mean something is:

SEVERE: PluginFunction PluginFunction{name='GetURLAsContainer'} got an error with converted args [http://www.microk12.com/productimages/k12connected/xd2200.jpg]

java.lang.InternalError: Can't start the AWT because Java was started on the first thread. Make sure StartOnFirstThread is not specified in your application's Info.plist or on the command line

This is in a runtime so I don't know if that is what is making it fail or not but this definitely isn't right. I would really appreciate someone taking a look at this log file, I am feeling a little bit like my thread has been abandoned. I have been fighting with this and other problems for over a week now and would love to move past this.


ScriptMaster Log.rtf

Link to comment
Share on other sites

Thanks for this log. I think we will be able to help you out with this, but the person who will be able to look at this error is out of town right now, and won't be able to get to it until tuesday or wednesday next week. I'll let you know as soon as I have an update for you.

Link to comment
Share on other sites

Please try this file and let me know if it works for you. The version number is the same, but it has some changes made in it.


That seems to have fixed the issue. Is this file safe to use in production?


Link to comment
Share on other sites

This topic is 4365 days old. Please don't post here. Open a new topic instead.

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Create New...

Important Information

By using this site, you agree to our Terms of Use.