Absturz bei Fehlschlagen von AllocateMemory()

Hier werden, insbesondere in den Beta-Phasen, Bugmeldungen gepostet. Das offizielle BugForum ist allerdings hier.
Benutzeravatar
cxAlex
Beiträge: 2111
Registriert: 26.06.2008 10:42

Absturz bei Fehlschlagen von AllocateMemory()

Beitrag von cxAlex »

Ich wollte mal testen ab wann AllocateMemory() fehlschlägt, und musste feststellen das es immer zu einem IMA kommt sobald der Befehl daneben geht. Laut ProcessExplorer schafft es das Programm sich ~ 2GB Ram zu greifen bevor es abstürzt:

Code: Alles auswählen

#Size = 1000
Repeat
  *Mem = AllocateMemory(#Size)
  If *Mem = 0
    Debug Str(Count*#Size) + " Bytes konnten angefordert werden"
    Break
  EndIf
  Count + 1
ForEver
Kann das jemand bestätigen?

Gruß, Alex
Projekte: IO.pbi, vcpu
Pausierte Projekte: Easy Network Manager, µC Emulator
Aufgegebene Projekte: ECluster

Bild

PB 5.1 x64/x86; OS: Win7 x64/Ubuntu 10.x x86
Andesdaf
Moderator
Beiträge: 2673
Registriert: 15.06.2008 18:22
Wohnort: Dresden

Beitrag von Andesdaf »

bei mir kommt kein IMA
2021406000 Bytes konnten angefordert werden
PureBasic 4.31 unter Windows Vista x86
Win11 x64 | PB 6.20
Kaeru Gaman
Beiträge: 17389
Registriert: 10.11.2004 03:22

Beitrag von Kaeru Gaman »

brauch ich garnicht testen, ist doch ganz klar.
JEDE App unter windows bekommt maximal 2GB zur Verfügung gestellt,
also wie sollte man mehr als 2GB allocieren können?

@Andesdaf:
das sind ja auch nur 1.88GB
Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.
Benutzeravatar
cxAlex
Beiträge: 2111
Registriert: 26.06.2008 10:42

Beitrag von cxAlex »

Kaeru Gaman hat geschrieben:brauch ich garnicht testen, ist doch ganz klar.
JEDE App unter windows bekommt maximal 2GB zur Verfügung gestellt,
also wie sollte man mehr als 2GB allocieren können?

@Andesdaf:
das sind ja auch nur 1.88GB
Ja, ne ist klar, es geht nur darum das ich das Debug nie angezeigt bekomme ,die Zeile rot ist und ich nen IMA bekomme.
Projekte: IO.pbi, vcpu
Pausierte Projekte: Easy Network Manager, µC Emulator
Aufgegebene Projekte: ECluster

Bild

PB 5.1 x64/x86; OS: Win7 x64/Ubuntu 10.x x86
Andesdaf
Moderator
Beiträge: 2673
Registriert: 15.06.2008 18:22
Wohnort: Dresden

Beitrag von Andesdaf »

Kaeru Gaman hat geschrieben:@Andesdaf:
das sind ja auch nur 1.88GB
wollte aber die Debugausgabe zur Vollständigkeit mit einstellen.
Ansonsten geht es ja nicht um die Kapazität sondern um den IMA, wie cxAlex
grade schrieb.
Win11 x64 | PB 6.20
Benutzeravatar
ts-soft
Beiträge: 22292
Registriert: 08.09.2004 00:57
Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel
Wohnort: Berlin

Beitrag von ts-soft »

Kein Programmabsturz:
4.31 x86 win:
Debugger hat geschrieben:1997738000 Bytes konnten angefordert werden
4.31 x64 win:
Windows friert komplett ein, lediglich der Mauszeiger läßt sich noch bewegen :freak:
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Bild
Benutzeravatar
cxAlex
Beiträge: 2111
Registriert: 26.06.2008 10:42

Beitrag von cxAlex »

Komische Ergebnisse. Laut Process - Explorer schafft es die Exe bei mir auch ca. zwischen 1.8 - 1.9 GB zu allokieren bevor Sie abschmiert.

Ich hab ne Idee worans liegen könnte, bin jetzt aber mal weg, in ca. 2 - 3 Stunden kann ich sagen obs das war was ich mir grade denke.

Gruß, Alex
Projekte: IO.pbi, vcpu
Pausierte Projekte: Easy Network Manager, µC Emulator
Aufgegebene Projekte: ECluster

Bild

PB 5.1 x64/x86; OS: Win7 x64/Ubuntu 10.x x86
Benutzeravatar
ts-soft
Beiträge: 22292
Registriert: 08.09.2004 00:57
Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel
Wohnort: Berlin

Beitrag von ts-soft »

Unter Linux ähnliche Probleme.
x86 lin:
Debugger hat geschrieben:Das mit dem Debugger getestete Executable endete unerwartet.
x64 lin:
Linux friert ein :freak:

Also bei mir funktioniert nur win x86 korrekt.
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Bild
Benutzeravatar
cxAlex
Beiträge: 2111
Registriert: 26.06.2008 10:42

Beitrag von cxAlex »

Ich habs:

Ich hab meine Ramdisk von 1 GB auf 512 MB gedrosselt. Vorher war ich bei 1.5 GB Standartverbrauch + 2 GB im Test hart an der Grenze zum adressierbaren Arbeitsspeicher. Nun kommt die Meldung ohne IMA, ich kann 1.96 GB belegen. Komisch nur das es nen IMA gibt, sollte Windows nicht einfach auf die HD swappen?

PS: Ah, natürlich seeehr intelligent wenn man die maximale Größe der Auslagerungsdatei auf 0 festlegt ^^. Keine Ahnung was ich mir da gedacht habe ^^
Projekte: IO.pbi, vcpu
Pausierte Projekte: Easy Network Manager, µC Emulator
Aufgegebene Projekte: ECluster

Bild

PB 5.1 x64/x86; OS: Win7 x64/Ubuntu 10.x x86
Benutzeravatar
ts-soft
Beiträge: 22292
Registriert: 08.09.2004 00:57
Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel
Wohnort: Berlin

Beitrag von ts-soft »

Trotz allem liegt ein Bug vor, da es nur unter 32-Bit Windows richtig
funktioniert. Wäre schön wenn das noch jemand bestätigen könnte.
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Bild
Antworten