fnogatz / xsd2json

Translate XML Schema into equivalent JSON Schema
MIT License
149 stars 28 forks source link

stack_limit #105

Closed sadagopanprem closed 4 years ago

sadagopanprem commented 5 years ago

Hello, Having issues with increasing the stack limit on my mac.

:/~/Downloads/xsd2json-master $ swipl --stack_limit=4g Welcome to SWI-Prolog (threaded, 64 bits, version 8.0.2) SWI-Prolog comes with ABSOLUTELY NO WARRANTY. This is free software. Please run ?- license. for legal details.

For online help and background, visit http://www.swi-prolog.org For built-in help, use ?- help(Topic). or ?- apropos(Word).

?- halt.

Post this setting of stack_limit to 4 GB I run the conversion program but fails with below error:

ERROR: -g user:main: Stack limit (1.0Gb) exceeded ERROR: Stack sizes: local: 3.4Mb, global: 0.6Gb, trail: 0.4Mb ERROR: Stack depth: 77,673,357, last-call: 100%, Choice points: 8,947 ERROR: In: ERROR: [77,673,357] assoc:adjust(yes, '', left, _27862, yes) ERROR: [77,673,354] assoc:insert(<, '', '', x, _27890, _27892) ERROR: [77,673,352] assoc:insert(<, '', '', x, _27918, _27920) ERROR: [77,673,350] assoc:insert(<, '', '', x, _27946, _27948) ERROR: [77,673,348] assoc:insert(<, '', '', x, _27974, _27976) ERROR: ERROR: Use the --stack_limit=size[KMG] command line option or ERROR: ?- set_prolog_flag(stack_limit, 2_147_483_648). to double the limit.

It's clearly seen that the 4GB value is not applied.

Can you please help?

sadagopanprem commented 5 years ago

Now, I understand the problem is not with setting up the stack_limit - as it does successfully set's it up. However, setting this value programmatically so that it is applied for the xsd2json.

I did try to modify the package.json with the following:

"create-qlf": "swipl -O --stack_limit=4g  --goal=main -o -c lib-pl/cli.pl",

from the original: "create-qlf": "swipl -O --goal=main -o lib-pl/cli.exe -c lib-pl/cli.pl",

But the error remains the same: ERROR: -g user:main: Stack limit (1.0Gb) exceeded ERROR: Stack sizes: local: 3.4Mb, global: 0.6Gb, trail: 0.4Mb ERROR: Stack depth: 77,673,357, last-call: 100%, Choice points: 8,947 ERROR: In: ERROR: [77,673,357] assoc:adjust(yes, '', left, _27862, yes) ERROR: [77,673,354] assoc:insert(<, '', '', x, _27890, _27892) ERROR: [77,673,352] assoc:insert(<, '', '', x, _27918, _27920) ERROR: [77,673,350] assoc:insert(<, '', '', x, _27946, _27948) ERROR: [77,673,348] assoc:insert(<, '', '', x, _27974, _27976) ERROR: ERROR: Use the --stack_limit=size[KMG] command line option or ERROR: ?- set_prolog_flag(stack_limit, 2_147_483_648). to double the limit.

fnogatz commented 5 years ago

In most cases this is not a problem with the stack limits, but that the given XSD can not be converted at all. Any chances you can provide your XSD so that I can look into for possibly missing things?

sadagopanprem commented 5 years ago

In most cases this is not a problem with the stack limits, but that the given XSD cannot be converted at all. Any chances you can provide your XSD so that I can look into for possibly missing things?

Sure, will do. Basically, if there are one or two "import" in the XSD then it works fine. In the case of multiple imports of XSD's in the XSD "under conversion" then it fails.

sadagopanprem commented 5 years ago

In most cases this is not a problem with the stack limits, but that the given XSD can not be converted at all. Any chances you can provide your XSD so that I can look into for possibly missing things?

your email id pls ? sadagopanprem@gmail.com

fnogatz commented 4 years ago

Closing this because of inactivity.