Re: [hatari-devel] defaulting to SMALL_MEM

[ Thread Index | Date Index | More lists.tuxfamily.org/hatari-devel Archives ]


Hi,

On 6.2.2022 9.25, Thomas Huth wrote:
Am Sat, 5 Feb 2022 10:42:24 +0100
schrieb Christian Zietz <czietz@xxxxxxx>:

Eero Tamminen schrieb:

I think I bumped into additional SMALL_MEM issue:
--------------------
$ hatari -s 10 --machine falcon --tos tos404.img .
WARN : unsupported Falcon ST-RAM amount 10240, changing to 14336 KB
Segmentation fault
--------------------

There seems to be something amiss with the Falcon emulation in
general. Even if I start Hatari with "-s 4 --machine falcon --tos
TOS404.IMG", i.e, a supported RAM size, I just get a black window for
a few seconds which then closes without any error message. In
contrast, EmuTOS boots under Falcon emulation.

This is with commit 175b878a, either using my own Windows builds or
the one from http://antarctica.no/~hatari/.

Sorry, I can't reproduce neither of the reported crashes on my Linux
system here. Also running Hatari with "valgrind" does not show anything
suspicious here...
Thanks for the backtrace, Christian, but I'm having a hard time to
understand where the exact problem comes from...
Could you both please send me your hatari.cfg and hatari.nvram files?
Maybe the problem only triggers with a certain setting that I do not
have enabled here...

My nvram & hatari.cfg are attached.


For some reason, these Valgrind errors happen only with TOS4, not with EmuTOS:
----------------------------------------------
$ valgrind ./hatari  -s 14 --machine falcon --tos tos404.img --dsp none .
==6209== Memcheck, a memory error detector
==6209== Copyright (C) 2002-2017, and GNU GPL'd, by Julian Seward et al.
==6209== Using Valgrind-3.16.1 and LibVEX; rerun with -h for copyright info
==6209== Command: ./src/hatari -s 14 --machine falcon --tos /home/emulation/atari/tos/tos404.img --dsp none debugger-scripts/
==6209==
==6209== Invalid read of size 4
==6209==    at 0x4B5BC9: Screen_BitplaneToChunky32 (screenConvert.c:205)
==6209== by 0x4B6E1B: ScreenConv_BitplaneLineTo32bpp (screenConvert.c:342) ==6209== by 0x4B6E1B: ScreenConv_BitplaneTo32bppZoomed (screenConvert.c:787)
==6209==    by 0x4B6E1B: Screen_ConvertWithZoom (screenConvert.c:1049)
==6209==    by 0x4B6E1B: Screen_GenConvert (screenConvert.c:1079)
==6209==    by 0x4CF9CC: VIDEL_renderScreen (videl.c:1002)
==6209==    by 0x4C5D74: Video_DrawScreen (video.c:4373)
==6209==    by 0x4C5D74: Video_InterruptHandler_VBL (video.c:4546)
==6209==    by 0x47CC2E: CycInt_CallActiveHandler (cycInt.c:790)
==6209==    by 0x4FA7E4: CycInt_Process_stop (cycInt.h:135)
==6209==    by 0x4FA7E4: m68k_run_2ce (newcpu.c:6857)
==6209==    by 0x4F81A0: m68k_go (newcpu.c:7607)
==6209==    by 0x4A2EAC: M68000_Start (m68000.c:301)
==6209==    by 0x4A4409: main (main.c:964)
==6209== Address 0x35484040 is 0 bytes after a block of size 14,680,064 alloc'd
==6209==    at 0x483877F: malloc (vg_replace_malloc.c:307)
==6209==    by 0x517374: memory_init (memory.c:1662)
==6209==    by 0x4BD174: TOS_InitImage (tos.c:1133)
==6209==    by 0x4AE837: Reset_ST (reset.c:62)
==6209==    by 0x4AE9BC: Reset_Cold (reset.c:141)
==6209==    by 0x4A4120: Main_Init (main.c:757)
==6209==    by 0x4A4120: main (main.c:946)
==6209==
==6209== Invalid read of size 4
==6209==    at 0x4B5BCB: Screen_BitplaneToChunky32 (screenConvert.c:206)
==6209== by 0x4B6E1B: ScreenConv_BitplaneLineTo32bpp (screenConvert.c:342) ==6209== by 0x4B6E1B: ScreenConv_BitplaneTo32bppZoomed (screenConvert.c:787)
==6209==    by 0x4B6E1B: Screen_ConvertWithZoom (screenConvert.c:1049)
==6209==    by 0x4B6E1B: Screen_GenConvert (screenConvert.c:1079)
==6209==    by 0x4CF9CC: VIDEL_renderScreen (videl.c:1002)
==6209==    by 0x4C5D74: Video_DrawScreen (video.c:4373)
==6209==    by 0x4C5D74: Video_InterruptHandler_VBL (video.c:4546)
==6209==    by 0x47CC2E: CycInt_CallActiveHandler (cycInt.c:790)
==6209==    by 0x4FA7E4: CycInt_Process_stop (cycInt.h:135)
==6209==    by 0x4FA7E4: m68k_run_2ce (newcpu.c:6857)
==6209==    by 0x4F81A0: m68k_go (newcpu.c:7607)
==6209==    by 0x4A2EAC: M68000_Start (m68000.c:301)
==6209==    by 0x4A4409: main (main.c:964)
==6209== Address 0x35484044 is 4 bytes after a block of size 14,680,064 alloc'd
==6209==    at 0x483877F: malloc (vg_replace_malloc.c:307)
==6209==    by 0x517374: memory_init (memory.c:1662)
==6209==    by 0x4BD174: TOS_InitImage (tos.c:1133)
==6209==    by 0x4AE837: Reset_ST (reset.c:62)
==6209==    by 0x4AE9BC: Reset_Cold (reset.c:141)
==6209==    by 0x4A4120: Main_Init (main.c:757)
==6209==    by 0x4A4120: main (main.c:946)
==6209==
==6209== Invalid read of size 4
==6209==    at 0x4B5BC9: Screen_BitplaneToChunky32 (screenConvert.c:205)
==6209== by 0x4B6DB7: ScreenConv_BitplaneLineTo32bpp (screenConvert.c:332) ==6209== by 0x4B6DB7: ScreenConv_BitplaneTo32bppZoomed (screenConvert.c:787)
==6209==    by 0x4B6DB7: Screen_ConvertWithZoom (screenConvert.c:1049)
==6209==    by 0x4B6DB7: Screen_GenConvert (screenConvert.c:1079)
==6209==    by 0x4CF9CC: VIDEL_renderScreen (videl.c:1002)
==6209==    by 0x4C5D74: Video_DrawScreen (video.c:4373)
==6209==    by 0x4C5D74: Video_InterruptHandler_VBL (video.c:4546)
==6209==    by 0x47CC2E: CycInt_CallActiveHandler (cycInt.c:790)
==6209==    by 0x4FA7E4: CycInt_Process_stop (cycInt.h:135)
==6209==    by 0x4FA7E4: m68k_run_2ce (newcpu.c:6857)
==6209==    by 0x4F81A0: m68k_go (newcpu.c:7607)
==6209==    by 0x4A2EAC: M68000_Start (m68000.c:301)
==6209==    by 0x4A4409: main (main.c:964)
==6209== Address 0x35484080 is 14,680,128 bytes inside a block of size 14,684,064 in arena "client"
==6209==
==6209== Invalid read of size 4
==6209==    at 0x4B5BCB: Screen_BitplaneToChunky32 (screenConvert.c:206)
==6209== by 0x4B6DB7: ScreenConv_BitplaneLineTo32bpp (screenConvert.c:332) ==6209== by 0x4B6DB7: ScreenConv_BitplaneTo32bppZoomed (screenConvert.c:787)
==6209==    by 0x4B6DB7: Screen_ConvertWithZoom (screenConvert.c:1049)
==6209==    by 0x4B6DB7: Screen_GenConvert (screenConvert.c:1079)
==6209==    by 0x4CF9CC: VIDEL_renderScreen (videl.c:1002)
==6209==    by 0x4C5D74: Video_DrawScreen (video.c:4373)
==6209==    by 0x4C5D74: Video_InterruptHandler_VBL (video.c:4546)
==6209==    by 0x47CC2E: CycInt_CallActiveHandler (cycInt.c:790)
==6209==    by 0x4FA7E4: CycInt_Process_stop (cycInt.h:135)
==6209==    by 0x4FA7E4: m68k_run_2ce (newcpu.c:6857)
==6209==    by 0x4F81A0: m68k_go (newcpu.c:7607)
==6209==    by 0x4A2EAC: M68000_Start (m68000.c:301)
==6209==    by 0x4A4409: main (main.c:964)
==6209== Address 0x35484084 is 14,680,132 bytes inside a block of size 14,684,064 in arena "client"
----------------------------------------------

(I'm not sure, but you may need also to move mouse in the Hatari window while TOS is booting to trigger above warnings.)


	- Eero

Attachment: hatari.nvram
Description: Binary data

[ACSI]
bUseDevice0 = FALSE
bUseDevice1 = FALSE
bUseDevice2 = FALSE
bUseDevice3 = FALSE
bUseDevice4 = FALSE
bUseDevice5 = FALSE
bUseDevice6 = FALSE
bUseDevice7 = FALSE
nBlockSize0 = 512
nBlockSize1 = 512
nBlockSize2 = 512
nBlockSize3 = 512
nBlockSize4 = 512
nBlockSize5 = 512
nBlockSize6 = 512
nBlockSize7 = 512
sDeviceFile0 = /home/user/hatari/build
sDeviceFile1 = /home/user/hatari/build
sDeviceFile2 = /home/user/hatari/build
sDeviceFile3 = /home/user/hatari/build
sDeviceFile4 = /home/user/hatari/build
sDeviceFile5 = /home/user/hatari/build
sDeviceFile6 = /home/user/hatari/build
sDeviceFile7 = /home/user/hatari/build

[Debugger]
bDisasmUAE = FALSE
bMatchAllSymbols = FALSE
bSymbolsAutoLoad = TRUE
nBacktraceLines = 0
nDisasmLines = -1
nHistoryDisasmOffset = 16
nDisasmOptions = 15
nExceptionDebugMask = 515
nMemdumpLines = 4
nNumberBase = 10
nSymbolLines = -1

[Floppy]
DriveA_NumberOfHeads = 2
DriveB_NumberOfHeads = 2
EnableDriveA = TRUE
EnableDriveB = TRUE
FastFloppy = FALSE
bAutoInsertDiskB = TRUE
nWriteProtection = 0
szDiskAFileName =
szDiskAZipPath =
szDiskBFileName =
szDiskBZipPath =
szDiskImageDirectory = /home/user/atari/disks/games/

[HardDisk]
bBootFromHardDisk = FALSE
bFilenameConversion = FALSE
bGemdosHostTime = FALSE
bUseHardDiskDirectory = FALSE
nGemdosCase = 0
nGemdosDrive = 0
nWriteProtection = 0
szHardDiskDirectory = /home/user/atari/hd/music/seq_one

[IDE]
bUseDevice0 = FALSE
bUseDevice1 = FALSE
nBlockSize0 = 512
nBlockSize1 = 512
nByteSwap0 = 2
nByteSwap1 = 2
nDeviceType0 = 0
nDeviceType1 = 0
sDeviceFile0 = /home/user/hatari/build
sDeviceFile1 = /home/user/hatari/build

[Joystick0]
bEnableAutoFire = FALSE
bEnableJumpOnFire2 = FALSE
kDown = Down
kFire = Right Ctrl
kLeft = Left
kRight = Right
kUp = Up
nJoyId = 0
nJoystickMode = 0

[Joystick1]
bEnableAutoFire = FALSE
bEnableJumpOnFire2 = FALSE
kDown = Down
kFire = Right Ctrl
kLeft = Left
kRight = Right
kUp = Up
nJoyId = 0
nJoystickMode = 1

[Joystick2]
bEnableAutoFire = FALSE
bEnableJumpOnFire2 = FALSE
kDown = Down
kFire = Right Ctrl
kLeft = Left
kRight = Right
kUp = Up
nJoyId = 0
nJoystickMode = 0

[Joystick3]
bEnableAutoFire = FALSE
bEnableJumpOnFire2 = FALSE
kDown = Down
kFire = Right Ctrl
kLeft = Left
kRight = Right
kUp = Up
nJoyId = 0
nJoystickMode = 0

[Joystick4]
bEnableAutoFire = FALSE
bEnableJumpOnFire2 = FALSE
kDown = Down
kFire = Right Ctrl
kLeft = Left
kRight = Right
kUp = Up
nJoyId = 0
nJoystickMode = 0

[Joystick5]
bEnableAutoFire = FALSE
bEnableJumpOnFire2 = FALSE
kDown = Down
kFire = Right Ctrl
kLeft = Left
kRight = Right
kUp = Up
nJoyId = 0
nJoystickMode = 0

[KeyShortcutsWithMod]
kBorders = B
kBossKey = I
kColdReset = C
kCursorEmu = J
kDebugger = Pause
kFastForward = X
kFullScreen = F
kInsertDiskA = D
kLoadMem = L
kMouseMode = M
kOptions = O
kPause =
kQuit = Q
kRecAnim = A
kRecSound = Y
kSaveMem = K
kScreenShot = G
kSound = S
kSwitchJoy0 = F1
kSwitchJoy1 = F2
kSwitchPadA = F3
kSwitchPadB = F4
kWarmReset = R

[KeyShortcutsWithoutMod]
kBorders =
kBossKey =
kColdReset =
kCursorEmu =
kDebugger =
kFastForward =
kFullScreen = F11
kInsertDiskA =
kLoadMem =
kMouseMode =
kOptions = F12
kPause = Pause
kQuit =
kRecAnim =
kRecSound =
kSaveMem =
kScreenShot =
kSound =
kSwitchJoy0 =
kSwitchJoy1 =
kSwitchPadA =
kSwitchPadB =
kWarmReset =

[Keyboard]
bDisableKeyRepeat = FALSE
nKeymapType = 1
szMappingFileName =

[LILO]
Args = root=/dev/ram video=atafb:vga16 load_ramdisk=1
HaltOnReboot = TRUE
Kernel = /home/user/hatari/build/share/hatari/vmlinuz
KernelToFastRam = TRUE
Ramdisk = /home/user/hatari/build/share/hatari/initrd
RamdiskToFastRam = TRUE
Symbols =

[Log]
bConfirmQuit = FALSE
bConsoleWindow = FALSE
bNatFeats = FALSE
nAlertDlgLogLevel = 1
nTextLogLevel = 2
sLogFileName = stderr
sTraceFileName = stderr

[Memory]
bAutoSave = FALSE
nMemorySize = 4096
nTTRamSize = 0
szAutoSaveFileName = /home/user/.hatari/auto.sav
szMemoryCaptureFileName = /home/user/.hatari/hatari.sav

[Midi]
bEnableMidi = TRUE
sMidiInFileName = /dev/snd/midiC1D0
sMidiInPortName = Off
sMidiOutFileName = /dev/snd/midiC1D0
sMidiOutPortName = Synth input port

[Printer]
bEnablePrinting = FALSE
szPrintToFileName = /home/user/.config/hatari/hatari.prn

[ROM]
bPatchTos = TRUE
szCartridgeImageFileName =
szTosImageFileName = /home/user/atari/tos/etos1024k.img

[RS232]
bEnableRS232 = FALSE
bEnableSccB = FALSE
sSccBOutFileName = /dev/modem
szInFileName = /dev/modem
szOutFileName = /dev/modem

[SCSI]
bUseDevice0 = FALSE
bUseDevice1 = FALSE
bUseDevice2 = FALSE
bUseDevice3 = FALSE
bUseDevice4 = FALSE
bUseDevice5 = FALSE
bUseDevice6 = FALSE
bUseDevice7 = FALSE
nBlockSize0 = 512
nBlockSize1 = 512
nBlockSize2 = 512
nBlockSize3 = 512
nBlockSize4 = 512
nBlockSize5 = 512
nBlockSize6 = 512
nBlockSize7 = 512
sDeviceFile0 = /home/user/hatari/build
sDeviceFile1 = /home/user/hatari/build
sDeviceFile2 = /home/user/hatari/build
sDeviceFile3 = /home/user/hatari/build
sDeviceFile4 = /home/user/hatari/build
sDeviceFile5 = /home/user/hatari/build
sDeviceFile6 = /home/user/hatari/build
sDeviceFile7 = /home/user/hatari/python-ui

[Screen]
bAllowOverscan = FALSE
bAspectCorrect = TRUE
bCrop = FALSE
bForceMax = FALSE
bFullScreen = FALSE
bKeepResolution = TRUE
bMouseWarp = TRUE
bResizable = TRUE
bShowDriveLed = FALSE
bShowStatusbar = TRUE
bUseExtVdiResolutions = FALSE
bUseSdlRenderer = TRUE
bUseVsync = FALSE
nForceBpp = 0
nFrameSkips = 5
nMaxHeight = 588
nMaxWidth = 832
nMonitorType = 1
nSpec512Threshold = 1
nVdiColors = 2
nVdiHeight = 480
nVdiWidth = 640
nZoomFactor = 1

[ShortcutsWithModifiers]
keyBossKey = 105
keyColdReset = 99
keyCursorEmu = 106
keyDebugger = 19
keyFastForward = 120
keyFullScreen = 102
keyInsertDiskA = 100
keyLoadMem = 108
keyMouseMode = 109
keyOptions = 111
keyPause = 0
keyQuit = 113
keyRecAnim = 97
keyRecSound = 121
keySaveMem = 107
keyScreenShot = 103
keySound = 115
keySwitchJoy0 = 282
keySwitchJoy1 = 283
keySwitchPadA = 284
keySwitchPadB = 285
keyWarmReset = 114

[ShortcutsWithoutModifiers]
keyBossKey = 0
keyColdReset = 0
keyCursorEmu = 0
keyDebugger = 0
keyFastForward = 0
keyFullScreen = 292
keyInsertDiskA = 0
keyLoadMem = 0
keyMouseMode = 0
keyOptions = 293
keyPause = 19
keyQuit = 0
keyRecAnim = 0
keyRecSound = 0
keySaveMem = 0
keyScreenShot = 0
keySound = 0
keySwitchJoy0 = 0
keySwitchJoy1 = 0
keySwitchPadA = 0
keySwitchPadB = 0
keyWarmReset = 0

[Sound]
YmVolumeMixing = 2
bEnableMicrophone = TRUE
bEnableSound = TRUE
bEnableSoundSync = FALSE
nPlaybackFreq = 44100
nSdlAudioBufferSize = 0
szYMCaptureFileName = /home/user/hatari/hatari.wav

[System]
VideoTiming = 3
bAddressSpace24 = TRUE
bBlitter = FALSE
bCompatibleCpu = TRUE
bFastBoot = FALSE
bFastForward = TRUE
bPatchTimerD = TRUE
nCpuFreq = 8
nCpuLevel = 0
nDSPType = 2
nModelType = 0
bCycleExactCpu = TRUE
n_FPUType = 0
bSoftFloatFPU = FALSE
bMMU = FALSE
nVMEType = 1

[Video]
AviRecordFile = /home/user/hatari/build/hatari.avi
AviRecordFps = 0
AviRecordVcodec = 2


Mail converted by MHonArc 2.6.19+ http://listengine.tuxfamily.org/