./Ultimate.py --spec ../../../trunk/examples/svcomp/properties/valid-memsafety.prp --file ../../../trunk/examples/svcomp/goblint-regression/13-privatized_18-first-reads_unknown_2_neg.i --full-output --traceabstraction.when.to.check.the.insufficient.erros.location.relative.to.the.other.error.locations DEFORE --architecture 32bit -------------------------------------------------------------------------------- Checking for memory safety (deref-memtrack) Using default analysis Version b8dbc81d Calling Ultimate with: /usr/bin/java -Dosgi.configuration.area=/storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/config -Xmx15G -Xms4m -jar /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/plugins/org.eclipse.equinox.launcher_1.5.800.v20200727-1323.jar -data @noDefault -ultimatedata /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data -tc /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/config/AutomizerMemDerefMemtrack.xml -i ../../../trunk/examples/svcomp/goblint-regression/13-privatized_18-first-reads_unknown_2_neg.i -s /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/config/svcomp-DerefFreeMemtrack-32bit-Automizer_Default.epf --cacsl2boogietranslator.entry.function main --witnessprinter.witness.directory /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux --witnessprinter.witness.filename witness.graphml --witnessprinter.write.witness.besides.input.file false --witnessprinter.graph.data.specification CHECK( init(main()), LTL(G valid-free) ) CHECK( init(main()), LTL(G valid-deref) ) CHECK( init(main()), LTL(G valid-memtrack) ) --witnessprinter.graph.data.producer Automizer --witnessprinter.graph.data.architecture 32bit --witnessprinter.graph.data.programhash 9466f27e00e9305501eee0377198b5d988616fcd0740d7b6b046dc1579fad0d0 --traceabstraction.when.to.check.the.insufficient.erros.location.relative.to.the.other.error.locations DEFORE --- Real Ultimate output --- This is Ultimate 0.2.3-?-b8dbc81 [2023-08-30 01:59:34,468 INFO L177 SettingsManager]: Resetting all preferences to default values... [2023-08-30 01:59:34,470 INFO L181 SettingsManager]: Resetting UltimateCore preferences to default values [2023-08-30 01:59:34,492 INFO L184 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2023-08-30 01:59:34,493 INFO L181 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2023-08-30 01:59:34,494 INFO L181 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2023-08-30 01:59:34,495 INFO L181 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2023-08-30 01:59:34,496 INFO L181 SettingsManager]: Resetting LassoRanker preferences to default values [2023-08-30 01:59:34,498 INFO L181 SettingsManager]: Resetting Reaching Definitions preferences to default values [2023-08-30 01:59:34,499 INFO L181 SettingsManager]: Resetting SyntaxChecker preferences to default values [2023-08-30 01:59:34,499 INFO L181 SettingsManager]: Resetting Sifa preferences to default values [2023-08-30 01:59:34,500 INFO L184 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2023-08-30 01:59:34,501 INFO L181 SettingsManager]: Resetting LTL2Aut preferences to default values [2023-08-30 01:59:34,502 INFO L181 SettingsManager]: Resetting PEA to Boogie preferences to default values [2023-08-30 01:59:34,503 INFO L181 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2023-08-30 01:59:34,504 INFO L181 SettingsManager]: Resetting ChcToBoogie preferences to default values [2023-08-30 01:59:34,504 INFO L181 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2023-08-30 01:59:34,505 INFO L181 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2023-08-30 01:59:34,506 INFO L181 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2023-08-30 01:59:34,508 INFO L181 SettingsManager]: Resetting CodeCheck preferences to default values [2023-08-30 01:59:34,518 INFO L181 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2023-08-30 01:59:34,520 INFO L181 SettingsManager]: Resetting RCFGBuilder preferences to default values [2023-08-30 01:59:34,522 INFO L181 SettingsManager]: Resetting Referee preferences to default values [2023-08-30 01:59:34,523 INFO L181 SettingsManager]: Resetting TraceAbstraction preferences to default values [2023-08-30 01:59:34,529 INFO L184 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2023-08-30 01:59:34,533 INFO L184 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2023-08-30 01:59:34,533 INFO L181 SettingsManager]: Resetting TreeAutomizer preferences to default values [2023-08-30 01:59:34,534 INFO L181 SettingsManager]: Resetting IcfgToChc preferences to default values [2023-08-30 01:59:34,536 INFO L181 SettingsManager]: Resetting IcfgTransformer preferences to default values [2023-08-30 01:59:34,537 INFO L184 SettingsManager]: ReqToTest provides no preferences, ignoring... [2023-08-30 01:59:34,537 INFO L181 SettingsManager]: Resetting Boogie Printer preferences to default values [2023-08-30 01:59:34,537 INFO L181 SettingsManager]: Resetting ChcSmtPrinter preferences to default values [2023-08-30 01:59:34,539 INFO L181 SettingsManager]: Resetting ReqPrinter preferences to default values [2023-08-30 01:59:34,539 INFO L181 SettingsManager]: Resetting Witness Printer preferences to default values [2023-08-30 01:59:34,540 INFO L184 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2023-08-30 01:59:34,541 INFO L181 SettingsManager]: Resetting CDTParser preferences to default values [2023-08-30 01:59:34,542 INFO L184 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2023-08-30 01:59:34,543 INFO L184 SettingsManager]: ReqParser provides no preferences, ignoring... [2023-08-30 01:59:34,543 INFO L181 SettingsManager]: Resetting SmtParser preferences to default values [2023-08-30 01:59:34,543 INFO L181 SettingsManager]: Resetting Witness Parser preferences to default values [2023-08-30 01:59:34,544 INFO L188 SettingsManager]: Finished resetting all preferences to default values... [2023-08-30 01:59:34,545 INFO L101 SettingsManager]: Beginning loading settings from /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/config/svcomp-DerefFreeMemtrack-32bit-Automizer_Default.epf [2023-08-30 01:59:34,571 INFO L113 SettingsManager]: Loading preferences was successful [2023-08-30 01:59:34,571 INFO L115 SettingsManager]: Preferences different from defaults after loading the file: [2023-08-30 01:59:34,572 INFO L136 SettingsManager]: Preferences of UltimateCore differ from their defaults: [2023-08-30 01:59:34,572 INFO L138 SettingsManager]: * Log level for class=de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=ERROR; [2023-08-30 01:59:34,573 INFO L136 SettingsManager]: Preferences of Boogie Procedure Inliner differ from their defaults: [2023-08-30 01:59:34,573 INFO L138 SettingsManager]: * Ignore calls to procedures called more than once=ONLY_FOR_SEQUENTIAL_PROGRAMS [2023-08-30 01:59:34,573 INFO L136 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2023-08-30 01:59:34,574 INFO L138 SettingsManager]: * Create parallel compositions if possible=false [2023-08-30 01:59:34,574 INFO L138 SettingsManager]: * Use SBE=true [2023-08-30 01:59:34,574 INFO L136 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2023-08-30 01:59:34,574 INFO L138 SettingsManager]: * sizeof long=4 [2023-08-30 01:59:34,574 INFO L138 SettingsManager]: * Check unreachability of error function in SV-COMP mode=false [2023-08-30 01:59:34,574 INFO L138 SettingsManager]: * Overapproximate operations on floating types=true [2023-08-30 01:59:34,575 INFO L138 SettingsManager]: * sizeof POINTER=4 [2023-08-30 01:59:34,575 INFO L138 SettingsManager]: * Check division by zero=IGNORE [2023-08-30 01:59:34,575 INFO L138 SettingsManager]: * Check for the main procedure if all allocated memory was freed=true [2023-08-30 01:59:34,575 INFO L138 SettingsManager]: * Bitprecise bitfields=true [2023-08-30 01:59:34,575 INFO L138 SettingsManager]: * SV-COMP memtrack compatibility mode=true [2023-08-30 01:59:34,575 INFO L138 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2023-08-30 01:59:34,576 INFO L138 SettingsManager]: * Adapt memory model on pointer casts if necessary=true [2023-08-30 01:59:34,576 INFO L138 SettingsManager]: * sizeof long double=12 [2023-08-30 01:59:34,576 INFO L138 SettingsManager]: * Use constant arrays=true [2023-08-30 01:59:34,576 INFO L136 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2023-08-30 01:59:34,576 INFO L138 SettingsManager]: * Size of a code block=SequenceOfStatements [2023-08-30 01:59:34,577 INFO L138 SettingsManager]: * SMT solver=External_DefaultMode [2023-08-30 01:59:34,577 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2023-08-30 01:59:34,577 INFO L136 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2023-08-30 01:59:34,577 INFO L138 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2023-08-30 01:59:34,577 INFO L138 SettingsManager]: * Trace refinement strategy=CAMEL [2023-08-30 01:59:34,578 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in [2023-08-30 01:59:34,578 INFO L138 SettingsManager]: * Automaton type used in concurrency analysis=PETRI_NET [2023-08-30 01:59:34,578 INFO L138 SettingsManager]: * Order on configurations for Petri net unfoldings=DBO [2023-08-30 01:59:34,578 INFO L138 SettingsManager]: * SMT solver=External_ModelsAndUnsatCoreMode [2023-08-30 01:59:34,578 INFO L138 SettingsManager]: * Independence relation used for large block encoding in concurrent analysis=SYNTACTIC [2023-08-30 01:59:34,578 INFO L138 SettingsManager]: * Looper check in Petri net analysis=SEMANTIC WARNING: An illegal reflective access operation has occurred WARNING: Illegal reflective access by com.sun.xml.bind.v2.runtime.reflect.opt.Injector$1 (file:/storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/plugins/com.sun.xml.bind_2.2.0.v201505121915.jar) to method java.lang.ClassLoader.defineClass(java.lang.String,byte[],int,int) WARNING: Please consider reporting this to the maintainers of com.sun.xml.bind.v2.runtime.reflect.opt.Injector$1 WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations WARNING: All illegal access operations will be denied in a future release Applying setting for plugin de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator: Entry function -> main Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Witness directory -> /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Witness filename -> witness.graphml Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Write witness besides input file -> false Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Graph data specification -> CHECK( init(main()), LTL(G valid-free) ) CHECK( init(main()), LTL(G valid-deref) ) CHECK( init(main()), LTL(G valid-memtrack) ) Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Graph data producer -> Automizer Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Graph data architecture -> 32bit Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Graph data programhash -> 9466f27e00e9305501eee0377198b5d988616fcd0740d7b6b046dc1579fad0d0 Applying setting for plugin de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction: When to check the insufficient erros location relative to the other error locations -> DEFORE [2023-08-30 01:59:34,926 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2023-08-30 01:59:34,952 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2023-08-30 01:59:34,954 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2023-08-30 01:59:34,955 INFO L271 PluginConnector]: Initializing CDTParser... [2023-08-30 01:59:34,956 INFO L275 PluginConnector]: CDTParser initialized [2023-08-30 01:59:34,958 INFO L432 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/svcomp/goblint-regression/13-privatized_18-first-reads_unknown_2_neg.i [2023-08-30 01:59:36,063 INFO L500 CDTParser]: Created temporary CDT project at NULL [2023-08-30 01:59:36,313 INFO L351 CDTParser]: Found 1 translation units. [2023-08-30 01:59:36,314 INFO L172 CDTParser]: Scanning /storage/repos/ultimate/trunk/examples/svcomp/goblint-regression/13-privatized_18-first-reads_unknown_2_neg.i [2023-08-30 01:59:36,325 INFO L394 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/fe7856008/2137ea1f99824f54b32682cadeef07a3/FLAGa1419c6b8 [2023-08-30 01:59:36,339 INFO L402 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/fe7856008/2137ea1f99824f54b32682cadeef07a3 [2023-08-30 01:59:36,341 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2023-08-30 01:59:36,344 INFO L131 ToolchainWalker]: Walking toolchain with 6 elements. [2023-08-30 01:59:36,344 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2023-08-30 01:59:36,344 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2023-08-30 01:59:36,350 INFO L275 PluginConnector]: CACSL2BoogieTranslator initialized [2023-08-30 01:59:36,351 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 30.08 01:59:36" (1/1) ... [2023-08-30 01:59:36,352 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@4feb7f4a and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 30.08 01:59:36, skipping insertion in model container [2023-08-30 01:59:36,354 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 30.08 01:59:36" (1/1) ... [2023-08-30 01:59:36,360 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2023-08-30 01:59:36,405 INFO L178 MainTranslator]: Built tables and reachable declarations [2023-08-30 01:59:36,522 WARN L247 ndardFunctionHandler]: Function reach_error is already implemented but we override the implementation for the call at /storage/repos/ultimate/trunk/examples/svcomp/goblint-regression/13-privatized_18-first-reads_unknown_2_neg.i[1097,1110] [2023-08-30 01:59:36,656 INFO L209 PostProcessor]: Analyzing one entry point: main [2023-08-30 01:59:36,671 INFO L203 MainTranslator]: Completed pre-run [2023-08-30 01:59:36,686 WARN L247 ndardFunctionHandler]: Function reach_error is already implemented but we override the implementation for the call at /storage/repos/ultimate/trunk/examples/svcomp/goblint-regression/13-privatized_18-first-reads_unknown_2_neg.i[1097,1110] [2023-08-30 01:59:36,733 INFO L209 PostProcessor]: Analyzing one entry point: main [2023-08-30 01:59:36,807 INFO L208 MainTranslator]: Completed translation [2023-08-30 01:59:36,808 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 30.08 01:59:36 WrapperNode [2023-08-30 01:59:36,808 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2023-08-30 01:59:36,810 INFO L113 PluginConnector]: ------------------------Boogie Procedure Inliner---------------------------- [2023-08-30 01:59:36,810 INFO L271 PluginConnector]: Initializing Boogie Procedure Inliner... [2023-08-30 01:59:36,810 INFO L275 PluginConnector]: Boogie Procedure Inliner initialized [2023-08-30 01:59:36,816 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 30.08 01:59:36" (1/1) ... [2023-08-30 01:59:36,845 INFO L185 PluginConnector]: Executing the observer Inliner from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 30.08 01:59:36" (1/1) ... [2023-08-30 01:59:36,869 INFO L138 Inliner]: procedures = 163, calls = 21, calls flagged for inlining = 3, calls inlined = 3, statements flattened = 56 [2023-08-30 01:59:36,869 INFO L132 PluginConnector]: ------------------------ END Boogie Procedure Inliner---------------------------- [2023-08-30 01:59:36,870 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2023-08-30 01:59:36,870 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2023-08-30 01:59:36,870 INFO L275 PluginConnector]: Boogie Preprocessor initialized [2023-08-30 01:59:36,877 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 30.08 01:59:36" (1/1) ... [2023-08-30 01:59:36,878 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 30.08 01:59:36" (1/1) ... [2023-08-30 01:59:36,885 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 30.08 01:59:36" (1/1) ... [2023-08-30 01:59:36,886 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 30.08 01:59:36" (1/1) ... [2023-08-30 01:59:36,901 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 30.08 01:59:36" (1/1) ... [2023-08-30 01:59:36,906 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 30.08 01:59:36" (1/1) ... [2023-08-30 01:59:36,908 INFO L185 PluginConnector]: Executing the observer LTLStepAnnotator from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 30.08 01:59:36" (1/1) ... [2023-08-30 01:59:36,909 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 30.08 01:59:36" (1/1) ... [2023-08-30 01:59:36,912 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2023-08-30 01:59:36,918 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2023-08-30 01:59:36,919 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2023-08-30 01:59:36,919 INFO L275 PluginConnector]: RCFGBuilder initialized [2023-08-30 01:59:36,920 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 30.08 01:59:36" (1/1) ... [2023-08-30 01:59:36,926 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2023-08-30 01:59:36,937 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2023-08-30 01:59:36,949 INFO L229 MonitoredProcess]: Starting monitored process 1 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 (exit command is (exit), workingDir is null) [2023-08-30 01:59:36,958 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 (1)] Waiting until timeout for monitored process [2023-08-30 01:59:36,986 INFO L130 BoogieDeclarations]: Found specification of procedure read~int [2023-08-30 01:59:36,986 INFO L130 BoogieDeclarations]: Found specification of procedure write~int [2023-08-30 01:59:36,986 INFO L130 BoogieDeclarations]: Found specification of procedure #PthreadsMutexLock [2023-08-30 01:59:36,986 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocInit [2023-08-30 01:59:36,986 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocOnStack [2023-08-30 01:59:36,987 INFO L130 BoogieDeclarations]: Found specification of procedure t_fun [2023-08-30 01:59:36,987 INFO L138 BoogieDeclarations]: Found implementation of procedure t_fun [2023-08-30 01:59:36,987 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2023-08-30 01:59:36,987 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int [2023-08-30 01:59:36,987 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2023-08-30 01:59:36,987 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2023-08-30 01:59:36,989 WARN L210 CfgBuilder]: User set CodeBlockSize to SequenceOfStatements but program contains fork statements. Overwriting the user preferences and setting CodeBlockSize to OneNontrivialStatement [2023-08-30 01:59:37,084 INFO L236 CfgBuilder]: Building ICFG [2023-08-30 01:59:37,086 INFO L262 CfgBuilder]: Building CFG for each procedure with an implementation [2023-08-30 01:59:37,310 INFO L277 CfgBuilder]: Performing block encoding [2023-08-30 01:59:37,315 INFO L297 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2023-08-30 01:59:37,315 INFO L302 CfgBuilder]: Removed 0 assume(true) statements. [2023-08-30 01:59:37,323 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 30.08 01:59:37 BoogieIcfgContainer [2023-08-30 01:59:37,323 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2023-08-30 01:59:37,325 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2023-08-30 01:59:37,325 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2023-08-30 01:59:37,328 INFO L275 PluginConnector]: TraceAbstraction initialized [2023-08-30 01:59:37,328 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 30.08 01:59:36" (1/3) ... [2023-08-30 01:59:37,329 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@62b1b61c and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 30.08 01:59:37, skipping insertion in model container [2023-08-30 01:59:37,329 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 30.08 01:59:36" (2/3) ... [2023-08-30 01:59:37,346 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@62b1b61c and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 30.08 01:59:37, skipping insertion in model container [2023-08-30 01:59:37,346 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 30.08 01:59:37" (3/3) ... [2023-08-30 01:59:37,347 INFO L112 eAbstractionObserver]: Analyzing ICFG 13-privatized_18-first-reads_unknown_2_neg.i [2023-08-30 01:59:37,363 INFO L203 ceAbstractionStarter]: Automizer settings: Hoare:false NWA Interpolation:FPandBP Determinization: PREDICATE_ABSTRACTION [2023-08-30 01:59:37,364 INFO L162 ceAbstractionStarter]: Applying trace abstraction to program that has 6 error locations. [2023-08-30 01:59:37,364 INFO L515 ceAbstractionStarter]: Constructing petrified ICFG for 1 thread instances. [2023-08-30 01:59:37,446 INFO L144 ThreadInstanceAdder]: Constructed 1 joinOtherThreadTransitions. [2023-08-30 01:59:37,458 FATAL L? ?]: The Plugin de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction has thrown an exception: java.lang.IllegalArgumentException: No enum constant de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.preferences.TraceAbstractionPreferenceInitializer.InsufficientError.DEFORE at java.base/java.lang.Enum.valueOf(Enum.java:240) at de.uni_freiburg.informatik.ultimate.core.preferences.RcpPreferenceProvider.getEnum(RcpPreferenceProvider.java:117) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.preferences.TAPreferences.insufficientThreadErrorsVsProgramErrors(TAPreferences.java:218) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionStarter.partitionErrorLocations(TraceAbstractionStarter.java:394) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionStarter.analyseProgram(TraceAbstractionStarter.java:280) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionStarter.analyseConcurrentProgram(TraceAbstractionStarter.java:225) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionStarter.runCegarLoops(TraceAbstractionStarter.java:173) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionStarter.(TraceAbstractionStarter.java:154) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver.finish(TraceAbstractionObserver.java:124) at de.uni_freiburg.informatik.ultimate.core.coreplugin.PluginConnector.runObserver(PluginConnector.java:168) at de.uni_freiburg.informatik.ultimate.core.coreplugin.PluginConnector.runTool(PluginConnector.java:151) at de.uni_freiburg.informatik.ultimate.core.coreplugin.PluginConnector.run(PluginConnector.java:128) at de.uni_freiburg.informatik.ultimate.core.coreplugin.ToolchainWalker.executePluginConnector(ToolchainWalker.java:232) at de.uni_freiburg.informatik.ultimate.core.coreplugin.ToolchainWalker.processPlugin(ToolchainWalker.java:226) at de.uni_freiburg.informatik.ultimate.core.coreplugin.ToolchainWalker.walkUnprotected(ToolchainWalker.java:142) at de.uni_freiburg.informatik.ultimate.core.coreplugin.ToolchainWalker.walk(ToolchainWalker.java:104) at de.uni_freiburg.informatik.ultimate.core.coreplugin.ToolchainManager$Toolchain.processToolchain(ToolchainManager.java:320) at de.uni_freiburg.informatik.ultimate.core.coreplugin.toolchain.DefaultToolchainJob.run(DefaultToolchainJob.java:145) at org.eclipse.core.internal.jobs.Worker.run(Worker.java:63) [2023-08-30 01:59:37,464 INFO L158 Benchmark]: Toolchain (without parser) took 1119.29ms. Allocated memory was 73.4MB in the beginning and 98.6MB in the end (delta: 25.2MB). Free memory was 48.7MB in the beginning and 71.0MB in the end (delta: -22.3MB). Peak memory consumption was 23.8MB. Max. memory is 16.1GB. [2023-08-30 01:59:37,465 INFO L158 Benchmark]: CDTParser took 0.25ms. Allocated memory is still 73.4MB. Free memory is still 50.5MB. There was no memory consumed. Max. memory is 16.1GB. [2023-08-30 01:59:37,466 INFO L158 Benchmark]: CACSL2BoogieTranslator took 464.17ms. Allocated memory is still 73.4MB. Free memory was 48.6MB in the beginning and 48.2MB in the end (delta: 393.1kB). Peak memory consumption was 19.4MB. Max. memory is 16.1GB. [2023-08-30 01:59:37,467 INFO L158 Benchmark]: Boogie Procedure Inliner took 59.99ms. Allocated memory is still 73.4MB. Free memory was 48.2MB in the beginning and 46.1MB in the end (delta: 2.1MB). There was no memory consumed. Max. memory is 16.1GB. [2023-08-30 01:59:37,467 INFO L158 Benchmark]: Boogie Preprocessor took 47.64ms. Allocated memory is still 73.4MB. Free memory was 46.1MB in the beginning and 44.8MB in the end (delta: 1.3MB). Peak memory consumption was 2.1MB. Max. memory is 16.1GB. [2023-08-30 01:59:37,468 INFO L158 Benchmark]: RCFGBuilder took 405.18ms. Allocated memory is still 73.4MB. Free memory was 44.8MB in the beginning and 32.2MB in the end (delta: 12.5MB). Peak memory consumption was 12.6MB. Max. memory is 16.1GB. [2023-08-30 01:59:37,469 INFO L158 Benchmark]: TraceAbstraction took 137.09ms. Allocated memory was 73.4MB in the beginning and 98.6MB in the end (delta: 25.2MB). Free memory was 31.4MB in the beginning and 71.0MB in the end (delta: -39.6MB). Peak memory consumption was 6.6MB. Max. memory is 16.1GB. [2023-08-30 01:59:37,476 INFO L339 ainManager$Toolchain]: ####################### End [Toolchain 1] ####################### --- Results --- * Results from de.uni_freiburg.informatik.ultimate.core: - StatisticsResult: Toolchain Benchmarks Benchmark results are: * CDTParser took 0.25ms. Allocated memory is still 73.4MB. Free memory is still 50.5MB. There was no memory consumed. Max. memory is 16.1GB. * CACSL2BoogieTranslator took 464.17ms. Allocated memory is still 73.4MB. Free memory was 48.6MB in the beginning and 48.2MB in the end (delta: 393.1kB). Peak memory consumption was 19.4MB. Max. memory is 16.1GB. * Boogie Procedure Inliner took 59.99ms. Allocated memory is still 73.4MB. Free memory was 48.2MB in the beginning and 46.1MB in the end (delta: 2.1MB). There was no memory consumed. Max. memory is 16.1GB. * Boogie Preprocessor took 47.64ms. Allocated memory is still 73.4MB. Free memory was 46.1MB in the beginning and 44.8MB in the end (delta: 1.3MB). Peak memory consumption was 2.1MB. Max. memory is 16.1GB. * RCFGBuilder took 405.18ms. Allocated memory is still 73.4MB. Free memory was 44.8MB in the beginning and 32.2MB in the end (delta: 12.5MB). Peak memory consumption was 12.6MB. Max. memory is 16.1GB. * TraceAbstraction took 137.09ms. Allocated memory was 73.4MB in the beginning and 98.6MB in the end (delta: 25.2MB). Free memory was 31.4MB in the beginning and 71.0MB in the end (delta: -39.6MB). Peak memory consumption was 6.6MB. Max. memory is 16.1GB. * Results from de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction: - ExceptionOrErrorResult: IllegalArgumentException: No enum constant de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.preferences.TraceAbstractionPreferenceInitializer.InsufficientError.DEFORE de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction: IllegalArgumentException: No enum constant de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.preferences.TraceAbstractionPreferenceInitializer.InsufficientError.DEFORE: java.base/java.lang.Enum.valueOf(Enum.java:240) RESULT: Ultimate could not prove your program: Toolchain returned no result. [2023-08-30 01:59:37,499 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 (1)] Ended with exit code 0 Received shutdown request... --- End real Ultimate output --- Execution finished normally Using bit-precise analysis Retrying with bit-precise analysis ### Bit-precise run ### Calling Ultimate with: /usr/bin/java -Dosgi.configuration.area=/storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/config -Xmx15G -Xms4m -jar /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/plugins/org.eclipse.equinox.launcher_1.5.800.v20200727-1323.jar -data @noDefault -ultimatedata /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data -tc /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/config/AutomizerMemDerefMemtrack.xml -i ../../../trunk/examples/svcomp/goblint-regression/13-privatized_18-first-reads_unknown_2_neg.i -s /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/config/svcomp-DerefFreeMemtrack-32bit-Automizer_Bitvector.epf --cacsl2boogietranslator.entry.function main --witnessprinter.witness.directory /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux --witnessprinter.witness.filename witness.graphml --witnessprinter.write.witness.besides.input.file false --witnessprinter.graph.data.specification CHECK( init(main()), LTL(G valid-free) ) CHECK( init(main()), LTL(G valid-deref) ) CHECK( init(main()), LTL(G valid-memtrack) ) --witnessprinter.graph.data.producer Automizer --witnessprinter.graph.data.architecture 32bit --witnessprinter.graph.data.programhash 9466f27e00e9305501eee0377198b5d988616fcd0740d7b6b046dc1579fad0d0 --traceabstraction.when.to.check.the.insufficient.erros.location.relative.to.the.other.error.locations DEFORE --- Real Ultimate output --- This is Ultimate 0.2.3-?-b8dbc81 [2023-08-30 01:59:39,381 INFO L177 SettingsManager]: Resetting all preferences to default values... [2023-08-30 01:59:39,382 INFO L181 SettingsManager]: Resetting UltimateCore preferences to default values [2023-08-30 01:59:39,410 INFO L184 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2023-08-30 01:59:39,411 INFO L181 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2023-08-30 01:59:39,412 INFO L181 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2023-08-30 01:59:39,413 INFO L181 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2023-08-30 01:59:39,415 INFO L181 SettingsManager]: Resetting LassoRanker preferences to default values [2023-08-30 01:59:39,416 INFO L181 SettingsManager]: Resetting Reaching Definitions preferences to default values [2023-08-30 01:59:39,417 INFO L181 SettingsManager]: Resetting SyntaxChecker preferences to default values [2023-08-30 01:59:39,418 INFO L181 SettingsManager]: Resetting Sifa preferences to default values [2023-08-30 01:59:39,419 INFO L184 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2023-08-30 01:59:39,419 INFO L181 SettingsManager]: Resetting LTL2Aut preferences to default values [2023-08-30 01:59:39,420 INFO L181 SettingsManager]: Resetting PEA to Boogie preferences to default values [2023-08-30 01:59:39,421 INFO L181 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2023-08-30 01:59:39,422 INFO L181 SettingsManager]: Resetting ChcToBoogie preferences to default values [2023-08-30 01:59:39,423 INFO L181 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2023-08-30 01:59:39,424 INFO L181 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2023-08-30 01:59:39,425 INFO L181 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2023-08-30 01:59:39,427 INFO L181 SettingsManager]: Resetting CodeCheck preferences to default values [2023-08-30 01:59:39,428 INFO L181 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2023-08-30 01:59:39,433 INFO L181 SettingsManager]: Resetting RCFGBuilder preferences to default values [2023-08-30 01:59:39,434 INFO L181 SettingsManager]: Resetting Referee preferences to default values [2023-08-30 01:59:39,437 INFO L181 SettingsManager]: Resetting TraceAbstraction preferences to default values [2023-08-30 01:59:39,441 INFO L184 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2023-08-30 01:59:39,449 INFO L184 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2023-08-30 01:59:39,450 INFO L181 SettingsManager]: Resetting TreeAutomizer preferences to default values [2023-08-30 01:59:39,451 INFO L181 SettingsManager]: Resetting IcfgToChc preferences to default values [2023-08-30 01:59:39,451 INFO L181 SettingsManager]: Resetting IcfgTransformer preferences to default values [2023-08-30 01:59:39,452 INFO L184 SettingsManager]: ReqToTest provides no preferences, ignoring... [2023-08-30 01:59:39,452 INFO L181 SettingsManager]: Resetting Boogie Printer preferences to default values [2023-08-30 01:59:39,454 INFO L181 SettingsManager]: Resetting ChcSmtPrinter preferences to default values [2023-08-30 01:59:39,455 INFO L181 SettingsManager]: Resetting ReqPrinter preferences to default values [2023-08-30 01:59:39,456 INFO L181 SettingsManager]: Resetting Witness Printer preferences to default values [2023-08-30 01:59:39,457 INFO L184 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2023-08-30 01:59:39,457 INFO L181 SettingsManager]: Resetting CDTParser preferences to default values [2023-08-30 01:59:39,458 INFO L184 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2023-08-30 01:59:39,459 INFO L184 SettingsManager]: ReqParser provides no preferences, ignoring... [2023-08-30 01:59:39,459 INFO L181 SettingsManager]: Resetting SmtParser preferences to default values [2023-08-30 01:59:39,469 INFO L181 SettingsManager]: Resetting Witness Parser preferences to default values [2023-08-30 01:59:39,470 INFO L188 SettingsManager]: Finished resetting all preferences to default values... [2023-08-30 01:59:39,471 INFO L101 SettingsManager]: Beginning loading settings from /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/config/svcomp-DerefFreeMemtrack-32bit-Automizer_Bitvector.epf [2023-08-30 01:59:39,501 INFO L113 SettingsManager]: Loading preferences was successful [2023-08-30 01:59:39,501 INFO L115 SettingsManager]: Preferences different from defaults after loading the file: [2023-08-30 01:59:39,502 INFO L136 SettingsManager]: Preferences of UltimateCore differ from their defaults: [2023-08-30 01:59:39,502 INFO L138 SettingsManager]: * Log level for class=de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=ERROR; [2023-08-30 01:59:39,503 INFO L136 SettingsManager]: Preferences of Boogie Procedure Inliner differ from their defaults: [2023-08-30 01:59:39,503 INFO L138 SettingsManager]: * Ignore calls to procedures called more than once=ONLY_FOR_SEQUENTIAL_PROGRAMS [2023-08-30 01:59:39,504 INFO L136 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2023-08-30 01:59:39,505 INFO L138 SettingsManager]: * Create parallel compositions if possible=false [2023-08-30 01:59:39,505 INFO L138 SettingsManager]: * Use SBE=true [2023-08-30 01:59:39,505 INFO L136 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2023-08-30 01:59:39,506 INFO L138 SettingsManager]: * sizeof long=4 [2023-08-30 01:59:39,506 INFO L138 SettingsManager]: * Check unreachability of error function in SV-COMP mode=false [2023-08-30 01:59:39,506 INFO L138 SettingsManager]: * Overapproximate operations on floating types=true [2023-08-30 01:59:39,506 INFO L138 SettingsManager]: * sizeof POINTER=4 [2023-08-30 01:59:39,506 INFO L138 SettingsManager]: * Check division by zero=IGNORE [2023-08-30 01:59:39,507 INFO L138 SettingsManager]: * Check for the main procedure if all allocated memory was freed=true [2023-08-30 01:59:39,507 INFO L138 SettingsManager]: * Bitprecise bitfields=true [2023-08-30 01:59:39,507 INFO L138 SettingsManager]: * SV-COMP memtrack compatibility mode=true [2023-08-30 01:59:39,507 INFO L138 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2023-08-30 01:59:39,507 INFO L138 SettingsManager]: * Adapt memory model on pointer casts if necessary=true [2023-08-30 01:59:39,507 INFO L138 SettingsManager]: * Use bitvectors instead of ints=true [2023-08-30 01:59:39,508 INFO L138 SettingsManager]: * Memory model=HoenickeLindenmann_4ByteResolution [2023-08-30 01:59:39,508 INFO L138 SettingsManager]: * sizeof long double=12 [2023-08-30 01:59:39,508 INFO L138 SettingsManager]: * Use constant arrays=true [2023-08-30 01:59:39,508 INFO L136 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2023-08-30 01:59:39,508 INFO L138 SettingsManager]: * Size of a code block=SequenceOfStatements [2023-08-30 01:59:39,509 INFO L138 SettingsManager]: * SMT solver=External_DefaultMode [2023-08-30 01:59:39,509 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2023-08-30 01:59:39,509 INFO L136 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2023-08-30 01:59:39,509 INFO L138 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2023-08-30 01:59:39,509 INFO L138 SettingsManager]: * Trace refinement strategy=WOLF [2023-08-30 01:59:39,509 INFO L138 SettingsManager]: * Command for external solver=cvc4 --incremental --print-success --lang smt [2023-08-30 01:59:39,510 INFO L138 SettingsManager]: * Automaton type used in concurrency analysis=PETRI_NET [2023-08-30 01:59:39,510 INFO L138 SettingsManager]: * Order on configurations for Petri net unfoldings=DBO [2023-08-30 01:59:39,510 INFO L138 SettingsManager]: * SMT solver=External_ModelsAndUnsatCoreMode [2023-08-30 01:59:39,510 INFO L138 SettingsManager]: * Logic for external solver=AUFBV [2023-08-30 01:59:39,510 INFO L138 SettingsManager]: * Independence relation used for large block encoding in concurrent analysis=SYNTACTIC [2023-08-30 01:59:39,511 INFO L138 SettingsManager]: * Looper check in Petri net analysis=SEMANTIC WARNING: An illegal reflective access operation has occurred WARNING: Illegal reflective access by com.sun.xml.bind.v2.runtime.reflect.opt.Injector$1 (file:/storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/plugins/com.sun.xml.bind_2.2.0.v201505121915.jar) to method java.lang.ClassLoader.defineClass(java.lang.String,byte[],int,int) WARNING: Please consider reporting this to the maintainers of com.sun.xml.bind.v2.runtime.reflect.opt.Injector$1 WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations WARNING: All illegal access operations will be denied in a future release Applying setting for plugin de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator: Entry function -> main Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Witness directory -> /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Witness filename -> witness.graphml Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Write witness besides input file -> false Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Graph data specification -> CHECK( init(main()), LTL(G valid-free) ) CHECK( init(main()), LTL(G valid-deref) ) CHECK( init(main()), LTL(G valid-memtrack) ) Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Graph data producer -> Automizer Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Graph data architecture -> 32bit Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Graph data programhash -> 9466f27e00e9305501eee0377198b5d988616fcd0740d7b6b046dc1579fad0d0 Applying setting for plugin de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction: When to check the insufficient erros location relative to the other error locations -> DEFORE [2023-08-30 01:59:39,837 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2023-08-30 01:59:39,859 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2023-08-30 01:59:39,861 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2023-08-30 01:59:39,862 INFO L271 PluginConnector]: Initializing CDTParser... [2023-08-30 01:59:39,862 INFO L275 PluginConnector]: CDTParser initialized [2023-08-30 01:59:39,863 INFO L432 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/svcomp/goblint-regression/13-privatized_18-first-reads_unknown_2_neg.i [2023-08-30 01:59:40,945 INFO L500 CDTParser]: Created temporary CDT project at NULL [2023-08-30 01:59:41,259 INFO L351 CDTParser]: Found 1 translation units. [2023-08-30 01:59:41,260 INFO L172 CDTParser]: Scanning /storage/repos/ultimate/trunk/examples/svcomp/goblint-regression/13-privatized_18-first-reads_unknown_2_neg.i [2023-08-30 01:59:41,276 INFO L394 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/0adaba1ab/ee0e4cdd9c5d4bc9ab3fff6b467f4980/FLAG9194c8a82 [2023-08-30 01:59:41,293 INFO L402 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/0adaba1ab/ee0e4cdd9c5d4bc9ab3fff6b467f4980 [2023-08-30 01:59:41,296 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2023-08-30 01:59:41,297 INFO L131 ToolchainWalker]: Walking toolchain with 6 elements. [2023-08-30 01:59:41,298 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2023-08-30 01:59:41,298 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2023-08-30 01:59:41,301 INFO L275 PluginConnector]: CACSL2BoogieTranslator initialized [2023-08-30 01:59:41,302 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 30.08 01:59:41" (1/1) ... [2023-08-30 01:59:41,303 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@4699d1df and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 30.08 01:59:41, skipping insertion in model container [2023-08-30 01:59:41,303 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 30.08 01:59:41" (1/1) ... [2023-08-30 01:59:41,309 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2023-08-30 01:59:41,358 INFO L178 MainTranslator]: Built tables and reachable declarations [2023-08-30 01:59:41,474 WARN L247 ndardFunctionHandler]: Function reach_error is already implemented but we override the implementation for the call at /storage/repos/ultimate/trunk/examples/svcomp/goblint-regression/13-privatized_18-first-reads_unknown_2_neg.i[1097,1110] [2023-08-30 01:59:41,620 INFO L209 PostProcessor]: Analyzing one entry point: main [2023-08-30 01:59:41,652 INFO L203 MainTranslator]: Completed pre-run [2023-08-30 01:59:41,686 WARN L247 ndardFunctionHandler]: Function reach_error is already implemented but we override the implementation for the call at /storage/repos/ultimate/trunk/examples/svcomp/goblint-regression/13-privatized_18-first-reads_unknown_2_neg.i[1097,1110] [2023-08-30 01:59:41,723 INFO L209 PostProcessor]: Analyzing one entry point: main [2023-08-30 01:59:41,764 INFO L208 MainTranslator]: Completed translation [2023-08-30 01:59:41,764 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 30.08 01:59:41 WrapperNode [2023-08-30 01:59:41,764 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2023-08-30 01:59:41,766 INFO L113 PluginConnector]: ------------------------Boogie Procedure Inliner---------------------------- [2023-08-30 01:59:41,766 INFO L271 PluginConnector]: Initializing Boogie Procedure Inliner... [2023-08-30 01:59:41,766 INFO L275 PluginConnector]: Boogie Procedure Inliner initialized [2023-08-30 01:59:41,770 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 30.08 01:59:41" (1/1) ... [2023-08-30 01:59:41,785 INFO L185 PluginConnector]: Executing the observer Inliner from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 30.08 01:59:41" (1/1) ... [2023-08-30 01:59:41,803 INFO L138 Inliner]: procedures = 167, calls = 21, calls flagged for inlining = 3, calls inlined = 3, statements flattened = 56 [2023-08-30 01:59:41,804 INFO L132 PluginConnector]: ------------------------ END Boogie Procedure Inliner---------------------------- [2023-08-30 01:59:41,804 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2023-08-30 01:59:41,804 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2023-08-30 01:59:41,805 INFO L275 PluginConnector]: Boogie Preprocessor initialized [2023-08-30 01:59:41,812 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 30.08 01:59:41" (1/1) ... [2023-08-30 01:59:41,812 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 30.08 01:59:41" (1/1) ... [2023-08-30 01:59:41,824 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 30.08 01:59:41" (1/1) ... [2023-08-30 01:59:41,825 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 30.08 01:59:41" (1/1) ... [2023-08-30 01:59:41,830 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 30.08 01:59:41" (1/1) ... [2023-08-30 01:59:41,832 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 30.08 01:59:41" (1/1) ... [2023-08-30 01:59:41,833 INFO L185 PluginConnector]: Executing the observer LTLStepAnnotator from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 30.08 01:59:41" (1/1) ... [2023-08-30 01:59:41,834 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 30.08 01:59:41" (1/1) ... [2023-08-30 01:59:41,843 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2023-08-30 01:59:41,844 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2023-08-30 01:59:41,844 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2023-08-30 01:59:41,844 INFO L275 PluginConnector]: RCFGBuilder initialized [2023-08-30 01:59:41,844 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 30.08 01:59:41" (1/1) ... [2023-08-30 01:59:41,848 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2023-08-30 01:59:41,860 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2023-08-30 01:59:41,874 INFO L229 MonitoredProcess]: Starting monitored process 1 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 (exit command is (exit), workingDir is null) [2023-08-30 01:59:41,876 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 (1)] Waiting until timeout for monitored process [2023-08-30 01:59:41,904 INFO L130 BoogieDeclarations]: Found specification of procedure read~intINTTYPE4 [2023-08-30 01:59:41,904 INFO L130 BoogieDeclarations]: Found specification of procedure #PthreadsMutexLock [2023-08-30 01:59:41,904 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocInit [2023-08-30 01:59:41,905 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocOnStack [2023-08-30 01:59:41,905 INFO L130 BoogieDeclarations]: Found specification of procedure t_fun [2023-08-30 01:59:41,905 INFO L138 BoogieDeclarations]: Found implementation of procedure t_fun [2023-08-30 01:59:41,905 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2023-08-30 01:59:41,905 INFO L130 BoogieDeclarations]: Found specification of procedure write~intINTTYPE4 [2023-08-30 01:59:41,905 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~intINTTYPE1 [2023-08-30 01:59:41,905 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~intINTTYPE4 [2023-08-30 01:59:41,906 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2023-08-30 01:59:41,906 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2023-08-30 01:59:41,907 WARN L210 CfgBuilder]: User set CodeBlockSize to SequenceOfStatements but program contains fork statements. Overwriting the user preferences and setting CodeBlockSize to OneNontrivialStatement [2023-08-30 01:59:42,020 INFO L236 CfgBuilder]: Building ICFG [2023-08-30 01:59:42,022 INFO L262 CfgBuilder]: Building CFG for each procedure with an implementation [2023-08-30 01:59:42,242 INFO L277 CfgBuilder]: Performing block encoding [2023-08-30 01:59:42,253 INFO L297 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2023-08-30 01:59:42,253 INFO L302 CfgBuilder]: Removed 0 assume(true) statements. [2023-08-30 01:59:42,254 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 30.08 01:59:42 BoogieIcfgContainer [2023-08-30 01:59:42,255 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2023-08-30 01:59:42,256 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2023-08-30 01:59:42,257 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2023-08-30 01:59:42,259 INFO L275 PluginConnector]: TraceAbstraction initialized [2023-08-30 01:59:42,259 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 30.08 01:59:41" (1/3) ... [2023-08-30 01:59:42,260 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@1d777390 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 30.08 01:59:42, skipping insertion in model container [2023-08-30 01:59:42,260 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 30.08 01:59:41" (2/3) ... [2023-08-30 01:59:42,260 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@1d777390 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 30.08 01:59:42, skipping insertion in model container [2023-08-30 01:59:42,261 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 30.08 01:59:42" (3/3) ... [2023-08-30 01:59:42,262 INFO L112 eAbstractionObserver]: Analyzing ICFG 13-privatized_18-first-reads_unknown_2_neg.i [2023-08-30 01:59:42,280 INFO L203 ceAbstractionStarter]: Automizer settings: Hoare:false NWA Interpolation:FPandBP Determinization: PREDICATE_ABSTRACTION [2023-08-30 01:59:42,281 INFO L162 ceAbstractionStarter]: Applying trace abstraction to program that has 6 error locations. [2023-08-30 01:59:42,281 INFO L515 ceAbstractionStarter]: Constructing petrified ICFG for 1 thread instances. [2023-08-30 01:59:42,379 INFO L144 ThreadInstanceAdder]: Constructed 1 joinOtherThreadTransitions. [2023-08-30 01:59:42,392 FATAL L? ?]: The Plugin de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction has thrown an exception: java.lang.IllegalArgumentException: No enum constant de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.preferences.TraceAbstractionPreferenceInitializer.InsufficientError.DEFORE at java.base/java.lang.Enum.valueOf(Enum.java:240) at de.uni_freiburg.informatik.ultimate.core.preferences.RcpPreferenceProvider.getEnum(RcpPreferenceProvider.java:117) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.preferences.TAPreferences.insufficientThreadErrorsVsProgramErrors(TAPreferences.java:218) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionStarter.partitionErrorLocations(TraceAbstractionStarter.java:394) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionStarter.analyseProgram(TraceAbstractionStarter.java:280) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionStarter.analyseConcurrentProgram(TraceAbstractionStarter.java:225) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionStarter.runCegarLoops(TraceAbstractionStarter.java:173) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionStarter.(TraceAbstractionStarter.java:154) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver.finish(TraceAbstractionObserver.java:124) at de.uni_freiburg.informatik.ultimate.core.coreplugin.PluginConnector.runObserver(PluginConnector.java:168) at de.uni_freiburg.informatik.ultimate.core.coreplugin.PluginConnector.runTool(PluginConnector.java:151) at de.uni_freiburg.informatik.ultimate.core.coreplugin.PluginConnector.run(PluginConnector.java:128) at de.uni_freiburg.informatik.ultimate.core.coreplugin.ToolchainWalker.executePluginConnector(ToolchainWalker.java:232) at de.uni_freiburg.informatik.ultimate.core.coreplugin.ToolchainWalker.processPlugin(ToolchainWalker.java:226) at de.uni_freiburg.informatik.ultimate.core.coreplugin.ToolchainWalker.walkUnprotected(ToolchainWalker.java:142) at de.uni_freiburg.informatik.ultimate.core.coreplugin.ToolchainWalker.walk(ToolchainWalker.java:104) at de.uni_freiburg.informatik.ultimate.core.coreplugin.ToolchainManager$Toolchain.processToolchain(ToolchainManager.java:320) at de.uni_freiburg.informatik.ultimate.core.coreplugin.toolchain.DefaultToolchainJob.run(DefaultToolchainJob.java:145) at org.eclipse.core.internal.jobs.Worker.run(Worker.java:63) [2023-08-30 01:59:42,397 INFO L158 Benchmark]: Toolchain (without parser) took 1099.45ms. Allocated memory was 67.1MB in the beginning and 81.8MB in the end (delta: 14.7MB). Free memory was 44.5MB in the beginning and 44.8MB in the end (delta: -313.4kB). Peak memory consumption was 15.2MB. Max. memory is 16.1GB. [2023-08-30 01:59:42,398 INFO L158 Benchmark]: CDTParser took 0.09ms. Allocated memory is still 50.3MB. Free memory was 28.9MB in the beginning and 28.9MB in the end (delta: 33.6kB). There was no memory consumed. Max. memory is 16.1GB. [2023-08-30 01:59:42,399 INFO L158 Benchmark]: CACSL2BoogieTranslator took 466.45ms. Allocated memory is still 67.1MB. Free memory was 44.3MB in the beginning and 39.7MB in the end (delta: 4.7MB). Peak memory consumption was 14.7MB. Max. memory is 16.1GB. [2023-08-30 01:59:42,400 INFO L158 Benchmark]: Boogie Procedure Inliner took 38.15ms. Allocated memory is still 67.1MB. Free memory was 39.5MB in the beginning and 37.4MB in the end (delta: 2.1MB). Peak memory consumption was 2.1MB. Max. memory is 16.1GB. [2023-08-30 01:59:42,401 INFO L158 Benchmark]: Boogie Preprocessor took 38.62ms. Allocated memory is still 67.1MB. Free memory was 37.4MB in the beginning and 36.1MB in the end (delta: 1.4MB). Peak memory consumption was 2.1MB. Max. memory is 16.1GB. [2023-08-30 01:59:42,402 INFO L158 Benchmark]: RCFGBuilder took 411.17ms. Allocated memory was 67.1MB in the beginning and 81.8MB in the end (delta: 14.7MB). Free memory was 35.9MB in the beginning and 52.5MB in the end (delta: -16.6MB). Peak memory consumption was 9.4MB. Max. memory is 16.1GB. [2023-08-30 01:59:42,402 INFO L158 Benchmark]: TraceAbstraction took 139.45ms. Allocated memory is still 81.8MB. Free memory was 51.8MB in the beginning and 44.8MB in the end (delta: 7.0MB). Peak memory consumption was 6.3MB. Max. memory is 16.1GB. [2023-08-30 01:59:42,409 INFO L339 ainManager$Toolchain]: ####################### End [Toolchain 1] ####################### --- Results --- * Results from de.uni_freiburg.informatik.ultimate.core: - StatisticsResult: Toolchain Benchmarks Benchmark results are: * CDTParser took 0.09ms. Allocated memory is still 50.3MB. Free memory was 28.9MB in the beginning and 28.9MB in the end (delta: 33.6kB). There was no memory consumed. Max. memory is 16.1GB. * CACSL2BoogieTranslator took 466.45ms. Allocated memory is still 67.1MB. Free memory was 44.3MB in the beginning and 39.7MB in the end (delta: 4.7MB). Peak memory consumption was 14.7MB. Max. memory is 16.1GB. * Boogie Procedure Inliner took 38.15ms. Allocated memory is still 67.1MB. Free memory was 39.5MB in the beginning and 37.4MB in the end (delta: 2.1MB). Peak memory consumption was 2.1MB. Max. memory is 16.1GB. * Boogie Preprocessor took 38.62ms. Allocated memory is still 67.1MB. Free memory was 37.4MB in the beginning and 36.1MB in the end (delta: 1.4MB). Peak memory consumption was 2.1MB. Max. memory is 16.1GB. * RCFGBuilder took 411.17ms. Allocated memory was 67.1MB in the beginning and 81.8MB in the end (delta: 14.7MB). Free memory was 35.9MB in the beginning and 52.5MB in the end (delta: -16.6MB). Peak memory consumption was 9.4MB. Max. memory is 16.1GB. * TraceAbstraction took 139.45ms. Allocated memory is still 81.8MB. Free memory was 51.8MB in the beginning and 44.8MB in the end (delta: 7.0MB). Peak memory consumption was 6.3MB. Max. memory is 16.1GB. * Results from de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction: - ExceptionOrErrorResult: IllegalArgumentException: No enum constant de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.preferences.TraceAbstractionPreferenceInitializer.InsufficientError.DEFORE de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction: IllegalArgumentException: No enum constant de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.preferences.TraceAbstractionPreferenceInitializer.InsufficientError.DEFORE: java.base/java.lang.Enum.valueOf(Enum.java:240) RESULT: Ultimate could not prove your program: Toolchain returned no result. [2023-08-30 01:59:42,435 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 (1)] Forceful destruction successful, exit code 0 Received shutdown request... --- End real Ultimate output --- Execution finished normally Writing output log to file Ultimate.log Result: ERROR: ExceptionOrErrorResult: IllegalArgumentException: No enum constant de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.preferences.TraceAbstractionPreferenceInitializer.InsufficientError.DEFORE